2012-07-18 58 views
5

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

回答

22

我建议你可以去为孩子的行动,并从布局调用它,通过这种方式,您可以避免进行信息在所有视图模型中。

Ex。

儿童行动

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> 
+0

大 - 正是我所期待的。感谢您的回答。 – 2012-07-19 09:38:03

0

您仍然可以在MVC中创建主页面,该页面看起来适合您的需求。 看看这个链接,了解如何在MVC

PARTIAL VIEWS

创建局部视图