以下操作将导致PostBackUrl无效,原因在于执行了OnClientClick事件。
a.aspx
<asp:Button ID="btSubmit" runat="server" Text="提交" PostBackUrl="~/***/b.aspx" OnClientClick="return btSubmitClient();" />
查看生成的HTML就会发现,submit按钮的click先执行客户端脚本return btSubmitClient();分号之后的脚本根本就不再执行了,即导致PostBackUrl失去了作用。
但是如果是asp:LinkButton则不会出现此问题,同样查看生成的HTML即可发现LinkButton生成的是A链接(Button生成的是input type="button"),原来的客户端脚本放到A链接的onclick事件中,PostBackUrl要执行的脚本放到了href中,互不干扰。
提示:<a href="b.aspx" οnclick="return false">aaa</a>中href链接是不起作用的。