jgGrid加载完成后的回调事件触发了两次。

3
我在使用 jqGrid 时遇到了问题,具体是关于 loadComplete 回调事件的。当我第一次加载表格时,loadComplete 触发并且内部函数按预期工作。但是如果我关闭它并再次打开,loadComplete 就会触发两次,这不是预期的行为。有什么想法吗?
以下是我为按钮分配的 onclick 事件的函数:
function stcoll_BindDataScholarship() {
    var actionwithparams = '<%= Url.Action("LoadListFoundStudentsFromScholarshipBox", "ManageStudents", new {area="Admin", scholarshipId = "stcoll_scholarsipId", byName = "", byFirstorSecondName = "", searchStart = "", searchEnd = "", byYear = "", byGroupId = "", SelectCommunityIs = "_districtCommunityId_" })%>';
    actionwithparams = actionwithparams.replace("stcoll_scholarsipId", $("#stcoll_scholarsipIdScholarship").val());
    actionwithparams = actionwithparams.replace("_districtCommunityId_", $("[name=CommunityDDL]").val());
    $("#stcoll_studentListScholarship").GridUnload();
    jQuery("#stcoll_studentListScholarship").jqGrid({
        url: actionwithparams,
        editurl: '<%= Url.Action("EditGroup", "ManageStudents", new {area="Admin"})%>',
        datatype: 'json',
        mtype: 'GET',
        colNames: ['',
                   '<%=Resources.ScholarshipSearch.StudentScholarshipBox_ascx.Text_FirstName%>',
                   '<%=Resources.ScholarshipSearch.StudentScholarshipBox_ascx.Text_LastName%>',
                   '<%=Resources.ScholarshipSearch.StudentScholarshipBox_ascx.Text_OnScholarshipList%>',
                   '<%=Resources.ScholarshipSearch.StudentScholarshipBox_ascx.Text_Year%>',
                   "Id"
                   ],
        colModel: [
                { name: 'Check', index: 'Check', editable: false, sortable: false, width: 30, align: "center" },
                { name: 'FirstName', index: 'FirstName', editable: false, width: 125, sortable: true },
                { name: 'LastName', index: 'LastName', editable: false, width: 125, sortable: true },
                { name: 'OnList', index: 'OnList', editable: false, width: 100, align: 'center', sortable: true },
                { name: 'Year', index: 'Year', editable: false, width: 50, sortable: true },
                { name: 'Id', index: 'Id', editable: false, width: 10, hidden: true }
                ],
        pager: jQuery('#stcoll_pagered'),
        onPaging: function (pgButton) {
            if (pgButton == "records") {
                $("#stcoll_studentListScholarship").setGridParam({ page: 1 }).trigger("reloadGrid");
            }
        },
        rowNum: 10,
        rowList: [2, 10, 20, 30],
        viewrecords: true,
        imgpath: '<%=ResolveUrl("~/themes/base/images")%>',
        width: 550,
        height: 250,
        emptyrecords: '<%=Resources.ScholarshipSearch.StudentScholarshipBox_ascx.Text_NoRecords%>',
        loadtext: '<%=Resources.ScholarshipSearch.StudentScholarshipBox_ascx.Text_Loading%>',
        pgtext: '<%=Resources.Shared.SharedResources.Text_PageOf%>',
        recordtext: '<%=Resources.Shared.SharedResources.Text_ViewOf%>',
        rownumbers: false,
        sortable: false,
        beforeRequest: function () {            
            var p = $.browser.version.split(".");
            if ($.browser.mozilla && p[0] == 1 && p[1] == 9 && p[2] == 0) $(".ui-pg-input").css("height", "15px");
            if ($.browser.msie) {
                if ($.browser.version == 7.0) $(".ui-pg-input").css("height", "17px");
                else $(".ui-pg-input").css("height", "20px");
            }
        },
        loadComplete: function () {InitStudentScholarshipGrid() },
        multiselect: false,
        gridComplete: function () {
            $(".ui-jqgrid-view input[type='checkbox']").css("margin", "2px 0 0 0");
        }

    });
}
1个回答

0

你不想把这个作为POST请求吗?

type: 'POST',

只有您的操作才能接受这样的内容

[AcceptVerbs(HttpVerbs.Post)]

你能看到这两个调用具体触发了什么吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接