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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top