按钮有客户端事件后验证控件失效

前不久在aspx中放了个按钮控件:
<asp:Button ID="btnSend" runat="server" Text="发 送"
OnClientClick="return btnSend();" OnClick="btnSend_Click" />
然后又放了一个验证控件(RequiredFieldValidator),突然发现在界面提交时,验证控件失效了。

后来在看页面源文件时才发现,当页面有RequiredFieldValidator时,会对所有button加上CausesValidation="True"的属性 ,这样就会默认在提交时调用ASP.Net自带的Page_ClientValidate()对控件进行验证,但是我的button已经有一个OnClientClick事件,服务器则只执行一个事件,这样就导致验证控件的失效。

修改后代码:
<asp:Button ID="btnSendB" runat="server" Text="发 送" OnClientClick="if(Page_ClientValidate()) {return btnSend();} else{return false;}" OnClick="btnSend_Click" />.
这样两个事件都能被执行。

posted @ 2013-02-13 00:30  我的宣言  阅读(193)  评论(0编辑  收藏  举报