工作经验之OnClick的小细节

今天遇到一个问题关于OnClientClick和OnClick的 ,看一下下面的代码有啥不同吧:

<asp:Button ID="btnQuery" runat="server" Text="查询(Q)" AccessKey="Q" OnClientClick="btnQuery();"
     OnClick="btnQuery_Click" CssClass="nButton" />
<asp:Button ID="btnQuery" runat="server" Text="查询(Q)" AccessKey="Q" OnClientClick="return btnQuery();"
     OnClick="btnQuery_Click" CssClass="nButton" />
         一眼看出,OnClientClick的方法中 多了一个return。

     OnClientClick="btnQuery();" 这样当然会执行btnQuery方法 但是不管return的是true和false 都会跳转到OnClick事件,也就是说,当我们的判断不正确的时候,也会去cs类中执行后台的代码,相当于OnClientClick事件没有起到它应该有的作用。 

     如果定义了OnClientClick事件,事件中return true的时候 才会去执行OnClick事件。其实就是一个单词return的原因,害我整整弄了一个小时。

      在进行验证判断的时候,其实一些验证可以放在页面中判断的,无需再去后台cs类中去判断了,仅仅说一下关于文本框中包含特殊字符的js判断吧。

      其实在cs中写的时候很简单。代码如下:

this.TextBox1.Text.Trim().Contains("$")
           但是我们要把它放到前台js中,可就不行了,再来看看下面这段代码:

txtNum.value.trim().indexOf('$')>= 0
            好啦,就这点知识小分享,小知识,大智慧!

你可能感兴趣的:(工作经验之OnClick的小细节)