C# 当用户担任两个角色(例如管理员和服务用户)时,如何切换布局
我想根据两个角色中的用户切换布局,一个是管理员,另一个是服务用户,当用户登录时,我在我的页面上有下拉菜单,在下拉菜单中,当用户以管理员身份登录时,我有选项“切换到用户模式”,当用户以服务用户身份登录时,我有选项“切换到管理员模式”,如果需要单击按钮切换布局,则有两个选项:C# 当用户担任两个角色(例如管理员和服务用户)时,如何切换布局,c#,asp.net-mvc,asp.net-mvc-5,C#,Asp.net Mvc,Asp.net Mvc 5,我想根据两个角色中的用户切换布局,一个是管理员,另一个是服务用户,当用户登录时,我在我的页面上有下拉菜单,在下拉菜单中,当用户以管理员身份登录时,我有选项“切换到用户模式”,当用户以服务用户身份登录时,我有选项“切换到管理员模式”,如果需要单击按钮切换布局,则有两个选项: 将该按钮作为指向当前页面的链接,并向查询字符串添加内容,例如?mode=user。然后,您可以在视图中切换布局(或\u ViewStart.cshtml),如下所示: 让按钮转到URL或将表单发布到由操作提供的URL,然后该
?mode=user
。然后,您可以在视图中切换布局(或\u ViewStart.cshtml
),如下所示:
选项2更持久。使用选项1,您必须将查询字符串param传递给link-to-link,否则布局将切换回原来的位置。但是,如果您只希望开关影响当前视图,那么这可能是您想要的。通过设置会话变量,布局选项将一直保留,直到会话过期或您将其更改为其他内容。我猜每个角色都有不同的操作和视图,因此我建议您也将它们划分为多个区域。 通过这种方式,您可以实现几件事:
所以现在你可以有一些全局布局,用户可以在其中选择她的模式。你所要做的就是将她重定向到正确的区域控制器 您可以使用_ViewStart.cshtml文件在该文件中添加您的条件,并相应地设置布局页面。否!我想如果在我的下拉菜单中点击“切换到用户模式”选项,我必须切换到用户模式,因为我是管理员和用户
Layout = "~/Views/Shared/_Layout.cshtml";
if (Request["mode"] == "user")
{
Layout = "~/Views/Shared/_UserLayout.cshtml";
}