使用MVC将数据导入局部视图或布局

时间:2012-07-18 09:33:39

标签: asp.net-mvc

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

2 个答案:

答案 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中创建部分视图

PARTIAL VIEWS