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

来源:互联网 发布:数据恢复按文件夹 编辑:程序博客网 时间:2024/05/13 07:56
    本文介绍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();

原创粉丝点击