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()添加。

  • 相关阅读:
    LeetCode "Palindrome Partition II"
    LeetCode "Longest Substring Without Repeating Characters"
    LeetCode "Wildcard Matching"
    LeetCode "Best Time to Buy and Sell Stock II"
    LeetCodeEPI "Best Time to Buy and Sell Stock"
    LeetCode "Substring with Concatenation of All Words"
    LeetCode "Word Break II"
    LeetCode "Word Break"
    Some thoughts..
    LeetCode "Longest Valid Parentheses"
  • 原文地址:https://www.cnblogs.com/blues_/p/1684358.html
Copyright © 2011-2022 走看看