如何更改".GetUserName()"在数据库字段的_LoginPartial视图中?



我需要值才能更改为数据库字段,它应该显示名称,但是我该怎么做?

<ul class="nav navbar-nav navbar-right">
    <li>
        @Html.ActionLink("Hello " + **User.Identity.GetUserId()** + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
    </li>
    <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
</ul>

我需要看到另一个值,而不是电子邮件字段,例如使用我的身份模块的" nombres":

public class ApplicationUser : IdentityUser
{
    public int Rut { get; set; }
    public string Nombres { get; set; }
    public string Apellidos { get; set; }
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:dd-MM-yyy}", ApplyFormatInEditMode = true)]
    public DateTime FechaNacimiento { get; set; }
    public int Telefono { get; set; }
    public string Direccion { get; set; }
    public int Nacionalidad { get; set; }

user.Identity.getuserid()显示了电子邮件,但我需要它显示" nombres"数据。

首先,您需要将Microsoft.aspnet.Identity.Owin名称空间导入到您的视图中。

@using Microsoft.AspNet.Identity.Owin

现在,您可以通过在usermanager上下文上启动findmyname方法来从ow context获得值。

<ul class="nav navbar-nav navbar-right">
    <li>
        @Html.ActionLink("Hello " + HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>().FindByName(User.Identity.Name).Nombres + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
    </li>
    <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
</ul>

您可以尝试。

  1. 使用您需要的属性创建模型。例如:userDisplayName
   类Navbarmodel {        公共字符串userDisplayName {get; set;}    }
  1. 在Homecontroller索引动作方法中绑定您的模型。
   navbarmodel model = new navbarmodel();    model.userdisplayName =" some string";
  1. 将模型传递到部分视图

  2. 在部分视图中您可以访问属性并显示值。

   @html.actionlink(" hello"   @model.userdisplayname  "!"," index"," manage",rutevalues:null,htmlattributes:new {title =" manage"})

请注意,这只是一个工作流程如何实现函数。

相关内容

  • 没有找到相关文章

最新更新