UpdatePanel控制簡介
UpdatePanel控件用於局部更新網頁上的內容,
網頁上要局部更新的內容放在UpdatePanel控件的內容模板中,
其強大之處在於不用編寫任何客戶端腳本,但它必須要和ScriptManager控件一同使用UpdatePanel的常用屬性和子元素
說明
UpdateMode
<ContentTemplate> 子元素 放置更新面板的內容模板,可以在其中添加任何控件
<Triggers> 子元素 更新面板的觸發器,只要滿足觸發條件才更新<ContenTempate>元素的內容
ChildrenAsTriggers 屬性,布爾值 指示來自UpdatePanel的子控件的回發是否更新面板內容。如果ChildrenAsTriggers的值爲False 則UpdateMode 必須設置爲Conditional
屬性和子元素 | 說明 |
UpdateMode | 屬性,表示更新面板採用何種方式獲取服務器端的資源。包含兩個值:Alays和Conditional Always是默認值 表示每次客戶端發出請求都會無條件刷新面板的內容: Conditional 表示依據觸發條件進行更新,此時需要子元素<Triggers>定義觸發器 |
<ContentTemplate> | |
<Triggers> | |
ChildrenAsTriggers |
UpdatePanel控件的使用
把要局部刷新的內容放在 UpdatePanel 控件內
AsyncPostBackTrigge用來指定某個服務器端控件以及其將觸發的服務器端事件作爲該UpdatePanel的異步更新觸發器,
它需要設置的屬性有控件ID和服務端控件的事件;
PostBackTrigger用來指定在UpdatePanel中的某個服務端控件,它所引發的回送不使用異步回送,而仍然是傳統的整頁回送。
寫個例子:
updatepanel 中有個button 如果給它設置成PostBackTrigger .點button頁面刷新
updatepanel 外有個 button 如果給它設置成AsyncPostBackTrigger 點button頁面不刷新
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<div>
帳號<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
<div>
密碼<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<div>
<asp:Button ID="Button1" runat="server" Text="登錄" /></div>
<asp:Button ID="Button2" runat="server" Text="Button" />
</form>