我想在布局和/或部分视图中显示有关登录用户的信息(用户名,公司名称,通知数等)。这些在每个页面都很常见。是否有将这些数据传递给他们的技巧,或者是扩展每个模型以将这些信息包含在其中的情况?
答案 0 :(得分:22)
我建议您可以进行子操作并从布局中调用它。通过这种方式,您可以避免在所有视图模型中执行信息。
实施例
儿童行动
public class UserController
{
[ChildActionOnly]
public PartialViewResult UserInfo()
{
var userInfo = .. get the user information from session or db
return PartialView(userInfo);
}
}
部分视图
@model UserInfoModel
@Html.DisplayFor(m => m.UserName)
@Html.DisplayFor(m => m.CompanyName)
...
布局视图
<header>
@Html.Action("UserInfo", "User")
</header>
答案 1 :(得分:0)
您仍然可以在MVC中创建适合您需求的母版页面。 查看此链接以了解如何在MVC中创建部分视图