【发布时间】: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的类,为什么会说方法未定义?
【问题讨论】:
当我尝试时
user = System.Web.UI.Page.CurrentUser
或
user = System.Web.UI.Page.User.Identity
我收到一条错误消息,指出没有为 System.Web.UI.Page 定义该方法
我试图在 Controller 中访问它,这有关系吗?
我检查了我没有另一个名为Page的类,为什么会说方法未定义?
【问题讨论】:
有很多方法可以做到(基本上都是一样的)
User.Identity // in the controller
HttpContext.User.Identity // in the controller
System.Web.HttpContext.Current.User.Identity // anywhere
Page.User 属性在有处理当前请求的Page HTTP 处理程序时起作用。就像在 MVC 控制器中一样,请求还没有交给 Page 类,它不会工作。
在控制器中。
【讨论】:
编辑:看来是别人抢了我。
在这里找到了答案:ASP.NET Controller Base Class User.Identity.NameHttpContext.User 似乎工作正常...有人发现有什么问题吗?
【讨论】:
CurrentUser 似乎不是 System.Web.UI.Page 上的属性。 (http://msdn.microsoft.com/en-us/library/system.web.ui.page.aspx)
您的控制器应该公开一个名为 User 的属性,这行得通吗?例如:
var user = User;
【讨论】: