Asp.net mvc 将数据从控制器超类传递到视图?

Asp.net mvc 将数据从控制器超类传递到视图?,asp.net-mvc,Asp.net Mvc,我正在编写一个Asp.NETMVC应用程序(我的第一个MVC应用程序)。我需要将数据传递到_Layout视图,以自定义页面上的页眉和页脚-哪个用户已登录,如果他们有任何通知等。_Layout页面始终需要此信息,但子页面不需要 如何将此数据传递给视图?我是否可以创建视图可以访问的LoggedInUser属性,方法与Model和ViewBag相同LoggedInUser可以由基本控制器类填充 还是有更好的方法来实现此功能?检测身份验证: User.Identity.IsAuthenticated

我正在编写一个Asp.NETMVC应用程序(我的第一个MVC应用程序)。我需要将数据传递到_Layout视图,以自定义页面上的页眉和页脚-哪个用户已登录,如果他们有任何通知等。_Layout页面始终需要此信息,但子页面不需要

如何将此数据传递给视图?我是否可以创建视图可以访问的
LoggedInUser
属性,方法与
Model
ViewBag
相同
LoggedInUser
可以由基本控制器类填充


还是有更好的方法来实现此功能?

检测身份验证:

User.Identity.IsAuthenticated

然后,您可以使用sections或/和
@Html.RenderAction
()

如果您使用的是MembershipProvider和/或RoleProvider,您可以按照webdeveloper指出的方法获取当前用户的身份
user.identity.Name
,如果您想要显示其名称的话

您也可以键入您的
\u布局来使用特定的模型,但我不推荐这样做。有关更多详细信息,请参阅此

最后,您可以在控制器上填充ViewBag属性,以获得所需的用户信息


我想指出的是,您可以使用局部视图来实现这一点,并避免在每次请求时键入和填充视图包。

谢谢,我最初决定从一个视图模型继承所有视图并键入_布局,但我将改为使用局部视图。