在UpdatePannel无刷新后致使js某些方法失效

     在用asp.net的UpdatePannel执行分页的时候,发现当跳转到第二页以后的页面的时候,UdatePannel里面的某些js方法不能使用。原因是因为UdatePannel没有postback,所以需要重新加载才能使用这些你用到的js方法。

    例子:

    

$(function(){
    $("#list a").click(function(){
       art.dialog.data('type', "add"); // 存储数据
       art.dialog.open('/SystemPage/Subject/addSubject.aspx', {title: '添加'});
    });
    
    $(".edite").click(function(){
       art.dialog.data('sid', $(this).attr("sid")); // 存储数据
       art.dialog.data('type', "edite"); // 存储数据
       art.dialog.data('sname',$(this).attr("sname")); // 存储数据
       art.dialog.open('/SystemPage/Subject/addSubject.aspx', {title:'编辑'},false);
    });
})


function reload() {  
                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);  
           }  
           function EndRequestHandler() {  
           $(".edite").click(function(){
       art.dialog.data('sid', $(this).attr("sid")); // 存储数据
       art.dialog.data('type', "edite"); // 存储数据
       art.dialog.data('sname',$(this).attr("sname")); // 存储数据
       art.dialog.open('/SystemPage/Subject/addSubject.aspx', {title:'编辑'},false);
    });
           }  

在分页的后置页面方法里面还得重新加载这个方法reload()

/// <summary>
        /// 分页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void AspNetPager1_PageChanged(object sender, EventArgs e)
        {
            //重新注册js函数
            ScriptManager.RegisterStartupScript(Page, typeof(string), "Sort", "reload();", true);
            int pageIndex=this.AspNetPager1.CurrentPageIndex;
            dataBind(10,pageIndex);
        }






你可能感兴趣的:(在UpdatePannel无刷新后致使js某些方法失效)