如何使用ashx文件ASP.NET在同一页面上处理多个jqgrid实例

时间:2017-10-21 03:59:00

标签: c# asp.net jqgrid multiple-instances jqgrid-asp.net

我使用Webform和Jqgrid在同一页面上显示主 - 详细信息。 这是我的Jqgrid定义:

  • Master JQGrid:

$("#MachineListGrid").jqGrid({ url: 'AdminHandler.ashx', datatype: "json", ... });

  • 详情JQGrid:

$("#MachineDetailListGrid").jqGrid({ url:'AdminHandler.ashx', datatype: "json", ... });

我的问题是,ashx文件如何识别数据以将json数据返回到正确的jqgrid? 我从this tutorial查看了aspx和ashx之间的相同内容,但教程仅在页面上提供了样本JQGrid

代码,这是捕获请求的方法: System.Collections.Specialized.NameValueCollection forms = context.Request.Form;

1 个答案:

答案 0 :(得分:1)

解决问题的方法是有两个网址 - 一个用于主控,另一个用于细节

$("#MachineListGrid").jqGrid({
    url: 'AdminHandlerMaster.ashx',
    datatype: "json",
    ...
});

$("#MachineDetailListGrid").jqGrid({
    url:'AdminHandlerDatil.ashx',
    datatype: "json",
    ...
});

如果你不能这样做,你可以在帖子数据中用附加参数来识别它

$("#MachineListGrid").jqGrid({
    url: 'AdminHandler.ashx',
    datatype: "json",
    postData : { gridtype:"master"},
    ...
});

$("#MachineDetailListGrid").jqGrid({
    url:'AdminHandler.ashx',
    datatype: "json",
    postData : { gridtype:"detail"},
    ...
});

在响应中,您需要获取gridtype参数以标识主数据和详细数据