zoukankan      html  css  js  c++  java
  • Asp.Net中清空所有textbox的几种方法

        用反射:    
        引入命名空间:using System.Reflection;  
        FieldInfo[] infos = GetType().GetFields( BindingFlags.Public | BindingFlags.NonPublic|BindingFlags.GetField |BindingFlags.Instance);      
        for(int i=0;i<infos.Length;i++)      
        {      
        if(infos[i].FieldType == typeof(TextBox))      
        {      
        ((TextBox)infos[i].GetValue(this)).Text = "";      
        }      
        }  
    //使用js,好处是不用刷新页面:      
    function ClearAllTextBox()      
    {      
    var obj=window.document.forms[0];      
    for(i=0;i<obj.elements.length; i++)      
    {      
    var elem=obj.elements[i];      
    if(elem)      
    {      
    if(elem.type=="text")      
    {      
    elem.value="";      
    }      
    }      
    }      
    }   
        function clearInfo(){//和上面这种类似只是将不清空的文本框ID放入allowtedExtension数组里   
                   var flag;   
                    var obj=window.document.forms[0];   
                    var allowtedExtension=["txtPictureName","txtUpLoadBeginDate","txtUpLoadEndDate"];   
                    for(var i=0;i<obj.length;i++){   
                          var elem=obj.elements[i];   
                       if(elem){//判断是否存在   
                             if(elem.type=="text"){   
                                  for(var j=0;j<allowtedExtension.length;j++){   
                                    var flag=true;   
                                     if(allowtedExtension[j]==elem.id){//判断ID数否是与数组中某个ID相等   
                                         flag=false;   
                                         break;   
                                     }   
                                  }   
                                   if(flag){   
                                         elem.value="";            
                                   }   
                            }   
                         }   
                    }    
                    document.getElementById("ddlPicType").selectedIndex=0;//清空下拉框   
                    document.getElementById("lblPicUpName").innerHTML="";//清空label   
              }  
        //最后一种用Jquery      
        function ClearText() {      
            $("input").each(function() {      
                $(this).val('');      
            });      
        }   

    【说明】:

        如果页面中有多个文本框,并且他们的命名没有规律的话,当我们想要实现重置方法,即将所有TextBox 文本框中的值清空的时候,使用一个循环语句循环清空页面中所有 TextBox 类型控件中的值是一个不错的选择

    实现这个功能有两种方法,一种是通过 JavaScript 实现,另一种是通过后台程序代码实现:

    【JavaScript 方法实现】:

     函数代码如下:

    function ClearTextBoxValue()

    {

            for(i=0;i<window.document.forms[0].elements.length;i++)

            {

                    if(window.document.forms[0].elements[i].type=="text")         

                    {

                           window.document.forms[0].elements[i].value="";

                    }

            }

            return false;

    }

    后台调用代码如下:

    this.btnReset.Attributes.Add("onclick","return ClearTextBoxValue()");

    【后台程序代码实现】:

     处理方法如下:

     private   void   FindButton(Control   c)   
     {  
          if   (c.Controls   !=   null)  
          {  
        
              foreach(Control   x   in   c.Controls)   
             {  
                 if   (x   is   TextBox)   
                 {  
                     ((TextBox)x).Text="";   
                 }  
                FindButton(x);  
              }   
          }  
      }

     调用方法如下:

     private void btnReset_Click(object sender, System.EventArgs e)
     {
       this.FindButton(this);
     }

    【说明】:

     在后台代码实现中,如果遇到容器则需要递归调用,这就是为什么上面的代码中会有 foreach 循环中再次调用自己.

  • 相关阅读:
    前端面试题六
    前端面试题五
    前端面试题四
    前端面试题之三
    前端面试题分享二
    前端面试题分享一
    JS学习笔记一
    git使用学习笔记一
    常见User-Agent
    ado.net之SQLServer和Oracle (sys_cursor) 数据库链接——获取结果集方式对比
  • 原文地址:https://www.cnblogs.com/LifeKingcn/p/2752243.html
Copyright © 2011-2022 走看看