jqGrid加载WebMethod数据
我正试图修改它以调用带有url属性的webmethod。jqGrid加载WebMethod数据,jqgrid,Jqgrid,我正试图修改它以调用带有url属性的webmethod。 如何让构造函数调用WebMethod“Test2” // 及 [DataContract] 公共类JJ { [数据成员] 公共int ID; [数据成员] 公共字符串WSCOMPDESC; [数据成员] 公共字符串成本; [数据成员] 公共字符串WSCOMPSRC; [数据成员] 公共内部WSCOMPQTYSTOCK; [数据成员] 公共字符串压缩单元; [数据成员] 公众投票; [数据成员] 公共int综合废料; [数据成员] 公众
如何让构造函数调用WebMethod“Test2”
//
及
[DataContract]
公共类JJ
{
[数据成员]
公共int ID;
[数据成员]
公共字符串WSCOMPDESC;
[数据成员]
公共字符串成本;
[数据成员]
公共字符串WSCOMPSRC;
[数据成员]
公共内部WSCOMPQTYSTOCK;
[数据成员]
公共字符串压缩单元;
[数据成员]
公众投票;
[数据成员]
公共int综合废料;
[数据成员]
公众浮标;
[数据成员]
公共字符串COMP1_部分;
[数据成员]
公共字符串COMP1_项;
}
[数据合同]
公共类MM
{
[数据成员]
公共整数合计;
[数据成员]
公共int页;
[数据成员]
公共记录;
[数据成员]
公共列表行;
}
[网络方法]
公共MM Test2()
{
MM m=新的MM();
m、 记录=2;
m、 page=1;
m、 总数=1;
m、 行=新列表();
m、 添加(新JJ(){COMP1_ITEM=“1”,WSCOMPDESC=“A”});
m、 添加(newjj(){COMP1_ITEM=“2”,WSCOMPDESC=“B”});
返回m;
}
如果未实现数据的服务器端分页,则应返回所有数据。最简单的格式是项目数组。因此,您可以将WebMethod
Test2
的代码修改为以下内容:
[WebMethod]
公共对象Test2(){
返回新的[]{
新的{COMP1_ITEM=“1”,WSCOMPDESC=“A”},
新的{COMP1_ITEM=“2”,WSCOMPDESC=“B”}
};
}
然后,您应该使用jqGrid的ajaxGridOptions
选项将contentType
设置为“application/json;”“
或“application/json;charset=utf-8”
,如果不使用WebMethod的任何其他属性,则使用mtype:“POST”
最后一件重要的事情是:ASMX将返回的结果包装到d
属性。所以返回的数据看起来像
{“d”:[{“COMP1_项”:“1”,“WSCOMPDESC”:“A”},{“COMP1_项”:“2”,“WSCOMPDESC”:“B”}
而不是
[{“COMP1_项”:“1”,“WSCOMPDESC”:“A”},{“COMP1_项”:“2”,“WSCOMPDESC”:“B”}]
因此,应该使用jsonReader:{repeatitems:false,root:d}
来读取数据。最后一句话:您可以使用postData:“
删除jqGrid发送所有不需要的参数
请参阅演示项目