zoukankan      html  css  js  c++  java
  • C#中给控件添加客户端js事件

      今天做一个输入界面,有一需求根据一个DropDownList选择不同,后面部分出现不同的输入界面,若把响应事件放在服务端去做,得频繁刷页面。就想放在客户来处理显示和隐藏相应的输入界面。

      放在服务器端,也可以用ajax来实现,不刷页面。但我觉得有更直接更简单方法,用一个js事件是可以实现的。

      但,DropDownList不偈Button等控件提供了一些像"OnClientClick"前台事件,只有服务端事件。

      想到,所有C#页面代码,最终都是生成HTML,js事件也是最终运在浏览器中,以Html为基础的。服务端控件最终生成的HTML控件有什么js事件,我们应该就能在aspx中给它添加相应的事件。

         DropDownList 生成的Htm是元素<Select>是有onchange事件的,所以我们也是可以给DropDownList添加onchange()事件,我们通常用的方法,在后台文件的Page_Load 事件中,给id为ddlExamType的DropDownList  添加onchange()事件:

                           ddlExamType.Attributes.Add("onchange","SelecteChanged('"+this.ddlExamType.ClientID"')");

     前台定义的js 函数:SelecteChanged()

          <script language="javascript">
            function selectChange(objID) {
                var ddlExamType = document.getElementById(objID);
                 if (bool) {
                    ……
                }
                else {
                    ……
                }
            }
        </script>

        总结: C#的服务端控件,生成html时对应控件有什么js事件,我们都能通过对控件 Attributes.Add()添加。

  • 相关阅读:
    Codeforces Round #622 (Div. 2)
    Knapsack Cryptosystem 牛客团队赛
    HDU 2586(LCA欧拉序和st表)
    P3865 【模板】ST表
    P2023 [AHOI2009]维护序列 区间加乘模板
    P1558 色板游戏 线段树(区间修改,区间查询)
    Codeforces Round #621 (Div. 1 + Div. 2) D
    Codeforces Round #620 (Div. 2) E
    Educational Codeforces Round 82 (Rated for Div. 2)
    洛谷P1638 逛画展
  • 原文地址:https://www.cnblogs.com/blues_/p/1684358.html
Copyright © 2011-2022 走看看