在 ASP.NET MVC 的 Layout.cshtml 页面中从 DB 获取数据后,我想在导航栏中加载数据。但是我面临一个问题,即如何在布局页面中获取数据,因为没有与 Web 表单中的代码隐藏文件不同的 Controller 。 任何人请帮助我: - 如何在数据模型中存储数据 - 如何将其传递到布局页面 提前致谢。

请您参考如下方法:

使用子 Action :

public class FooController : Controller 
{ 
    ... 
 
    [ChildActionOnly] 
    public ActionResult NavBar() 
    { 
        var navbar = // query your database; 
        return PartialView("_NavBar", navbar); 
    } 
} 

然后创建局部 View Views\Shared\_NavBar.cshtml 并将其 HTML 放在那里。您的模型将是您在子操作中从数据库中查询的内容。

终于在你的布局中:

@Html.Action("NavBar", "Foo") 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!