2017-06-26 15 views
0

カスタムユーザープロパティの内容をユーザーインデックスに表示しようとしています。MVC 5を使用してIdentityUserリストにカスタムプロパティを表示する方法は?

すでにデータベースに登録されているemployee_idnameを追加して、ユーザー作成を保存しました。

問題は、ユーザーを一覧表示すると、そのプロパティにアクセスできないことです。

私はApplicationUserクラスに続き、デています

public class ApplicationUser : IdentityUser 
{ 
    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; 
    } 

    public string employee_id { get; set; } 
    public string name { get; set; } 

} 

これはコントローラーです:

private IdentityDbContext identityDb = new IdentityDbContext(); 

    //GET: /Account/Index 
    [Authorize(Roles = "Admin")] 
    public ActionResult Index() 
    { 
     var users = identityDb.Users.Include(u => u.Roles).ToList(); 
     return View(users); 
    } 

これはビューです:

@model IEnumerable<Microsoft.AspNet.Identity.EntityFramework.IdentityUser> 

<p> 
    @Html.ActionLink("Create New", "Create") 
</p> 
<table class="table"> 
    <tr> 
     <th> 
      Email 
     </th> 
     <th> 
      Employee Id 
     </th>   
     <th></th> 
    </tr> 

@foreach (var item in Model) { 
    <tr> 
     <td> 
      @Html.DisplayFor(modelItem => item.Email) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.employee_id) 
     </td> 
     <td> 
      @Html.ActionLink("Edit", "Edit", new { id=item.Id }) | 
      @Html.ActionLink("Details", "Details", new { id=item.Id }) | 
      @Html.ActionLink("Delete", "Delete", new { id=item.Id }) 
     </td> 
    </tr> 
} 

</table> 

期待通りにEメールで表示されるがemployee_idを追加Visual Studioでは非存在としてマークされます。

カスタムプロパティをインデックスに登録できるようにするにはどうすればよいですか?

@model IEnumerable<Microsoft.AspNet.Identity.EntityFramework.IdentityUser> 

これに:この

答えて

1

変更

@model IEnumerable<YourNamespace.ApplicationUser> 
関連する問題