Asp.net OnClientClick for按钮即使在验证组中仍在运行

Asp.net OnClientClick for按钮即使在验证组中仍在运行,asp.net,Asp.net,我在验证组中有一个按钮,当页面上的任何文本框未填充时,onClick将不会像预期的那样运行,但OnClientClick将运行 <asp:Button ID="btnSend" runat="server" Text="Send" ValidationGroup="send" OnClick="sendNow" OnClientClick="document.getElementById('SendingMessage').style.visibility = 'visible'

我在验证组中有一个按钮,当页面上的任何文本框未填充时,onClick将不会像预期的那样运行,但OnClientClick将运行

 <asp:Button ID="btnSend" runat="server" Text="Send" ValidationGroup="send" OnClick="sendNow"
    OnClientClick="document.getElementById('SendingMessage').style.visibility = 'visible'" />


有没有办法阻止onclientclick与验证组的onClick一样运行?

onClick
是一个服务器端事件
onclientclick
是一种客户端(javascript)操作。在这种情况下,单击按钮,因此将执行onclientclick。如果验证通过,浏览器将发布到表单,并执行
onclick
事件。如果验证失败,则根据验证失败的位置,将发生以下两种情况之一

如果客户端验证失败,则不会向服务器发送请求。如果在服务器上验证失败,则表单已发布到服务器,但输入验证失败,并且不会执行
onclick
事件

在您的情况下,您需要在
onclientclick
事件中添加一些客户端代码,以验证用户的输入。如果验证返回true,则继续运行脚本。如果验证失败,请不要。应该有一种方法与客户端上的webforms验证相结合。不过我不知道怎么做