我有一个包含以下代码的cshtml文件
@if (Session.CurrentUser == null)
{
<li>@Html.ActionLink("Register", "Register", "Account")</li>
<li>@Html.ActionLink("Login", "Login", "Account")</li>
}
会话obj来自我制作的此类
public class BaseController : Controller
{
protected Services Services { get; private set; }
protected new SessionWrapper Session { get { return SessionWrapper.Instance; } }
protected ConfigWrapper Config { get { return ConfigWrapper.Instance; } }
public BaseController()
{
Services = new Services();
}
}
因此,会话为SessionWrapper类型,并且其中具有CurrentUser属性。 在我的cshtml文件中,会话类型为HttpSessionStateBase 如何更改类型? 我已经尝试使用SessionWraper.CurrentUser
答案 0 :(得分:1)
尝试更改变量名称:
protected SessionWrapper sessionWrapper;
public BaseController()
{
Services = new Services();
sessionWrapper = new SessionWrapper.Instance;
}
与剃须刀页面中的相同:
@if (sessionWrapper.CurrentUser == null)
您遇到的问题是Session已保留