Asp.net mvc 4 jqGrid寻呼机仅返回第一页

Asp.net mvc 4 jqGrid寻呼机仅返回第一页,asp.net-mvc-4,jqgrid,Asp.net Mvc 4,Jqgrid,我想要客户端分页 但出于某种原因,我似乎只回到了第一页?即使我知道我有两页的数据(即…我一步一步地浏览我的代码,我肯定有两页…)。。。更令人困惑的是,我浏览网页的链接似乎从来都不正确。。。例如,我希望下面的屏幕显示2中的1 另外,我希望右下角是21的视图1-15? 我的感觉是,我在我的数据层做了一些错误的事情,给这个寻呼机它的信息。 所以它只返回第一页 public static string JsonifyEnc(IEnumerable<TemplateModel> mo

我想要客户端分页

但出于某种原因,我似乎只回到了第一页?即使我知道我有两页的数据(即…我一步一步地浏览我的代码,我肯定有两页…)。。。更令人困惑的是,我浏览网页的链接似乎从来都不正确。。。例如,我希望下面的屏幕显示2中的1

另外,我希望右下角是21的视图1-15? 我的感觉是,我在我的数据层做了一些错误的事情,给这个寻呼机它的信息。 所以它只返回第一页

    public static string JsonifyEnc(IEnumerable<TemplateModel> model, int popId, int page, int rows) {
        TemplateModel variable = model.ToArray()[0];
        ArrayList al = new ArrayList();
        //foreach (PatientACOModel patMod in variable.Template) {
        int i = 1;
        int rowstart = (page * rows + 1) - rows;
        int rowend = page * rows;
        //Here is where I create the rows... nothing special here
        var griddata = new {
            total = variable.Template.Count % rows > 0 ? (variable.Template.Count / rows) + 1 : (variable.Template.Count / rows),
            page = page,
            records = al.Count,
            rows = al.ToArray()
        };
就在那里。另外,这就是我如何建立我的jqGrid

    $(document).ready(function () {
        jQuery("#frTable").jqGrid ({
            cmTemplate: { sortable: false },
            caption: '@TempData["POPNAME"]' + ' Population',
            datatype: 'json',
            mtype: 'GET',
            url: '/Encounters/GetAjaxPagedGridData/', //'Url.Action("GetAjaxPagedGridData", "Encounters", new { popId = TempData["POPULATIONID"] })',//  
            postData: { popId: '@TempData["POPULATIONID"]'},
            pager: '#pager',
            jsonReader: {repeatitems: false},
            loadonce: true,
            height: 'auto',
            gridview: true,
            viewrecords: true,
            rowNum: 15,
            shrinkToFit: false,
            autowidth: true,

如果在客户端使用
loadonce:true
,则应更改服务器代码,使其忽略
页面
选项,并返回所有数据。您应该只对与
sidx
sord
参数对应的数据进行排序(请参阅jqGrid中的
sortname
sortorder
)。您不需要在响应中填写
总计
页面
记录
部分


如果使用
loadonce:true
jqGrid加载数据并将其保存在内部
data
\u index
参数中。之后,jqGrid将jqGrid的
数据类型
选项更改为
“本地”
。因此,以后所有数据的排序、筛选(搜索)和分页都将在本地完成。

@DmainEvent:欢迎您!可以考虑从服务器响应中删除<代码>行> /Cord>部分,并直接返回项目数组。有关相应的
jasonReader
的示例,请参见。您是否知道如何在ondblClickRow函数调用中传递页面信息?我想转到编辑页面,并在保存该页面时返回到相同的页面信息information@DmainEvent:我不确定我是否正确理解你在“页面信息”下的意思。我想那会对你有帮助。它显示了如何在
localStorage
中保存网格状态。因此,如果用户访问同一页面,网格将恢复到上次访问时的状态(或关闭状态)。好的,如果我双击其中一行,在任何页面上,比如我在数据的第2页,双击该页面上的一行,我可以将该信息传递给操作方法吗?我是否可以像{page:jqPageNum,row:jsRowInfo}@DmainEvent:如果用户双击一行,将调用本地回调
ondblClickRow
,或者触发事件
“jqGridDblClickRow”
。您可以实现回调或事件处理程序,双击一行即可执行自定义JavaScript代码。所有这些都发生在客户端。无需发送服务器代码(操作方法)。所以我不明白你的意思。
    $(document).ready(function () {
        jQuery("#frTable").jqGrid ({
            cmTemplate: { sortable: false },
            caption: '@TempData["POPNAME"]' + ' Population',
            datatype: 'json',
            mtype: 'GET',
            url: '/Encounters/GetAjaxPagedGridData/', //'Url.Action("GetAjaxPagedGridData", "Encounters", new { popId = TempData["POPULATIONID"] })',//  
            postData: { popId: '@TempData["POPULATIONID"]'},
            pager: '#pager',
            jsonReader: {repeatitems: false},
            loadonce: true,
            height: 'auto',
            gridview: true,
            viewrecords: true,
            rowNum: 15,
            shrinkToFit: false,
            autowidth: true,