将 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 中的模型并使用另一个模型自动选择多个项目的主要内容,如果未能解决你的问题,请参考以下文章

将 ListBoxFor(多个)绑定回模型

Html.listboxfor() 如何捕获更改/添加项目的事件 - Jquery MVC (C#)

当 Ajax 调用中的下拉列表更改时 ListboxFor 不绑定

使用 AngularJS 将所​​选值绑定到多选 ListboxFor 控件

ASP.NET MVC 4 - ListBoxFor,在 ActionLink 中发送 selectedValue

MVC 方法从 ListBoxFor 方法输出无序列表