我正在学习如何使用实体框架进行MVC并遇到了问题。我可能会误解用户,但我认为这是方法。
我为用户扩展了字段
public class ApplicationUser : IdentityUser
{
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Display(Name = "Middle Name")]
public string MiddleName { get; set; }
[Required]
[Display(Name = "Last Name")]
public string LastName { get; set; }
}
我有一个页面,我想要创建公司用户,并在该页面上从下拉列表中选择一个应用程序用户。这是我的控制器:
public ActionResult Create()
{
ViewBag.CompanyID = new SelectList(db.Companies, "CompanyID", "CompanyName");
ViewBag.CompanyRoleID = new SelectList(db.CompanyRoles, "CompanyRoleID", "Description");
ViewBag.Users = new SelectList(db.Users, "UserName", "FirstName");
return View();
}
这样做有两个问题。当我创建我的控制器。它想要将此行添加到Identity Controller:
public System.Data.Entity.DbSet<PropertyManager.Models.ApplicationUser> ApplicationUsers { get; set; }
当我去那个页面时,ddl永远不会被填充。我可以做一个db.Users.ToList()并看到它中有对象,但它永远不会填满我的ddl。这是前端代码:
<div class="form-group">
@Html.LabelFor(model => model.UserName, "UserName", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("Users", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
</div>
</div>
这已经成为一个巨大的烦恼,因为它让我处于一个我无法继续开发的地方,因为我无法创造我需要的东西。有人可以帮助我,或告诉我我是否使用这个方向走错了方向?我一直在做自定义应用程序用户创建,这是我第一次使用会员/身份的东西。