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
, он не будет работать.
в контроллере.
Ответ 2
Изменить: Похоже, кто-то избил меня.
Нашел ответ здесь: Базовый класс контроллера ASP.NET 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;