ASP.NET调用UpdatePanel的Update,方法

http://developer.51cto.com/art/200907/138062.htm

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. ContentTemplate>
  26. asp:UpdatePanel>
  27. <asp:ButtonIDasp:ButtonID="Button1"runat="server"Text=

    "Button"OnClick="Button1_Click"/>

  28. div>
  29. form>
  30. body>
  31. html>

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