将对象列表绑定到DropdownlistFor和Submitform的多选

时间:2015-10-25 15:23:24

标签: asp.net-mvc asp.net-mvc-4

我有两个班级

class UserRequestModel
{
    public UserRequestModel()
    {
        ProfileRequest = new List<ProfileRequestModel>();
    }

    public int ID { get; set; }
    public List<ProfileRequestModel> ProfileRequest { get; set; }
}

public class ProfileRequestModel
{
    public int ProfileID { get; set; }
    public string ProfileName { get; set; }
}
  1. 我想将UserRequestModel用作Model。
  2. 如何绑定Dropdownlistfor的多项选择?
  3. 在提交表格中,在控制器中 public ActionResult SubmitForm(UserRequestModel obj) obj应该包含多个选定的值。

1 个答案:

答案 0 :(得分:0)

您有以下两种选择:

  1. 使用@Html.ListBox呈现并选择多个值作为选项 下拉列表。

    因此,您的观看中的代码如下所示:

    @Html.ListBox(ViewBag.ProfileRequest as SelectList, new { @id = "ProfileRequest" })
    
  2. 其他选项是使用可以找到的jquery.multiSelect.js here

    因此,您的列表框将由此插件呈现,如下所示:

    <script src="@Url.Content("~/Scripts/jquery.multiSelect.js")" type="text/javascript"></script>
    <script type="text/javascript">
    $(function () {
        $("#SelectedValues").multiSelect();
    });
    </script>
    
    
    @using (Html.BeginForm())
    {
        @Html.ListBoxFor(x => x.SelectedValues, Model.ProfileRequest)
        <button type="submit">OK</button>
    }
    

    接下来,您可以发布您的viewmodel

    [HttpPost]
    public ActionResult Index(UserRequestModel model)
    {
      return View(model);
    }
    
  3. 参考文章 http://www.aspnetmvcninja.com/views/asp-net-mvc-select-list-example