我正在尝试使用ImageButton控件仅用于客户端脚本执行.我可以使用OnClientClick属性指定要执行的客户端脚本,但是如何阻止它在每次用户单击时尝试发布?单击此按钮时没有理由发布.我已将CausesValidation设置为False,但这不会阻止它发布.
解决方法
这是你可以做到的一种方式,而不会与其他控件的回发功能发生冲突:
定义你的按钮是这样的:
<asp:Button runat="server" Text="Button" UseSubmitBehavior="false" OnClientClick="alert('my client script here');my" />
OnClientClick处理程序中的“my”结尾是一种别名asp.net的__doPostBack客户端事件的方法,它强制回发;我们只是通过不执行任何类似于此脚本的操作来覆盖行为:
<script type="text/javascript"> function my__doPostBack(eventTarget,eventArgument) { //Just swallow the click without postback of the form } </script>
编辑:是的,我觉得我需要洗一些我需要拉动的肮脏技巧才能让asp.net做我想做的事.