C# 如何将额外的postdata传递到addrecord函数-JQGrid-MVC。网
我正在MVC项目中使用JQGrid插件。我试图避免使用“会话”。我已经能够使用JQGrid中的serializedata方法将额外的postdata传递到我的edit和delete函数中 例如C# 如何将额外的postdata传递到addrecord函数-JQGrid-MVC。网,c#,.net,asp.net-mvc-2,jqgrid,C#,.net,Asp.net Mvc 2,Jqgrid,我正在MVC项目中使用JQGrid插件。我试图避免使用“会话”。我已经能够使用JQGrid中的serializedata方法将额外的postdata传递到我的edit和delete函数中 例如 但是,似乎没有serializeAddData函数。是否有其他方法在发送前更改add方法的post数据?有一种方法可以对“编辑”和“添加”对话框进行表单编辑。因此,在这两种情况下都可以使用相同的事件han`ler。比如说, $("#list").jqGrid('navGrid','#pager',
但是,似乎没有serializeAddData函数。是否有其他方法在发送前更改add方法的post数据?有一种方法可以对“编辑”和“添加”对话框进行表单编辑。因此,在这两种情况下都可以使用相同的事件han`ler。比如说,
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
serializeEditData: function (postdata) {
// your implementation of serializeEditData for edit
}
},
{/*add options*/
serializeEditData: function (postdata) {
// your implementation of serializeEditData for add
}
},
{/*del options*/},
{/*search options*/}
/)
通常,如果需要将发布的数据转换为另一种格式,例如进行JSON序列化,则SerializedEditData
事件非常实用。为了能够传递额外的postdata参数,您可以使用editData
参数,该参数的含义与jqGrid的postdata
参数相同:
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
editData: {SomeExtraData: $('#extradata').val()}
},
{/*add options*/
editData: {SomeExtraData: $('#extradata').val()}
},
{/*del options*/},
{/*search options*/}
);
或者以这种方式更好(请参见关于函数作为postData
属性的用法):
有没有理由声明
var rowdata
,然后不使用变量就返回函数?@Rajpurohit:不客气!顺便说一句,还有一个好方法是使用onclickSubmit
callback。它可以像editData
一样返回扩展数据的对象。看见这种方式的主要优点是附加选项:options、postData、oper
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
editData: {SomeExtraData: $('#extradata').val()}
},
{/*add options*/
editData: {SomeExtraData: $('#extradata').val()}
},
{/*del options*/},
{/*search options*/}
);
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
editData: {SomeExtraData: function() {return $('#extradata').val();}}
},
{/*add options*/
editData: {SomeExtraData: function() {return $('#extradata').val();}}
},
{/*del options*/},
{/*search options*/}
);