zoukankan      html  css  js  c++  java
  • HTML 控件和web控件 OnClientClick和OnClick OnServerClick区别

     

    ^_^

     

     

    本来对html控件,服务器控件的知识模模糊糊的。今天特地查了相关的知识。

     

     

    下面是我写代码总结的。

     

    这些事件   主要用于在客户端执行验证,然后决定是否执行服务端事件   (没接触之前就为此纳闷呢,now豁然开朗)

     

    假设:若输入框里的  字符长度  >1   and  <5 的话,就会执行服务器端的代码。

     

    js:

           <script type="text/script">

            function abc()

             {

                  var len=document.getElementById("text").value;             //得到text里的值

                   if(a.length>1 && a.length<5)

                     return ture;

                  else

                   {

                     alert('长度必须大于1小于5');

                     return fasle;

                   }

     

            }

          </script>

     

     

     1.   onclick   ,onclientclick  事件 使用  (html控件定义为 runat='server'使用)

     

     

     

    如:  <input type="button" onclick="javascript:if(abc())" onserverclick="后台事件" runat="server" />

     

       注意 :   onclick 里的写法      javascript:if(abc())      结束时候无分号 .

     

     

    2.  onclick   ,onclientclick  事件

     

        <asp:button        id="bt"   onclick="bt_click "  onclientclick="return abc() ;"   runat="server">             //  renturn  true  则执行 服务端事件;否则 

                                                                                                                                             不执行

     

    3.

    后台pageload 方法中添加 前台的onclick 事件

     

    protected void Page_Load(object sender, EventArgs e)
        {
            btt.Attributes.Add("onclick", "javascript:if(document.getElementById('text').value.length>5);else {alert('length小于5了');return false;}");
        }

          
     
     
    onClick:执行C#代码, OnClientClick:执行javascript代码。
            
            OnClientClick先于OnClick发生,一般执行脚本

      OnClientClick() 控制客户端提交。

      例如可以使用confirm('是否执行?')

      return true:执行OnClick事件。

      return false:什么都不干。

      再得来说:

      OnClientClick是调用客户端的事件,OnClick是调用服务器端的事件,当点击button时,先触发OnClientClick事件再触发OnClick事件

      一般我们用 OnClientClick验证我们的提交数据,但是这个一定要返回ture或者false,即一定要加上return,否则OnClick失效。当返回false时OnClick服务器端事件才被中止,当你的js验证有错误,也会跳过验证,直接执行服务器端事件OnClick。为了避免这样的错误,可以考虑用服务端验证这样就省去了OnClientClick事件,就不用考虑和OnClick的冲突了。但是从性能上,服务端验证,耗费了服务器资源,呵呵,一般是没问题的,只是和客户端验证比较而已,各有所长,各有所短。

  • 相关阅读:
    Vue 导出excel 自适应宽度
    .Net 5.0 项目数据库连接字符串
    .Net 5.0 从api下载文件到本地
    Oracle for 循环输出(游标提取)
    找到多个与名为“Home”的控制器匹配的类型
    让tomcat使用指定JDK
    .NetCore 3 单文件发布详解
    CentOS7 常用命令大全
    阿里云ECS CentOS 7.8 安装图形化桌面GNOME
    用命令禁用本地连接
  • 原文地址:https://www.cnblogs.com/minghualiyan/p/3508236.html
Copyright © 2011-2022 走看看