【问题标题】:jqGrid + jQuery 1.4: POST data forcing traditional = true in the ajaxSettings when deletingjqGrid + jQuery 1.4:删除时 ajaxSettings 中的 POST 数据强制传统 = true
【发布时间】:2011-03-16 18:26:33
【问题描述】:

我已经用多选行实现了我漂亮的 jqGrid,因此我可以一次删除多个行。
不过,我注意到我的操作方法不适用于接收到的参数:

<HttpPost()> _
Function Delete(ByVal id As List(Of Int32)) As JsonResult

End Function

当我使用 jqGrid 的删除功能时。
如果我在一个字符串中更改我的参数就可以了。我可以拆分字符串试图找到逗号 (,) 并且一切正常。但我想工作干净;-)
我发现了这个POST,似乎 jQuery 1.4 改变了它发布数组的方式。 我记得我在 Ajax 调用传递数组时遇到过类似的情况,我唯一要做的就是将传统参数设置为 true。 现在,我该怎么做才能在 jqGrid 中拥有相同的功能?

【问题讨论】:

    标签: jquery asp.net-mvc jqgrid


    【解决方案1】:

    删除支持ajaxDelOptions参数,您可以使用它来更改jqGrid使用的$.ajax的选项

    $("#myGrid").jqGrid('navGrid', '#pager', {/*navGrid options*/},
        {/*Edit options*/}, {/*Add options*/},
        { // now define settings for Delete dialog
          mtype: "POST", reloadAfterSubmit: false,
          ajaxDelOptions: {traditional: true}
        }
    );
    

    你可以使用

    $.extend($.jgrid.del, {
        ajaxDelOptions: { traditional: true }
    });
    

    更改 jqGrid 使用的默认选项。

    【讨论】:

    • 谢谢奥列格。我试图放置你附加的第二个代码片段,但它似乎不起作用。我试图用提琴手调试,似乎 jqGrid 的多选删除发送了这个:oper=del&id=2535%2C2536
    • @LeftyX:我不确定您想要哪种格式的输入数据。 traditional: true 的用法是您的建议。我个人总是使用serializeDelData 函数的方式,你可以在ajaxDelOptions 的同一个地方定义它。该函数接收postdata作为参数,其中包含所有应发送的数据,您可以以任何方式修改数据,将数据转换为应发送到服务器的任何字符串并返回要发送到的数据服务器(修改后的postdata 或转换为字符串的数据)。这是一种非常灵活的方式并且可以正常工作
    • @Oleg,我希望 jqGrid 的删除方法发送数据,以便我的 MVC 控制器能够将其绑定为项目集合。
    • @Oleg,我想我的问题很愚蠢。请原谅我。我试过用 fiddler 调试东西,似乎 jqGrid delete 只是发送已删除行的数组(用 multiselect = true)逗号分隔。
    • @LeftyX:是的,这正是traditional: true 应该做的。您可以将所选行的数组序列化为 JSON.stringify(selRowids)(在 serializeDelData 内部),并在服务器端使用 JavaScriptSerializer.Deserialize&lt;List&lt;string&gt;&gt; 将输入字符串转换为 rowids 列表。 MVC 3 必须支持 JSON 数据作为输入。如果您应该使用ajaxDelOptions: {contentType: "application/json; charset=utf-8"}`,那么输入数据的转换将直接为您制作ASP.NET MVC 3.0。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多