我有一个包含图片按钮的更新面板:
<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()
函数。有没有解决这个问题的方法?
非常感谢任何帮助
谢谢!
答案 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();"/>