繼續章立民asp.net ajax 168範例的讀書筆記
1) 比如有兩個updatepannel1和updatepannel2,如果要在updatepannel1中點按鈕,去更新updatepannel2中的內容,但updatepanel1中的內容不變,其主要設定好各updatepannel的childrenastriggers屬性為false,以及updatemode屬性為conditional即可
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</div>
<table border="1" style="width: 440px">
<tr>
<td valign="top" style="width: 100px; height: 13px">
<asp:Panel ID="Panel1" runat="server" Height="120px" Width="320px" GroupingText="UpdatePanel1">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
<ContentTemplate>
<br />
<asp:Button ID="Button1" runat="server" Text="非同步局部更新 UpdatePanel2" />
<br />
<%=DateTime.Now.ToString()%>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<br />
</asp:Panel>
</td>
<td valign="top" style="width: 100px; height: 13px">
<asp:Panel ID="Panel2" runat="server" Height="176px" Width="320px" GroupingText="UpdatePanel2">
<asp:UpdatePanel ID="UpdatePanel2" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
<ContentTemplate>
<br />
<asp:Button ID="Button2" runat="server" Text="非同步局部更新 UpdatePanel1" />
<br />
<%=DateTime.Now.ToString()%>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<br />
</asp:Panel>
</td>
</tr>
</table>
</form>
2 如果一個上傳控制項fileupload放在updatepannel中,由於其不相容updatepannel,所以必須在triggers屬性中添加postbacktrigger觸發器,以說明是引發全域更新