我在IdentityModel中添加了一些自定义字段到IdentityUser(例如名字)但是我在浏览中访问这些字段时遇到了问题。它们已通过迁移添加到数据库中,我已将信息放入其中。
这是我的模特 -
public class ApplicationUser : IdentityUser
{
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name = "Surname")]
public string Surname { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
}`
在视图中我创建了一个表来查看此信息
<table class=" table table-bordered table-hover">
<tr>
<th class="c">
First Name
</th>
<th class="c">
Surname
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td class="c">
@item.FirstName
</td>
<td class="c">
@item.Surname
</td>
</tr>
}
我在视图页面的顶部调用了模型
@model IEnumerable<Microsoft.AspNet.Identity.EntityFramework.IdentityUser>
然而,这是我遇到错误的地方。对于@item。它无法识别我的自定义字段。我得到的具体错误是 -
&#39; IdentityUser&#39;不包含&#39; FirstName&#39;的定义没有扩展方法&#39; FirstName&#39;接受类型&#39; IdentityUser&#39;的第一个参数。可以找到。
我不确定为什么会出现这个错误,如果有人能提供帮助,我将不胜感激。
由于
答案 0 :(得分:0)
尝试将模型更改为自定义类:
@model IEnumerable<YourNamespace.ApplicationUser>