2

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

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

Javascript:

$('#tblLines').jqGrid({

    ...

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

    ...

    }

MVC:

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

问题是在 jqGrid 为 editUrl 向控制器进行的 POST 期间它没有被发布。我的行值正在弥补,但最后一个参数 MyId 始终为空。我检查了 Firebug 并确认 POST 仅发送前两个值。

有任何想法吗?是否可以在网格上的在线编辑期间发送 postData 值?

4

5 回答 5

3

采用 :

postData: {MyId :function() { return $('#MyId').val();}
于 2012-06-21T12:31:41.040 回答
1

我不认为它应该。获取记录时发送 postData 。我的疯狂猜测是,您应该改为处理beforeSubmitCell并操作要在那里提交的对象。

于 2009-09-01T19:44:08.230 回答
1

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

于 2009-09-11T20:30:54.550 回答
0

我有一些糟糕的经历让它真正起作用。我的解决方法(谢天谢地被认为是一种合法的 UI 方法)是在行选择上提供保存和取消按钮。

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

于 2009-09-04T18:45:50.330 回答
0

有一种东西我们称之为postData,你可以在客户端对其进行操作,例如以URL Get 参数的形式向服务器发送自定义数据。

我想我在 stackoverflow 上看到了一些应该可以工作的东西:

jqgrid userData在刷新时发布null

附带说明一下,我们(Trirand,jqGrid 背后的人)现在正在开发一个 ASP.NET WebForms 和 MVC 特定站点,其中包含示例,甚至是独立的 ASP.NET 服务器端组件(类似于 GridView),几乎可以无代码运行与 jqGrid。

您可以在此处查看我们工作的 Alpha: jqgrid userData 在刷新时发布 null

于 2009-09-12T05:49:34.380 回答