将模型和单独的列表传递给控制器

时间:2019-05-07 10:47:06

标签: jquery asp.net-mvc multi-select

我有一个带有模型的局部视图,供用户填写必填字段。除了这些字段,我还有一个jQuery multiselect下拉列表,可以在其中选择多个条目。如何将模型和列表传递给控制器​​?

如果您需要更多信息,请告诉我。

$.ajax({
        type: 'POST',
        cache: false,
        url: '@Url.Action("AddNewMeeting", "Meeting")',
        data: $("#formAddAppointment").serializeArray(),
        success: function (data) {

    var rooms=[];
    var $ddl = $("#ddlRoomsMulti");
    $ddl.find('option:selected').each(function(){
        rooms.push({value:$(this).val(),text:$(this).text()});
    })

2 个答案:

答案 0 :(得分:0)

如果控制器操作结果具有两个这样的参数:

[HttpPost]
public ActionResult Edit(MyPageModel model, List<string> selectedValues)
{
    //SOME CODE...
}

我会让您的$ .ajax请求中的'data'属性如下:

data: {
    model : $('form').serialize(),
    selectedValues: $('select option:selected').map(function(i, obj){ return $(obj).val(); });
},

希望这会有所帮助!

答案 1 :(得分:0)

在找到更好的方法之前,我只是将每个选定房间的名称和ID添加到字符串中,该字符串是模型的一部分,位于视图的隐藏变量中。然后,我简单地拆分字符串并为每个成员添加会议。