Domanda

In MVC2 ho Page.User.Identity.Name usato con il <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>

Come posso utilizzare lo stesso in MVC3?

È stato utile?

Soluzione

Si può sempre fare qualcosa di simile:

@Html.ViewContext.HttpContext.User.Identity.Name

, ma non lo fanno.

Normalmente un punto di vista non dovrebbe cercare di recuperare tali informazioni. E 'lì alla visualizzazione qualsiasi informazione viene passata dal controller. Dovrebbe essere fortemente tipizzato ad una classe di modello che è passato da un'azione del controller.

Così, alla azione di controllo rendendo questo punto di vista:

[Authorize]
public ActionResult Index()
{
    var model = new MyViewModel
    {
        Username = User.Identity.Name
    }
    return View(model);
}

Ora all'interno della vista si sentono liberi di utilizzare queste informazioni:

@Model.Username

Altri suggerimenti

MVC 2

<%: this.Page.User.Identity.Name %>

MVC 3

@this.User.Identity.Name

Ho avuto lo stesso problema. Ho usato questo tutorial per risolvere questo problema.

In breve, secondo lei, inserire questo codice:

@Context.User.Identity.Name

Basta fare in modo che il progetto è impostato per l'autenticazione con le finestre.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top