Jquery 使用asp.net mvc选择jqGrid

Jquery 使用asp.net mvc选择jqGrid,jquery,asp.net-mvc,jqgrid,Jquery,Asp.net Mvc,Jqgrid,我对jqGrid的选择类型有问题。在服务器上我使用了IdName类。我制作了一个自定义格式化程序来格式化IdName和string值: formatSelect = function (cellvalue, options, rowObject) { if(typeof cellvalue === 'object') { cellvalue = cellvalue.Name; } return cellv

我对jqGrid的选择类型有问题。在服务器上我使用了
IdName
类。我制作了一个自定义格式化程序来格式化
IdName
string
值:

formatSelect = function (cellvalue, options, rowObject) {

        if(typeof cellvalue === 'object')
        {
            cellvalue = cellvalue.Name;
        }

        return cellvalue;
我的问题是,在post上,它只发送
Id
,而不会映射回
IdName

编辑选项是使用:

 {
     dataUrl: controller + action,
     buildSelect: buildSelect,
     defaultValue: '',
     NullIfEmpty: true
 }

 buildSelect = function (data) {
        var selectTag = '<select>';
        selectTag += '<option class="selectPlaceholder" selected>Select...</option>'
        $.each(JSON.parse(data), function (index, value) {
            if (typeof value === "object") selectTag += '<option value="' + value.Id + '">' + value.Name + '</option>';
            else selectTag += '<option>' + value + '</option>';
        });
        return selectTag += '</select>';
    }
{
dataUrl:控制器+操作,
buildSelect:buildSelect,
默认值:“”,
NullIfEmpty:true
}
buildSelect=函数(数据){
var selectTag='';
selectTag+=“选择…”
$.each(JSON.parse(数据)、函数(索引、值){
如果(typeof value==“object”)选择tag+=''+value.Name+'';
否则选择Tag+=''+值+'';
});
返回selectTag+='';
}

请显示您的控制器我有两个控制器操作,它们都返回一个JsonNetResult。对于栅格,有一个具有IdName属性的viewmodel。在另一个动作中,只有一个IEnumerable用于selectori,它没有得到你想要得到的东西。您可以创建选择列表。默认情况下,若您提交表单,它将从“值”属性发送值。若你们想得到名字,你们应该创建隐藏字段。只是看不到全貌。