在用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);
}