从ASP.NET MVC的Layout页面中的DB获取数据

时间:2015-11-12 13:02:24

标签: asp.net-mvc-4

我希望在ASP.NET MVC的Layout.cshtml页面中从数据库中获取数据后,在导航栏中加载数据。但我面临一个问题,如何在布局页面中获取数据,因为没有与Web窗体中的Code Behind文件不同的Controller。 有人请帮助我:   - 如何在数据模型中存储数据   - 如何将其传递给布局页面 提前谢谢。

1 个答案:

答案 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")