[英]Asp.net MVC Nhibernate not gathering selected items in a ListBox
當用戶選擇角色中的項目並提交時,模型不會填充所選項目。 如果我應該以其他方式執行此操作,請問我能否獲得一些見解。
模型
public virtual string UserName { get; set; }
public virtual string Password { get; set; }
public virtual DateTime LastLogin { get; set; }
public virtual int FailedAttempts { get; set; }
public virtual bool IsLocked { get; set; }
public virtual IList<Role> Roles { get; set; }
控制者
[HttpPost]
public ActionResult Edit(Login user)
{
var u = repoLogin.Update(user);
repoLogin.Save(u);
return View(u);
}
視圖
<label>Roles</label>
@Html.ListBoxFor(m => m.Roles, new SelectList(Enum.GetValues(typeof(LiveReport.Domain.Enum.UserRoles))))
Role
是一個復雜的對象。 ListBoxFor發送與所選值相對應的簡單字符串列表。
因此,您可以擁有一個包含所選值的屬性:
public virtual IList<string> SelectedRoles { get; set; }
然后將選擇列表綁定到它:
@Html.ListBoxFor(
m => m.SelectedRoles,
new SelectList(
Enum.GetValues(typeof(LiveReport.Domain.Enum.UserRoles))
)
)
另外,您似乎正在使用一些枚舉來填充選擇列表項。 因此,您可以使用與屬性相同的枚舉將列表綁定到:
public virtual IList<UserRoles> SelectedRoles { get; set; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.