最近的项目中遇到一个问题,input(button)的onclick事件调用js方法之后,虽然在方法中写了return false,却依旧执行了onserverclick事件调用的后台方法,然后换成Asp:Button,写在OnClientClick事件中,也执行了OnClick事件。不仅是提交部分,在网络较慢的情况下,后台btnSubmit_ServerClick事件会多次触发,导致向数据库插入了多条资料。
此处需注意的就是如下两个按钮中,inptut(button)的onclick方法和Asp:Button的OnClientClick方法等效,onserverclick方法和OnClick方法等效。
<input type="button" id="btnSubmit" runat="server" value="確定" οnclick="CheckInfoAdd();" onserverclick="btnSubmit_ServerClick" />
<asp:Button ID="btnSubmit" runat="server" Text="确定" OnClick="btnSubmit_ServerClick" OnClientClick="CheckInfoAdd