如何更改剃须刀页面中的对象类型

时间:2019-06-03 08:01:26

标签: c# model-view-controller

我有一个包含以下代码的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

1 个答案:

答案 0 :(得分:1)

尝试更改变量名称:

protected SessionWrapper sessionWrapper;

public BaseController()
        {
            Services = new Services();
            sessionWrapper = new SessionWrapper.Instance;
        }

与剃须刀页面中的相同:

@if (sessionWrapper.CurrentUser == null)

您遇到的问题是Session已保留