仅删除客户端的jqGrid行,并在表单POST上将已删除的行发送到ASP.NET MVC

时间:2010-05-11 16:38:16

标签: javascript jquery asp.net-mvc jqgrid

问题可能令人困惑,我道歉。我不确定如何最好地说出来。

我在一个表单内的jQueryUI对话框中使用jqGrid。用户将使用此表单来创建和编辑事件。

编辑后,用户可以单击按钮打开一个对话框,显示事件的已保存位置网格。我想让他们能够删除保存的位置,但我不想立即在服务器上删除它们,因为他们可能决定不在主窗体上保存更改。

我想要做的是使用默认的删除导航器删除按钮构建一个数组,其中包含他们删除的位置的ID。当我确认删除行时,它需要editurl,但我现在不想删除它们。

是否有一种好方法可以跟踪已删除的记录,然后在保存事件后将其删除?我想知道是否应该创建一个服务器端集合/文件,并在事件本身保存后读取它;我不知道最好的办法是什么。

提前谢谢你:)

1 个答案:

答案 0 :(得分:1)

以下是有关如何实现此目标的一些高级指南:

您可以创建自己的按钮,而不是使用导航器的删除按钮,将其删除并命名为自定义事件处理程序。然后,当删除行时,将其ID添加到已删除行的数组中,并更新包含所有已删除行的表单中的隐藏字段。当表单被POST回到服务器时,该字段可用于执行实际的删除。

要将ID保存到隐藏字段,您可以使用json2.js中的stringify方法将其写为JSON。然后,您需要使用ASP.NET MVC解码JSON数组以提取ID。

这有帮助吗?