c# - 如何更改剃须刀页面中的对象类型
问题描述
我有一个带有以下代码的 cshtml 文件
@if (Session.CurrentUser == null)
{
<li>@Html.ActionLink("Register", "Register", "Account")</li>
<li>@Html.ActionLink("Login", "Login", "Account")</li>
}
Session 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();
}
}
所以 session 是 SessionWrapper 类型,它有一个 CurrentUser 属性。在我的 cshtml 文件中,Session 是类型 HttpSessionStateBase 我如何更改类型?我试过 SessionWraper.CurrentUser
解决方案
尝试更改变量名称:
protected SessionWrapper sessionWrapper;
public BaseController()
{
Services = new Services();
sessionWrapper = new SessionWrapper.Instance;
}
在剃须刀页面中也是如此:
@if (sessionWrapper.CurrentUser == null)
您在这里遇到的问题是Session被保留