我的观点:
<div class="editor-label">
@Html.LabelFor(model => model.UserList)
</div>
<div class="editor-field">
@Html.ListBoxFor(model => model.SelectedUsers, new MultiSelectList(Model.UserList, "Key", "Value", Model.SelectedUsers))
@Html.ValidationMessageFor(model => model.UserList)
</div>
我的视图模型:
public class UserListViewModel
{
public UserListViewModel() :
this(new List<KeyValuePair<string, string>>())
{
}
public UserListViewModel(IList<KeyValuePair<string, string>> userList)
{
this.UserList = userList;
SelectedUsers = new List<string>();
}
public IList<KeyValuePair<string,string>> UserList { get; set; }
public IList<string> SelectedUsers { get; set; }
}
因为现在我只得到选定的值,当我到达控制器时,我的 UserList 被清空了,所以我不能再与之比较。有什么方法可以从 MultiSelectList 返回值和文本,或者至少记住我的 UserList 的内容,直到我到达控制器?