Utilizzando Page.User.Identity.Name in MVC3
-
26-09-2019 - |
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?
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.