Использование параметра Page.User.Identity.Name в MVC3
В MVC2 я использовал Page.User.Identity.Name с помощью <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
Как я могу использовать то же самое в MVC3?
Ответ 1
Вы всегда можете сделать что-то вроде:
@Html.ViewContext.HttpContext.User.Identity.Name
но не.
Обычно представление не должно пытаться извлечь такую информацию. Он должен отображать любую информацию, передаваемую контроллером. Он должен быть строго типизирован для класса модели, который передается действием контроллера.
Итак, в действии контроллера, отображающем это представление:
[Authorize]
public ActionResult Index()
{
var model = new MyViewModel
{
Username = User.Identity.Name
}
return View(model);
}
Теперь в представлении не стесняйтесь использовать эту информацию:
@Model.Username
Ответ 2
MVC 2
<%: this.Page.User.Identity.Name %>
MVC 3
@this.User.Identity.Name
Ответ 3
У меня была та же проблема. Я использовал этот учебник, чтобы решить эту проблему.
Короче говоря, на ваш взгляд, поставьте этот код:
@Context.User.Identity.Name
Просто убедитесь, что проект настроен на проверку подлинности с помощью окон.