UpdatePanel中的ImageButton会在Firefox中导致完全回发

时间:2009-07-20 21:26:46

标签: .net asp.net firefox updatepanel

我有一个包含图片按钮的更新面板:

<asp:ImageButton ID="btnChangeMedium" OnClick="Change_Click" runat="server" />

当页面加载时,基于某些逻辑,我在后面的代码中设置了onclick属性。

btnChangeMedium.Attributes.Add("onclick", "ChangeMedium();");

在IE中使用greate。在FF中,图像按钮会导致回发!通过反复试验和搜索网络,我发现罪魁祸首是onclick。一篇博客文章建议如果设置了OnClientClick,那么不应该发生回发,所以我将图像按钮更改为:

    <asp:ImageButton ID="btnChangeMedium" OnClick="Change_Click" runat="server"
 OnClientClick="#"/>

我能够让它不在图像按钮点击上进行回发,但不幸的是,它并没有完全解决我的问题。现在呈现的HTML是:

    <input type="image" id="ctl00_WorkSpaceContent_ctlParent_btnChangeMedium"
src="../../images/sec.gif" onclick="#;ChangeMedium();"/>

因此,永远不会调用ChangeMedium()函数。有没有解决这个问题的方法?

非常感谢任何帮助

谢谢!

2 个答案:

答案 0 :(得分:1)

您应该删除OnClientClick并输入以下内容:

btnChangeMedium.Attributes.Add("onclick", "ChangeMedium();return false;");

答案 1 :(得分:1)

试试这个:

 <asp:ImageButton ID="btnChangeMedium" OnClick="Change_Click" runat="server"
 OnClientClick="javascript:void(0);ChangeMedium();"/>