jqGrid load完成回调事件触发两次

时间:2011-04-06 09:01:44

标签: jquery asp.net asp.net-mvc

我在使用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 :(得分:0)

你不能将其作为POST吗

type: 'POST',

你的行动只接受这样的

[AcceptVerbs(HttpVerbs.Post)]

你能看到这两个电话究竟被解雇了什么吗?