我在将Json数据绑定到JqGrid时遇到了很多麻烦。
在我的Default.aspx.cs中,我有以下方法:
[WebMethod]
public static string GetData()
{
CustomerHelper C = new CustomerHelper();
var data = C.GetAllCustomersSerialized();
return data;
}
C.GetAllCustomersSerialized();
方法返回
来自return JsonConvert.SerializeObject(customersList);
班级的CustomerHelper
。
所以基本上我将序列化数据作为字符串返回。希望我是对的,直到现在。
现在我的Default.aspx是这样的:
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript">
$(document).ready(function() {
$("#Grid1").jqGrid(
{
url: "Default.aspx/GetData",
data: "{}",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8;",
colNames: ['Customer Number', 'Customer Name'],
colModel: [
{ name: 'CUSNUM', index: 'CUSNUM', width: 80, align: 'left', jsonmap: 'CUSNUM' },
{ name: 'CO_NAM', index: 'CO_NAM', width: 80, align: 'left', jsonmap: 'CO_NAM' }
],
pager: $("#Pager1"),
rowNum: 20,
rowList: [10, 20, 30, 40, 50],
sortname: 'cusnum',
viewrecords: true,
caption: 'Customers List'
});
});
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<table id="Grid1">
</table>
<div id="Pager1">
</div>
</asp:Content>
我在代码隐藏中有GetData()
方法的断点,但它没有被击中。我得到的只是一个空页面,只有标题和页面大小选择下拉列表。
我查看了与此类似的所有不同问题,包括 jqGrid and dynamic column binding但它对我不起作用。
请帮忙。
答案 0 :(得分:0)
好吧,它已经有一段时间了,并且jqGrid没有取得进展,所以我抛弃它并使用JTemplates代替。