Asp .NET 按钮 - OnClientClick="return function()" vs OnClientClick="function()"

Posted

技术标签:

【中文标题】Asp .NET 按钮 - OnClientClick="return function()" vs OnClientClick="function()"【英文标题】:Asp .NET Button - OnClientClick="return function()" vs OnClientClick="function()" 【发布时间】:2013-11-30 11:39:44 【问题描述】:

在 asp.net 用户控件中,我有一个按钮:

<asp:Button ID="addButton" runat="server" Text="Add"  OnClientClick="return function()". 

我编写了 jquery 代码来隐藏函数()内页面中存在的控件(验证摘要)。

当我编写“return function()”时,它的行为符合我的预期,并且控件被隐藏了。而当我只写“function”()”时,控件被隐藏但又重新出现。两者之间究竟有什么区别?

【问题讨论】:

【参考方案1】:

首先:客户端运行 (OnClientClick)

然后 - 服务器端。

但是

客户端代码可以通过返回true/false来阻止服务器端的执行。

通常我们在提交到服务器之前使用它进行验证。

这样做,您的服务器端(没有黑客攻击)将永远无法工作:

OnClientClick="return false;"

【讨论】:

以上是关于Asp .NET 按钮 - OnClientClick="return function()" vs OnClientClick="function()"的主要内容,如果未能解决你的问题,请参考以下文章

如何绕过 ASP.NET 中按钮的验证?

怎么实现在ASP.NET点击一个按钮就弹出要用户输入(含ASP.NET组件)的窗体?

如何将 html 按钮设置为 ASP.Net 表单的默认按钮?

asp.net 单选按钮分组

更新面板中的 ASP.NET 按钮问题

ASP.NET 按钮单击清除 jQuery 水印