Asp.net mvc 将数据从控制器超类传递到视图?
我正在编写一个Asp.NETMVC应用程序(我的第一个MVC应用程序)。我需要将数据传递到_Layout视图,以自定义页面上的页眉和页脚-哪个用户已登录,如果他们有任何通知等。_Layout页面始终需要此信息,但子页面不需要 如何将此数据传递给视图?我是否可以创建视图可以访问的Asp.net mvc 将数据从控制器超类传递到视图?,asp.net-mvc,Asp.net Mvc,我正在编写一个Asp.NETMVC应用程序(我的第一个MVC应用程序)。我需要将数据传递到_Layout视图,以自定义页面上的页眉和页脚-哪个用户已登录,如果他们有任何通知等。_Layout页面始终需要此信息,但子页面不需要 如何将此数据传递给视图?我是否可以创建视图可以访问的LoggedInUser属性,方法与Model和ViewBag相同LoggedInUser可以由基本控制器类填充 还是有更好的方法来实现此功能?检测身份验证: User.Identity.IsAuthenticated
LoggedInUser
属性,方法与Model
和ViewBag
相同LoggedInUser
可以由基本控制器类填充
还是有更好的方法来实现此功能?检测身份验证:
User.Identity.IsAuthenticated
然后,您可以使用sections或/和
@Html.RenderAction
()如果您使用的是MembershipProvider和/或RoleProvider,您可以按照webdeveloper指出的方法获取当前用户的身份user.identity.Name
,如果您想要显示其名称的话
您也可以键入您的\u布局来使用特定的模型,但我不推荐这样做。有关更多详细信息,请参阅此
最后,您可以在控制器上填充ViewBag属性,以获得所需的用户信息
我想指出的是,您可以使用局部视图来实现这一点,并避免在每次请求时键入和填充视图包。谢谢,我最初决定从一个视图模型继承所有视图并键入_布局,但我将改为使用局部视图。