zukucode
主にWEB関連の情報を技術メモとして発信しています。

ASP.NET UpdatePanelの中のイベントで通常ポストバックを行う

ASP.NETUpdatePanelの中のコントロールのイベントは非同期ポストバックとなります。

非同期ポストバックではなく普通のポストバック(画面全体の再描画)を行いたい場合は明示的に設定する必要があります。

以下のようにTriggersタグで対象のコントロールをPostBackTriggerとして設定します。

また、デフォルトですでに設定されていますが、AsyncPostBackTriggerとして設定すれば非同期ポストバックとなります。

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
  <ContentTemplate>
    <asp:Button ID="Button1" runat="server" Text="同期ポストバック" />
    <asp:Button ID="Button2" runat="server" Text="非同期ポストバック" />
    <asp:Button ID="Button3" runat="server" Text="非同期ポストバック" />
  </ContentTemplate>
  <Triggers>
    <asp:PostBackTrigger ControlID="Button1" />
    <asp:AsyncPostBackTrigger ControlID="Button2" />
  </Triggers>
</asp:UpdatePanel>

関連記事