System.Web.UI.Page не позволит мне получить доступ к CurrentUser или User.Identity из контроллера в ASP.Net-MVC

Когда я пытаюсь

user = System.Web.UI.Page.CurrentUser

или

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

Я получаю сообщение о том, что метод не определен для System.Web.UI.Page

Я пытаюсь получить к нему доступ в контроллере, неважно?

Я проверил, что у меня нет другого класса с именем "Страница". Почему бы ему сказать, что метод не определен?

Ответ 1

Есть много способов сделать это (в основном, они все одинаковы)

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

Page.User свойство работает, когда есть обработчик HTTP Page, обрабатывающий текущий запрос. Как и в контроллере MVC, запрос не передан классу Page, он не будет работать.

в контроллере.

Ответ 3

CurrentUser, похоже, не является свойством в System.Web.UI.Page. (http://msdn.microsoft.com/en-us/library/system.web.ui.page.aspx)

Ваш контроллер должен выставить свойство с именем User, работает ли это? Например:

var user = User;