如何将jqGrid与C#/ ASP.NET和JSON.NET(以及没有AJAX.NET的东西)一起使用?

wpr*_*prl 5 c# asp.net jquery-plugins jqgrid json.net

好的,我几天都在研究这个问题,并不是特别肯定我做错了什么.如果有人有使用jqGrid与C#/ ASP.NET和开源工具的工作示例,请告诉我在哪里找到它们.任何关于找到合适的文档或工具的技巧我都可以用来调试这个也很受欢迎(我对js/jQuery很新).基本上我只需要编辑就地功能,所以如果我忽略了另一个明显的解决方案,那么知道......我想尽可能避免使用AJAX.NET.

我觉得我只是忽略了一些非常明显的东西.

在下面的示例中,我确实要显示jqGrid,但它没有显示数据.

这是相关的JavaScript:

jQuery(document).ready(function(){ 
    jQuery("#role_assignment_table").jqGrid({ 
        url:'http://localhost:4034/WebSite2/PageItemHandler.asmx/GetPageItemRolesJson?id=3',
        mtype: 'GET',
        contentType: "application/json; charset=utf-8",
        datatype: "jsonstring",
        colModel:[
            {name:'Id', label:'ID', jsonmap:'Id'},
            {name:'Title', jsonmap:'Title'},
            {name:'AssignedTo', label:'Assigned To', jsonmap:'AssignedTo'},
            {name:'Assigned', jsonmap:'Assigned'},
            {name:'Due', jsonmap:'Due'},
            {name:'Completed', jsonmap:'Completed'}
        ],
        jsonReader: {
            page: "Page",
            total: "Total",
            records: "Records",
            root: "Rows",
            repeatitems: false,
            id: "Id"
        },
        rowNum:10,
        rowList:[10,20,30],
        imgpath: 'js/themes/basic/images',
        viewrecords: false,
        caption: "Role Assignments" 
    });  
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<table id="role_assignment_table" class="scroll" cellpadding="0" cellspacing="0" />
Run Code Online (Sandbox Code Playgroud)

生成的JSON:我不确定它是否适用于jqGrid,或者jqGrid是否不喜欢我的JSON或我的WebMethod,但是当我转到正确的URL并获取JSON结果字符串时,我可以自己调用它.

{"Page":"1","Total":1.0,"Records":"4",
"Rows":[
{"Id":1,"Item":null,"Title":"Story Manager","AssignedTo":null,"Assigned":"\/Date(1245186733940-0500)\/","Due":"\/Date(1248383533940-0500)\/","Completed":"\/Date(1247087533940-0500)\/"},
{"Id":2,"Item":null,"Title":"Analysis","AssignedTo":null,"Assigned":"\/Date(1245186733940-0500)\/","Due":"\/Date(1248383533940-0500)\/","Completed":"\/Date(1247087533940-0500)\/"},
{"Id":3,"Item":null,"Title":"Narrative","AssignedTo":null,"Assigned":"\/Date(1245186733940-0500)\/","Due":"\/Date(1248383533940-0500)\/","Completed":"\/Date(1247087533940-0500)\/"},
{"Id":4,"Item":null,"Title":"Graphic","AssignedTo":null,"Assigned":"\/Date(1245186733940-0500)\/","Due":"\/Date(1248383533940-0500)\/","Completed":"\/Date(1247087533940-0500)\/"}
]
}
Run Code Online (Sandbox Code Playgroud)

干杯,William Riley-Land

Dan*_*ker 3

在执行其他操作之前,请下载并安装此程序:

http://www.fiddler2.com/fiddler2/

它可以让您准确地看到 jqGrid 请求所请求和发回的内容以获取 JSON 数据。

我有一些工作 jqGrid 的代码,这里有一些不同的代码:

datatype: "json"
Run Code Online (Sandbox Code Playgroud)

而不是你的:

datatype: "jsonstring"
Run Code Online (Sandbox Code Playgroud)

我还有一个名为的字段colNames,它是包含列名称的字符串数组。

最后,我有一个pager字段,它标识将存储分页控件的元素,并且是一个 DIV。