5

我想在布局和/或部分视图中显示有关登录用户的信息(用户名、公司名称、通知数量等)。这些将在每个页面上都很常见。是否有将这些数据提供给他们的技巧,或者是否可以扩展每个模型以在其中包含这些信息?

4

2 回答 2

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>
于 2012-07-18T14:51:27.043 回答
0

您仍然可以在 MVC 中创建符合您要求的母版页。查看此链接以了解如何在 MVC 中创建局部视图

部分观点

于 2012-07-18T10:18:07.457 回答