簡體   English   中英

Asp.net MVC Nhibernate不在列表框中收集選定的項目

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM