在ASP MVC中,有一种方法可以从共享视图(例如_Layout.cshml)访问会话状态

时间:2015-09-16 20:40:11

标签: asp.net asp.net-mvc

我试图这样做,以便从_Layout视图显示在导航栏上的链接会改变你是否登录。这是使用我在控制器中初始化它使用的SessionStateRepository。

在布局页面上,我希望能够检查是否 state.GetLoginState().email = "anon"

如果登录按钮存在,我可以更改。我无法在所有页面上的共享视图中找到使用它的方法。

1 个答案:

答案 0 :(得分:0)

好吧,使用会话状态与MVC是一个宗教辩论的主题(出于好​​的理由),你一定要仔细阅读。

但是要回答你的问题,使用传统的会话课程,你可以做到这一点

@if (HttpContext.Current.Session["email"] == "anon")
{
    <span>Value1</span>
}
else
{
    <span>Value2</span>
}

您必须根据您的存储库

在类似的行上设计具体的实现