【问题标题】:System.Web.UI.Page won't let me access CurrentUser or User.Identity from a Controller in ASP.Net-MVCSystem.Web.UI.Page 不允许我从 ASP.Net-MVC 中的控制器访问 CurrentUser 或 User.Identity
【发布时间】:2015-04-21 07:57:56
【问题描述】:

当我尝试时

user = System.Web.UI.Page.CurrentUser

user = System.Web.UI.Page.User.Identity

我收到一条错误消息,指出没有为 System.Web.UI.Page 定义该方法

我试图在 Controller 中访问它,这有关系吗?

我检查了我没有另一个名为Page的类,为什么会说方法未定义?

【问题讨论】:

    标签: asp.net-mvc controller


    【解决方案1】:

    有很多方法可以做到(基本上都是一样的)

    User.Identity // in the controller
    HttpContext.User.Identity // in the controller
    System.Web.HttpContext.Current.User.Identity // anywhere
    

    Page.User 属性在有处理当前请求的Page HTTP 处理程序时起作用。就像在 MVC 控制器中一样,请求还没有交给 Page 类,它不会工作。

    在控制器中。

    【讨论】:

      【解决方案2】:

      编辑:看来是别人抢了我。

      在这里找到了答案:ASP.NET Controller Base Class User.Identity.Name
      HttpContext.User 似乎工作正常...有人发现有什么问题吗?

      【讨论】:

        【解决方案3】:

        CurrentUser 似乎不是 System.Web.UI.Page 上的属性。 (http://msdn.microsoft.com/en-us/library/system.web.ui.page.aspx)

        您的控制器应该公开一个名为 User 的属性,这行得通吗?例如:

        var user = User;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-24
          • 2019-07-09
          • 1970-01-01
          • 1970-01-01
          • 2015-05-13
          • 1970-01-01
          相关资源
          最近更新 更多