【问题标题】:Binding a ListBoxFor to a Model in MVC 3 and auto selecting multiple items using another Model将 ListBoxFor 绑定到 MVC 3 中的模型并使用另一个模型自动选择多个项目
【发布时间】:2013-07-28 09:35:23
【问题描述】:
我有一个场景,我有一个与管理员关联的事件列表,其中事件具有 eventid 和 eventname 属性。可以将投标人分配给一个事件。因此,投标人可以投标多个事件。因此,在为管理员指定的事件创建投标人时。首先,我想将 ListBoxFor 绑定到具有与管理员关联的所有事件的模型。此外,在绑定 ListBoxFor 时,我必须记住,它会选择与此投标人关联的那些事件。
【问题讨论】:
标签:
asp.net-mvc
asp.net-mvc-3
html.listboxfor
【解决方案1】:
型号
public class Admin {
private List<int> _selectedEventIds;
public List<int> SelectedEventIds {
get {
return _selectedEventIds ?? new List<int>();
}
set {
_selectedEventIds = value;
}
}
private List<Events> _eventList;
public MultiSelectList EventList {
get {
return new MultiSelectList(
_listeFonctions,
"EventId", // dataValueField
"EventName" // dataTextField
);
}
}
public Admin() { }
public Admin(List<int> selectedEventIds, List<Events> eventList) {
SelectedEventIds = selectedEventIds;
_eventList = eventList;
}
}
public class Event {
public int EventId { get; set; }
public string EventName { get; set; }
public Event() { }
public Event(int eventId, string eventName) {
EventId = eventId;
EventName = eventName;
}
}
查看
@model Admin
@using(Html.BeginForm()){
@Html.ListBoxFor(admin => admin.SelectedEventIds, Model.EventList)
<input type="submit" value="Save"/>
}
我想你已经有了控制器。