System.Web.UI.Page不允许我从ASP.Net-MVC中的Controller访问CurrentUser或User.Identity

时间:2009-06-25 18:52:37

标签: asp.net-mvc controller

当我尝试

user = System.Web.UI.Page.CurrentUser

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

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

定义该方法

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

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

3 个答案:

答案 0 :(得分:7)

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

User.Identity // in the controller
HttpContext.User.Identity // in the controller
System.Web.HttpContext.Current.User.Identity // anywhere
当有Page.User HTTP处理程序正在处理当前请求时,

Page属性有效。与在MVC控制器中一样,请求尚未传递给Page类,但它不起作用。

在控制器中。

答案 1 :(得分:0)

编辑:看起来有人打败了我。

在这里找到答案:ASP.NET Controller Base Class User.Identity.Name
HttpContext.User似乎工作得很好......任何人都认为有什么问题吗?

答案 2 :(得分:0)

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

您的控制器应该公开名为User的属性,这有用吗?例如:

var user = User;