如何将多个选定值传递给控制器?



我已将剑道下拉列表转换为剑道多选。我想将多个选定的值传递给控制器。

下拉列表包含:

  1. D-UDMS-TMA DATA Mgmt System
  2. U-TDMS-SMA 管理系统

以下是我的代码:

$("#btnSendFlow").click(function () {
debugger;
var FlowData_array = [];
//var ROLECODE = $("#DDRolecode").val().trim();---For dropdownlist output: "D"
var ROLECODE = $("#DDRolecode").data("kendoMultiSelect").value();//added by chetan for multiselect output: "D" "U"
// var MPID = $("#DDRolecode").data("kendoDropDownList").text().split('-');---for dropdownlist output: (3)["D","UDMS","TMA Data Mgmt System"]
var control = $("#DDRolecode").data("kendoMultiSelect");
var selectedDataItems = control.dataItems();
//// create an array that only contains the selected ids
var MPID = [];
$(selectedDataItems).each(function () {
MPID.push(this.Name.split('-')); // you can access any property on your model here
});
console.log(MPID);
//
output for MPID while debugging:
(3)["D","UDMS","TMA Data Mgmt System"] which is 0: Array(3)
0: "D"
1: "UDMS"
2: "TMA Data Management Ltd"
length: 3
(3)["U","TDMS","SMA Mgmt System"] which is 1: Array(3)
0: "M"
1: "BMET"
2: "Bglobal NHH MOP"
length: 3
length:2
//
.....
.....
MstHeaderData = {
REG_ID: $("#hfRegid").val(),
DataFlow_ID: $("#DDDataFlow").val(),
RoleCode: ROLECODE,//How to to do for the multiselect values.
//RoleCode: ROLECODE.trim(),//for dropdownlist
// MPID: MPID[1] //for dropdownlist
MPID: MPID// How to do for the multiselect values
}
}

注释行用于下拉列表。

我正在传递多个(选择即。角色代码和 MPID(值到控制器的标头详细信息。

以下是我的控制器调用:

public ActionResult SaveSendFlowDetails(Temp_Flow_Generation_Item[] SSFD,HeaderDetails HeaderDetails, FormCollection form)
{
....
.....
}

类文件:

public class HeaderDetails
{
public int REG_ID { get; set; }
public int DataFlow_ID { get; set; }
public string RoleCode { get; set; }
public string MPID { get; set; }
}

尝试将模型属性MPID更改为:

public string[][] MPID { get; set; }

因为您的数据是字符串数组的字符串数组,也称为字符串矩阵。

我使用了下面的代码并且它起作用了:

for (i = 0; i < MPID.length; i++) {

MstHeaderData = {
REG_ID: $("#hfRegid").val(),
DataFlow_ID: $("#DDDataFlow").val(),
RoleCode: MPID[i][0],
//RoleCode: ROLECODE.trim(),
// MPID: MPID[1]
MPID: MPID[i][1]
}

var url = '@Url.Action("SaveSendFlowDetails", "FlowGenerator")';
.....
.....
}

最新更新