W MVC2 Użyłem Page.User.Identity.Name
pomocą Korzystanie Page.User.Identity.Name w MVC3
Jak mogę użyć tego samego w MVC3 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
W MVC2 Użyłem Page.User.Identity.Name
pomocą Korzystanie Page.User.Identity.Name w MVC3
Jak mogę użyć tego samego w MVC3 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
Zawsze można zrobić coś takiego:
@Html.ViewContext.HttpContext.User.Identity.Name
ale nie.
Zwykle widok nie powinien próbować pobierać takich informacji. Jest tam, aby wyświetlić wszelkie informacje przekazywane przez kontroler. Powinien być silnie wpisany do klasy modelu, która jest przekazywana przez działanie kontrolera.
Więc w akcji kontrolera renderowania ten pogląd:
[Authorize]
public ActionResult Index()
{
var model = new MyViewModel
{
Username = User.Identity.Name
}
return View(model);
}
Teraz wewnątrz widoku zachęcamy do korzystania z tych informacji:
@Model.Username
MVC 2
<%: this.Page.User.Identity.Name %>
MVC 3
@this.User.Identity.Name
Miałem ten sam problem. Użyłem this tutorial, aby rozwiązać ten problem.
W skrócie, Państwa zdaniem, umieścić ten kod:
@Context.User.Identity.Name
Wystarczy upewnić się, że projekt jest ustawiony na uwierzytelnianie z okien.
Nie zrozumiałem, używam FormsAuthentication.RedirectFromLoginPage (user.Name, model.RememberMe); iw innym widoku próbuję załadować nazwę użytkownika za pomocą _LogOnPartial.cshtml przy użyciu @if (Request.IsAuthenticated) { Witamy @ Page.User.Identity.Name! [@ Html.ActionLink ("Wyloguj", "LogOff", "Konto")] } jeszcze { @: [@ Html.ActionLink ("Logowanie", "LogOn", "Konto")] } –
learning
Co to jest użycie _LogOnPartial.cshtml w takim przypadku? i po prostu nie mogę tego zrobić dla wszystkich poglądów? – learning
@ user281180, nie powinieneś używać 'FormsAuthentication.RedirectFromLoginPage' w aplikacji ASP.NET MVC. Poprawnym sposobem wykonania przekierowania jest 'return RedirectToAction (" LoggedIn "," SomeController ")' po ustawieniu pliku cookie uwierzytelniania na odpowiedź (przy użyciu [FormsAuthentication.SetAuthCookie] (http://msdn.microsoft.com/en -us/library/system.web.security.formsauthentication.setauthcookie.aspx)). Następnie wewnątrz akcji LoggedIn wystarczy pobrać nazwę użytkownika i przekazać ją do modelu widoku. Więc użyj '@ Model.Username' zamiast' @ Page.User.Identity.Name'. –