У меня много проблем с привязкой моих данных 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 и динамическая привязка столбцов , но у меня это не работает.
Пожалуйста, помогите.