我需要值才能更改为数据库字段,它应该显示名称,但是我该怎么做?
<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>
您可以尝试。
- 使用您需要的属性创建模型。例如:userDisplayName
类Navbarmodel { 公共字符串userDisplayName {get; set;} }
- 在Homecontroller索引动作方法中绑定您的模型。
navbarmodel model = new navbarmodel(); model.userdisplayName =" some string";
-
将模型传递到部分视图
-
在部分视图中您可以访问属性并显示值。
@html.actionlink(" hello" @model.userdisplayname "!"," index"," manage",rutevalues:null,htmlattributes:new {title =" manage"})
请注意,这只是一个工作流程如何实现函数。