ASP.NET調用UpdatePanel的Update()方法

  • 本文介紹ASP.NET調用UpdatePanel的Update()方法,使用ScriptManager的RegisterAsyncPostBackControl()註冊Button1爲一個異步提交控件。

 

ASP.NET中用編程的方法控制UpdatePanel的更新

UpdatePanel可以用來創建豐富的局部更新Web應用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一個控件。對於UpdatePanel,我們也可以使用編程的方法來控制它的更新,可以通過ScriptManager的RegisterAsyncPostBackControl()方法註冊一個異步提交的控件,並且調用UpdatePanel的Update()方法來讓它更新。再次用我在前面的文章中用到的一個無聊的時間更新例子來看一下,有時候我覺得例子過於複雜更加不好說明白所要講的內容,如下代碼所示,注意Button1並不包含在UpdatePanel中:

 

  1. <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default
    .aspx.cs"Inherits="_Default"%> 
  2. <scriptrunatscriptrunat="server"> 
  3. voidButton1_Click(objectsender,EventArgse)  
  4. {  
  5. this.Label2.Text=DateTime.Now.ToString();  
  6. }  
  7. script> 
  8. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  9. <headrunatheadrunat="server"> 
  10. <title>RefreshinganUpdatePanelProgrammaticallytitle> 
  11. head> 
  12. <body> 
  13. <formidformid="form1"runat="server"> 
  14. <asp:ScriptManagerIDasp:ScriptManagerID="ScriptManager1
    "runat="server"/> 
  15. <div> 
  16. <asp:UpdatePanelIDasp:UpdatePanelID="UpdatePanel1"runat=
    "server"UpdateMode="Conditional"> 
  17. <ContentTemplate> 
  18. <asp:LabelIDasp:LabelID="Label1"runat="server"Text=
    "更新時間:">asp:Label> 
  19. <asp:LabelIDasp:LabelID="Label2"runat="server"Text=
    "Label"ForeColor="Red">asp:Label><br/><br/> 
  20. ContentTemplate> 
  21. asp:UpdatePanel> 
  22. <asp:ButtonIDasp:ButtonID="Button1"runat="server"Text=
    "Button"OnClick="Button1_Click"/> 
  23. div> 
  24. form> 
  25. body> 
  26. html> 

再次修改上面的例子,使用ScriptManager的RegisterAsyncPostBackControl()註冊Button1爲一個異步提交控件,並且調用UpdatePanel的Update()方法:

 

  1. <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"
    Inherits="_Default"%> 
  2. <scriptrunatscriptrunat="server"> 
  3. voidPage_Load(objectsender,EventArgse)  
  4. {  
  5. ScriptManager1.RegisterAsyncPostBackControl(Button1);  
  6. }  
  7. voidButton1_Click(objectsender,EventArgse)  
  8. {  
  9. this.Label2.Text=DateTime.Now.ToString();  
  10. this.UpdatePanel1.Update();  
  11. }  
  12. script> 
  13. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  14. <headrunatheadrunat="server"> 
  15. <title>RefreshinganUpdatePanelProgrammaticallytitle> 
  16. head> 
  17. <body> 
  18. <formidformid="form1"runat="server"> 
  19. <asp:ScriptManagerIDasp:ScriptManagerID="ScriptManager1"runat="server"/> 
  20. <div> 
  21. <asp:UpdatePanelIDasp:UpdatePanelID="UpdatePanel1"runat=
    "server"UpdateMode="Conditional"> 
  22. <ContentTemplate> 
  23. <asp:LabelIDasp:LabelID="Label1"runat="server"Text="更新時間:">asp:Label> 
  24. <asp:LabelIDasp:LabelID="Label2"runat="server"Text="Label"ForeColor
    ="Red">asp:Label><br/><br/> 
  25.  
  26. ContentTemplate> 
  27. asp:UpdatePanel> 
  28. <asp:ButtonIDasp:ButtonID="Button1"runat="server"Text=
    "Button"OnClick="Button1_Click"/> 
  29. div> 
  30. form> 
  31. body> 
  32. html> 

以上是ASP.NET調用UpdatePanel的Update()方法

 

常見錯誤:

當對UserControl進行繼承的時候,編譯容易出現報錯:“找不到父類的UserControl",此時只要將父類的UserControl做一個改動,編譯器就能重新找到它並編譯了!
更新UpdatePanel 控件
UpdatePanel.Update();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章