我希望在ASP.NET MVC的Layout.cshtml页面中从数据库中获取数据后,在导航栏中加载数据。但我面临一个问题,如何在布局页面中获取数据,因为没有与Web窗体中的Code Behind文件不同的Controller。 有人请帮助我: - 如何在数据模型中存储数据 - 如何将其传递给布局页面 提前谢谢。
答案 0 :(得分:6)
使用儿童行动:
public class FooController : Controller
{
...
[ChildActionOnly]
public ActionResult NavBar()
{
var navbar = // query your database;
return PartialView("_NavBar", navbar);
}
}
然后创建部分视图Views\Shared\_NavBar.cshtml
并将HTML放在那里。您的模型将是您在子操作中从数据库中查询的内容。
最后在你的布局中:
@Html.Action("NavBar", "Foo")