У меня есть 2 класса: User и Role, у пользователя есть роль
public class User : IPrincipal
{
public int UserId { get; set; }
[Required]
[Display(Name = "User name")]
public string Username { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Display(Name = "Created date")]
public DateTime CreatedDate { get; set; }
[Required]
[Display(Name = "Password question")]
public string PasswordQuestion { get; set; }
[Required]
[Display(Name = "Password anwser")]
public string PasswordAnswer { get; set; }
[Display(Name = "Active")]
public bool IsApproved { get; set; }
[Display(Name = "Last login date")]
public DateTime LastLoginDate { get; set; }
[Display(Name = "Last password changed date")]
public DateTime LastPasswordChangedDate { get; set; }
[Display(Name = "Last activity date")]
public DateTime LastActivityDate { get; set; }
public virtual Role Role { get; set; }
public virtual IIdentity Identity { get; set; }
public virtual bool IsInRole(string role)
{
if (Role.Name.ToLower() == role.ToLower())
{
return true;
}
return false;
}
}
public class Role
{
public int RoleId { get; set; }
[Required]
[Display(Name = "Role name")]
public string Name { get; set; }
}
Я создал UserController с сущностью чтения / записи, в методе Create я создал ViewBag.Role содержит список ролей
public ActionResult Create()
{
ViewBag.Role = new SelectList(db.Roles, "RoleId", "Name");
return View();
}
В представлении создания:
<div class="editor-label">
@Html.LabelFor(model => model.Role)
</div>
<div class="editor-field">
@Html.DropDownList("Role")
@Html.ValidationMessageFor(model => model.Role.RoleId) @* I don't know this is correct? *@
</div>
В представлении создания с атрибутом HttpPost, когда пользователь выбирает одну роль и передает, я не могу получить значение роли.Кто-нибудь, кто знает, как добавить роль в пользователя, выбрав выпадающий список?Я имею в виду, когда я раскрываю роль списка и выбираю там элемент и отправляю, я добавляю одну строку пользователя в таблицу. Спасибо