Ниже приведен пользовательский элемент управления LogOn из стандартного проекта ASP.NET MVC по умолчанию, созданного Visual Studio ( LogOnUserControl.ascx ):
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%
if (Request.IsAuthenticated) {
%>
Welcome <b><%: Page.User.Identity.Name %></b>!
[ <%: Html.ActionLink("Log Off", "LogOff", "Account") %> ]
<%
}
else {
%>
[ <%: Html.ActionLink("Log On", "LogOn", "Account")%> ]
<%
}
%>
который вставляется в главную страницу:
<div id="logindisplay">
<% Html.RenderPartial("LogOnUserControl"); %>
</div>
Код <%: Page.User.Identity.Name %>
отображает имя пользователя пользователя, который в данный момент вошел в систему.
Каквместо этого отобразить FirstName
пользователя, который сохраняется в профиле?
Мы можем прочитать его в контроллере следующим образом:
ViewData["FirstName"] = AccountProfile.CurrentUser.FirstName;
Если мы, например,попробуйте сделать это следующим образом:
<%: ViewData["FirstName"] %>
Отображается только на той странице, которая была вызвана контроллером, которому было присвоено значение ViewData["FirstName"]
.