最近、IE10で製品をテストしたところ、UpdatePanelを使用したIE10でサーバーボタンコントロール「Asp:ImageButton」が起動されないという問題が発生しました。以下はサンプルコードです。
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
Here is the content.
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="buttonSubmit" />
</Triggers>
</asp:UpdatePanel>
<br />
<br />
<asp:Button ID="buttonSubmit" runat="server" ToolTip="Submit" OnClick="buttonSubmit_Click" />
</form>
サーバ側:
protected void buttonSubmit_Click(object sender, ImageClickEventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.Page.GetType(), "alert", "alert('It works.')", true);
}
私を混乱させた2つのことがあります。1つは、IISに展開した場合にのみ問題が発生し、VSでデバッグするときに正常に機能することです。2つは、上の2つのタグ「br」を削除すると、イベントが発生するというものです。また、ImageButtonをButtonに変更すると、イベントも発生します。
そのため、何かが足りないのか、ImageButtonとButtonコントロールのライフサークルを誤解しているのかわかりません。どんな助けでも大歓迎です。
テスト環境:VS2010、IIS 7.5、IE10(10.0.9200.16484)