最近,我们在 IE10 上测试了我们的产品,遇到了服务器按钮控件“Asp:ImageButton”在 IE10 上使用 UpdatePanel 无法触发的问题。以下是示例代码:
<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);
}
这里有两件事让我感到困惑:一是这个问题只发生在我部署在 IIS 上并且在 VS 上调试时工作正常。二是如果我删除了上面的两个标签“br”,该事件将被触发。此外,如果我将 ImageButton 更改为 Button,该事件也会被触发。
所以,不知道是不是我遗漏了什么或者误解了ImageButton和Button控件的生命周期。任何帮助将不胜感激。
测试环境:VS2010、IIS 7.5、IE10(10.0.9200.16484)