哭佛林

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
1.RenderMode属性
 Block(default):标签<div>
 Inline:标签<span>
2.UpdateMode属性
 Always(default):总是异步更新
 Conditional:根据条件异步更新

<body>
        
<form id="form1" runat="server">
            
<asp:ScriptManager ID="ScriptManager1" runat="server">
            
</asp:ScriptManager>    
            
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                
<ContentTemplate>
                    
<%= DateTime.Now %>
                    
<asp:Button ID="Button1" runat="server" Text="Button" />
                
</ContentTemplate>
            
</asp:UpdatePanel>
            
<hr />
            
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
                
<ContentTemplate>
                    
<%= DateTime.Now %>
                    
<asp:Button ID="Button2" runat="server" Text="Button" />
                
</ContentTemplate>
            
</asp:UpdatePanel>
        
</form>
    
</body>

按下Button1两个时间都刷新,按下Button2只刷新下面的时间。

3.ChildrenAsTriggers属性

<body>
        
<form id="form1" runat="server">
            
<asp:ScriptManager ID="ScriptManager1" runat="server">
            
</asp:ScriptManager>    
            
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
                
<ContentTemplate>
                    
<%= DateTime.Now %>
                
</ContentTemplate>
            
</asp:UpdatePanel>
            
<hr />
            
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Always" ChildrenAsTriggers="false">
                
<ContentTemplate>
                    
<%= DateTime.Now %>
                    
<asp:Button ID="Button1" runat="server" Text="Button" />
                
</ContentTemplate>
            
</asp:UpdatePanel>
        
</form>
    
</body>

 

注意当UpdateMode为Always时,而ChildrenAsTriggers为True时,将会抛出异常。

4.Triggers集合属性

AsyncPostBackTrigger
 PostBackTrigger

<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional">
        
<ContentTemplate>
            
<%= DateTime.Now %>
            
<asp:Button ID="Button1" runat="server" Text="Button" />
            
<asp:Button ID="Button2" runat="server" Text="Button" />
        
</ContentTemplate>
        
<Triggers>
            
<asp:AsyncPostBackTrigger ControlID="Button1" />
        
</Triggers>
    
</asp:UpdatePanel>

 

按下Button1更新时间,按下Button2不更新时间。

5.相关API
 (1) UpdatePanel
  Update方法:强制某个UpdatePanel更新。
  IsInPartialRendering:是否在传输过程中。
 (2) ScriptManager
  GetCurrent静态方法:获取当前页面中的ScriptManager对象。
  IsInAsyncPostBack:是否在部分回发过程中的。
  RegisterAsyncPostBackControl:指定某个控件为异步PostBack控件。
  RegisterPostBackControl:指定某个控件为传统PostBack控件。

 

public partial class Demo2_API : System.Web.UI.Page
    
{
        
protected void Page_Load(object sender, EventArgs e)
        
{
            ScriptManager.GetCurrent(
this).RegisterAsyncPostBackControl(this.Button1);
            ScriptManager.GetCurrent(
this).RegisterPostBackControl(this.Button2);
        }

    
        
protected void Button1_Click(object sender, EventArgs e)
        
{
            
this.UpdatePanel1.Update();
        }

    }


 

posted on 2008-03-10 16:20  哭佛林<Kufolin>  阅读(265)  评论(0)    收藏  举报