UpdatePanelを使用しようとしていますが、ページの一部の更新を機能させることができません。
ScriptManagerのIsInAsyncPostBackプロパティを見ると、常にfalseです。
これが問題を再現したページです。ScriptManager、UpdatePanel、更新パネル内のLinkButton、およびTriggersコレクションを介してUpdatePanelに接続されたボタンがあります。
<%@ Page Language="C#" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToString();
if (IsPostBack)
Label1.Text += " - Postback!";
if (ScriptManager1.IsInAsyncPostBack)
Label1.Text += " - Async!";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>Panel 1:<asp:Label runat=server ID=Label1 /><br />
<asp:LinkButton runat=server ID="LinkButton1" Text="Update!"></asp:LinkButton></ContentTemplate>
<Triggers><asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" /></Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button1" Text="Refresh Panel 1" runat="server" UseSubmitBehavior=false />
</form>
</body>
</html>
このコードを実行していずれかのボタンをクリックすると、「パネル1:2/8/2010 3:38:41 PM-ポストバック!」と表示されます。
どちらかのボタンをクリックすると、UpdatePanel1のページの一部が更新され、IsInAsyncPostBackがtrueになり、「-Async!」になると予想しました。Label1に追加されます。
IsInAsyncPostBackが常にfalseである理由はありますか?