gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 显示配置文件中的用户名

转载 作者:行者123 更新时间:2023-12-02 03:37:58 25 4
gpt4 key购买 nike

以下是 Visual Studio 创建的标准默认 ASP.NET MVC 项目中的 LogOn 用户控件 (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相反,哪个保存在配置文件中?

我们可以在 Controller 中读取它,如下所示:

ViewData["FirstName"] = AccountProfile.CurrentUser.FirstName;

例如,如果我们尝试这样做:

<%: ViewData["FirstName"] %>

它仅在 Controller 调用的页面上呈现,其中 ViewData["FirstName"]值已分配。

最佳答案

雷姆,

这是其中一种情况,拥有一个基本 Controller 可以解决您的“所有”问题(好吧,无论如何,有些问题)。在你的基本 Controller 中,你会有类似的东西:

public abstract partial class BaseController : Controller
{
// other stuff omitted
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
ViewData["FirstName"] = AccountProfile.CurrentUser.FirstName;
base.OnActionExecuted(filterContext);
}
}

并在所有 Controller 中使用它,例如:

public partial class MyController : BaseController
{
// usual stuff
}

或类似的。然后,您就可以始终将其用于所有 Controller 上的每个操作。

看看它是否适合你。

关于asp.net-mvc - ASP.NET MVC 显示配置文件中的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4036582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com