zoukankan      html  css  js  c++  java
  • OnClientClick事件和验证控件同时用的时候,会有问题

    验证控件仿佛失灵问题

    问题描述:
    有一按钮事件如下↓
    <asp:Button ID="btnSend" runat="server" Text="发 送" OnClientClick="return btnSend();" OnClick="btnSend_Click" />
    然后又放了一个验证控件(RequiredFieldValidator)

    预期效果:如果验证控件未通过,则点击Button时不能提交。

    问题出现:现在是验证控件验证未通过,点击Button,却提交了。。。

    解决问题:<asp:Button ID="btnSendB" runat="server" Text="发 送" OnClientClick="if(Page_ClientValidate()) {return btnSend();} else{return false;}" OnClick="btnSend_Click" />

    问题原因:当页面有验证控件(如RequiredFieldValidator)时,会对所有Button加上CausesValidation="True"的属性 ,这样就会默认在提交时调用ASP.Net自带的Page_ClientValidate()对控件进行验证,但是Button已经有一个OnClientClick事件,服务器则只执行一个事件,这样就导致验证控件的失效。
    因此可以看作是Button的OnClientClick事件优先级高于ASP.Net自带的Page_ClientValidate()事件,故可在OnClientClick调用Page_ClientValidate并加以判断。

  • 相关阅读:
    从jdbc到分层的飞跃
    第二章 变量和数据类型
    s1300新学期伊始的我们
    选择结构总结
    第四章 选择结构(二) Switch结构
    第三章 选择结构(一)
    第二章 变量、数据类型和运算符
    使用Java理解程序逻辑 第1章 初识Java 基本部分
    ES命令基础
    Spring MVC拦截器
  • 原文地址:https://www.cnblogs.com/wenghaowen/p/2973836.html
Copyright © 2011-2022 走看看