转自:http://blog.csdn.net/wlzwcr/article/details/6082158
第二种方法很好用
在這里介紹種方法:
方法一:
function load() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}
function EndRequestHandler()
{
//這里編寫你要處理的事情
}
注:<body onload="load()">
</script>
===:這種方式我查詢網絡是看到最多人使用的,好多人都轉載了這種方案,郁悶死
方法二:
function pageLoad(sender, args) { if(args.get_isPartialLoad()) { //這里重新編寫你要處理的事情 } }
方法三:
Sys.Application.add_load(FirejQuery);
function FirejQuery()
{
//這里重新編寫你要處理的事情
}
方法四:
<scriptlanguage="javascript">
$(document).ready(function()
{
//綁定updatepanel里面的控件要執行的事件
});
function pageLoad(sender, args)
{
if(args.get_isPartialLoad())
{
//重新綁定updatepanel里面的控件要執行的事件
}
}
</script>
//方法四與方法二有些相同
下面是我個人做的一個demo:
說明:選中分頁內容中的checkbox選項,當返回上一頁時,要選中之前選的checkbox,支持全選功能
code:
<form id="form1" runat="server" enctype="multipart/form-data"> <asp:ScriptManager ID="sm" runat="server" ></asp:ScriptManager> <textarea id="inArr" cols="40" rows="6"></textarea> <script language="javascript" type="text/javascript"> var myClass = { inObj: null, //保存選中的checkbox值 tdObj: null, //table對象 AddArr: function (obj, val) {//保存被選中的checkbox if (this.inObj == null || this.tdObj == null) return; var chkValue = "," + this.inObj.val(); var newValue = this.inObj.val(); if (obj.checked) { if (chkValue.indexOf(val) == -1) this.inObj.val(newValue + val + ","); } else { if (chkValue.indexOf("," + val + ",") != -1) { var reg = new RegExp(val + ",", ""); this.inObj.val(newValue.replace(reg, "")); if ($("#chkAll").attr("checked")) { $("#chkAll").removeAttr("checked"); } } } }, setAllChecked: function (obj) {//設置checkbox全選或取消 if (this.tdObj == null || obj == null) return; var currObj = this; if (obj.checked) $("input[name=chk]").attr("checked", "true"); else $("input[name=chk]").removeAttr("checked"); $("input[name=chk]").each(function (i, n) { currObj.AddArr(this, $(this).attr("value")); }); }, setChecked: function () {//設置checkbox被選中 if (this.inObj == null || this.tdObj == null) return; var oAllValue = "," + this.inObj.val(); var oArrList = this.inObj.val().split(','); for (var i = 0; i < oArrList.length; i++) { var reg = new RegExp("," + oArrList[i] + ",", "g"); if (reg.test(oAllValue)) { $("#chk_" + oArrList[i]).attr("checked", "true"); } } } }; </script> <asp:UpdatePanel ID="up1" runat="server"> <ContentTemplate> <table width="100%" cellpadding="0" cellspacing="0" border="1" id="tab"> <tr><td><input type="checkbox" id="chkAll" />全選</td><td>ID</td><td>Name</td></tr> <asp:Repeater ID="rptList" runat="server"> <ItemTemplate> <tr> <td><input type="checkbox" name="chk" id="chk_<%#(ucPagerList.CurrentPageIndex-1) *10+Container.ItemIndex+1 %>" value="<%#(ucPagerList.CurrentPageIndex-1) *10+Container.ItemIndex+1 %>" onclick="myClass.AddArr(this,<%#(ucPagerList.CurrentPageIndex-1) *10+Container.ItemIndex+1 %>)" /> <%# Eval("Col_DBName")%> </td> <td><%# Eval("CATEGORY_CODE")%></td> <td><%# Eval("Col_ShowName")%></td> </tr> </ItemTemplate> </asp:Repeater> <tr><td colspan="3" id="tdPage"> <uc:PagerList ID="ucPagerList" runat="server" /><!--分頁控件--> </td></tr> </table> </ContentTemplate> </asp:UpdatePanel> <script language="javascript" type="text/javascript"> $(function () { $("#chkAll").bind("click", function () { myClass.setAllChecked(this); }); }); myClass.tdObj = $("#tab"); myClass.inObj = $("#inArr"); Sys.Application.add_load(FirejQuery); function FirejQuery() { myClass.setChecked(); $("#chkAll").bind("click", function () { myClass.setAllChecked(this); }); } </script>