Usando Page.User.Identity.Name no MVC3
-
26-09-2019 - |
Pergunta
Em mvc2 eu usei Page.User.Identity.Name
usando o <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
Como posso usar o mesmo no MVC3?
Solução
Você sempre pode fazer algo como:
@Html.ViewContext.HttpContext.User.Identity.Name
Mas não.
Normalmente, uma visão não deve tentar buscar essas informações. Está lá para exibir qualquer informação passada pelo controlador. Deve ser fortemente digitado para uma classe modelo que é passada por uma ação do controlador.
Então, na ação do controlador, renderizando esta visão:
[Authorize]
public ActionResult Index()
{
var model = new MyViewModel
{
Username = User.Identity.Name
}
return View(model);
}
Agora, dentro da vista, fique à vontade para usar essas informações:
@Model.Username
Outras dicas
MVC 2
<%: this.Page.User.Identity.Name %>
MVC 3
@this.User.Identity.Name
Eu tive o mesmo problema. eu usei este tutorial Para resolver este problema.
Em suma, na sua opinião, coloque este código:
@Context.User.Identity.Name
Apenas certifique -se de que o projeto esteja definido como autenticado com o Windows.