我想根据用户在两个角色中切换布局,例如一个是管理员,也是一个服务用户,当用户登录时我在我的页面上有下拉列表,在用户登录时我有用户登录时选择“切换到用户模式”当用户以服务用户身份登录时,作为管理员和“切换到管理模式”,
答案 0 :(得分:0)
由于我还不能发表评论,请参阅我最近的回答。非常相似的情况。
答案 1 :(得分:0)
如果您需要能够单击按钮切换布局,则有两个选项:
使按钮成为当前页面的链接,并向查询字符串添加内容,例如?mode=user
。然后,您可以在视图中切换布局(或_ViewStart.cshtml
),如:
Layout = "~/Views/Shared/_Layout.cshtml";
if (Request["mode"] == "user")
{
Layout = "~/Views/Shared/_UserLayout.cshtml";
}
让按钮转到URL或将表单发布到由操作提供的URL,然后该操作将设置会话变量。然后,您可以根据会话变量在视图中分支布局,类似于上面的代码。
选项2更持久。使用选项1,您必须将链接传递给链接的查询字符串参数,否则布局将切换回来。但是,如果您只希望开关影响当前视图,那么这可能是您想要的。通过设置会话变量,布局选择将一直持续到会话到期或您将其更改为其他内容。
答案 2 :(得分:0)
我猜您对每个角色都有不同的操作和视图,因此我建议您将它们分成不同的区域。 通过这种方式,您可以实现一些目标:
所以现在你可以有一些全局布局,用户可以在其中选择她的模式。而你所要做的就是将她重定向到正确的区域控制器!