将 ListBoxFor 绑定到 MVC 3 中的模型并使用另一个模型自动选择多个项目
Posted
技术标签:
【中文标题】将 ListBoxFor 绑定到 MVC 3 中的模型并使用另一个模型自动选择多个项目【英文标题】:Binding a ListBoxFor to a Model in MVC 3 and auto selecting multiple items using another Model 【发布时间】:2013-07-28 09:35:23 【问题描述】:我有一个场景,我有一个与管理员关联的事件列表,其中事件具有 eventid 和 eventname 属性。可以将投标人分配给一个事件。因此,投标人可以投标多个事件。因此,在为管理员指定的事件创建投标人时。首先,我想将 ListBoxFor 绑定到具有与管理员关联的所有事件的模型。此外,在绑定 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"/>
我想你已经有了控制器。
【讨论】:
以上是关于将 ListBoxFor 绑定到 MVC 3 中的模型并使用另一个模型自动选择多个项目的主要内容,如果未能解决你的问题,请参考以下文章
Html.listboxfor() 如何捕获更改/添加项目的事件 - Jquery MVC (C#)
当 Ajax 调用中的下拉列表更改时 ListboxFor 不绑定
使用 AngularJS 将所选值绑定到多选 ListboxFor 控件