jqGrid:在内联编辑期间,postData未发布到控制器操作

时间:2009-09-01 18:42:43

标签: jquery asp.net-mvc jqgrid

我在ASP.Net MVC视图上有一个jqGrid。我想用它来传递页面上隐藏文本控件的值作为jqGrid方法的附加参数, 当我对行进行内联编辑时

我在jqGrid上使用postData属性来执行此操作:

使用Javascript:

$('#tblLines').jqGrid({

    ...

    postData: {MyId : $('#MyId').val()}

    ...

    }

MVC:

public ViewResult EditModifyLine(string id, string quantity, string MyId)

问题是它在POST期间没有被jigGrid发送给editUrl的控制器。我的行值正在上升,但最后一个参数MyId始终为null。我检查过Firebug并确认POST只发送了前两个值。

有什么想法吗?是否可以在网格上进行内联编辑时发送postData值?

5 个答案:

答案 0 :(得分:3)

使用:

postData: {MyId :function() { return $('#MyId').val();}

答案 1 :(得分:1)

我不认为这是应该的。在获取记录时发送postData。我猜测你应该处理beforeSubmitCell并操纵要在那里提交的对象。

答案 2 :(得分:1)

不幸的是,网格没有干净的方法。我最终存储了Session中所需的值而不是隐藏字段,因此我可以在后端免费访问它。

答案 3 :(得分:0)

我在实际工作中遇到了一些不好的经历。我的解决方法(幸好被接受为合法的UI方法)是在行选择上提供保存和取消按钮。

jqGrid的saveRow方法允许您注入特定于行的数据以进行发布。我建议调查一下。

答案 4 :(得分:0)

我们称之为postData,您可以在客户端上操作它,并以URL Get参数的形式将自定义数据发送到服务器。

我想我在stackoverflow上看到一些应该有用的东西:

jqgrid userData posting null on refresh

另一方面,我们(Trirand,jqGrid背后的人)正在研究ASP.NET WebForms&具有示例的MVC特定站点,甚至是独立的ASP.NET服务器端组件(类似于GridView),它几乎可以与jqGrid无代码地工作。

您可以在此处查看我们工作的Alpha: jqgrid userData posting null on refresh