asp.net自帶的異步刷新控件使用


一直都是使用jquery的$.ajax,由於剛剛加入的公司是用asp.net的,webform與之前的ajax加在一起顯得很混亂,后來發現asp.net已經封裝了一下ajax功能,就查了一下,並且做了測試,寫出來,備忘:

前台代碼:

 1             <asp:ScriptManager ID="ScriptManager1" runat="server" />
 2             <asp:TextBox ID="tboutup" runat="server"></asp:TextBox> 3             <asp:Button ID="btnouttg" Text="非異步按鈕,但是被作為觸發器"
 4                 OnClick="Button1_Click" runat="server" />
 5             <asp:Button ID="btnoutnotg" Text="非異步按鈕" runat="server" />
 6             <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
 7                 <Triggers>
 8                     <asp:AsyncPostBackTrigger ControlID="btnouttg" />
 9                 </Triggers>
10                 <ContentTemplate>
11                     <asp:TextBox ID="tbinup" runat="server"></asp:TextBox>
12                     <asp:Button ID="btninup" Text="異步按鈕" OnClick="btninup_Click" runat="server"  />
13                 </ContentTemplate>
14             </asp:UpdatePanel>

后台代碼:

 1 public partial class UpdatePanelTriggers : System.Web.UI.Page
 2 {
 3     protected void Page_Load(object sender, EventArgs e)
 4     {
 5 
 6     }
 7     protected void Button1_Click(object sender, EventArgs e)
 8     {
 9         tboutup.Text += tboutup.Text;
10         tbinup.Text += tbinup.Text;
11     }
12 
13     protected void btninup_Click(object sender, EventArgs e)
14     {
15         tboutup.Text += tboutup.Text;
16         tbinup.Text += tbinup.Text;
17     }
18 }

 

 
    1. 非異步按鈕,一旦被綁定,便不會引起全局刷新,只能引起局部刷新了。
    2. 當某一回發事情被觸發時,判斷是否為UpdatePanel的異步事件,若是,則將所有的viewstate帶回服務器,處理后,UpdatePanel內部控件的視圖狀態更新,其它的不更新。
    3. 對於觸發UpdatePanel刷新的事件:
      1. ​在UpdatePanel的字標簽<Triggers>中指定能觸發異步刷新的控件或者事件。
      2. 將UpdateMode設為Always則頁面上所有的回發事件都會觸異步刷新。
      3. 將UpdateMode設為Conditional的時候,只有Triggers定義的觸發以及UpdatePanel的子控件的事件才會觸發。
      4. 將ChildrenAsTriggers設為false時,子控件postback時候無法觸發異步刷新(這個控件同時也無法觸發頁面的事件,所以。。。廢了。。。)。
      5. UpdatePanel的子控件只能觸發自己的,無法觸發外層UpdatePanel刷新。
      6. 顯式調用UpdatePanel的Update方法:
          使用此方法一般是想在后台判定是否局部更新UpdatePanel,此時,要禁止UpdatePanel未經允許的刷新,所以,要設Conditional,且ChildrenAsTriggers設為false,然后在后台設置UpdatePanel.Update();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM