gpt4 book ai didi

c# - 扩展 ASP.NET 标识

转载 作者:太空狗 更新时间:2023-10-29 17:37:49 24 4
gpt4 key购买 nike

似乎这个问题已经被问过很多次,有很多方式,但似乎没有一个适合我的确切情况。

这是我的 _LoginPartial.cshtml 文件中的一行:

@Html.ActionLink("Hello " + User.Identity.GetUserName() + "!", "Manage", "Account", routeValues: null, htmlAttributes: new { title = "Manage" })

看到说 User.Identity.GetUserName() 的部分了吗?

我想将其更改为 User.Identity.FirstName 或 User.Identity.GetFirstName()。

我不希望它说“你好电子邮件地址”,而是“你好鲍勃”

我的想法是,我只是想在 Identity 类上显示一个新属性(或方法)。显然不止于此。

我已经添加了 FirstName 属性并且 它在 AccountController 中可用

public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }

它不会暴露在 _LoginPartial 文件中。我想让它暴露在那里!

谢谢你的帮助

最佳答案

即使您的回答不是“完全”我想要的,您的评论还是让我想到了这个解决方案:

@using Microsoft.AspNet.Identity
@using YourModelnameHere.Models
@if (Request.IsAuthenticated)
{
using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
{
@Html.AntiForgeryToken()

<ul class="nav navbar-nav navbar-right">
<li>
@{
var manager = new UserManager<ApplicationUser>(new Microsoft.AspNet.Identity.EntityFramework.UserStore<ApplicationUser>(new ApplicationDbContext()));
var currentUser = manager.FindById(User.Identity.GetUserId());
}
@Html.ActionLink("Hello " + currentUser.FirstName + "!", "Manage", "Account", routeValues: null, htmlAttributes: new { title = "Manage" })

@Html.ActionLink("Hello " + User.Identity.GetUserName() + "!", "Manage", "Account", routeValues: null, htmlAttributes: new { title = "Manage" }) // I no longer need this ActionLink!!!
</li>
</ul>
}
}

在我的 IdentityModel.cs 文件中,我添加了 FirstName 和 LastName 这两个属性

public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
}

关于c# - 扩展 ASP.NET 标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25394571/

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