遍历(页面)连接、文本框、表格

想遍历页页上的每一个TextBox控件?
代码如下: 
foreach  (Control con  in   this .Page.Controls[ 1 ].Controls)
{
  
if (con is TextBox)
  
{
   (con 
as TextBox).Text = "Hello world!";
  }

}



通过this.Page.Controls,得到ControlCollection,这个集合下面有3个成员,Owner依次为:
this.Page.Controls[0]--System.Web.UI.ResourceBasedLiteralControl
this.Page.Controls[1]--System.Web.UI.HtmlControls.HtmlForm
this.Page.Controls[2]--System.Web.UI.LiteralControl

可见,如果想得到所有的TextBox控件,必须选择this.Page.Controls[1],再获取其下面的Controls集合,即可得到你想要的TextBox。This is because the TextBox is a child control of the Web Form control (the HtmlForm control) 

------------------------------------------------------------

                                 华丽的分割线

------------------------------------------------------------

c# 遍历页面TextBox
public void SetTextBox(Control obj)
{
for(int i=0;i<obj.Controls.Count;i++)
{
if(obj.Controls[i].Count>0)
SetTextBox(obj.Controls[i]);
else
{
if(obj.Controls[i].GetType==typeof(TextBox))
((TextBox)obj.Controls[i]).Text = "textbox";
}
}
}

protected void Page_Load(object sender, EventArgs e)
{
SetTextBox(Page);
}


//需要修改
foreach (Control ctl in this.Controls)

if (typeof(ctl)==typeof(TextBox))
{
ctl.Text="我是textbox";
}
}


//*************************
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) { getTextBox(Page); }
}
private void getTextBox(Control obj) 
{
for (int i = 0; i < obj.Controls.Count; i++)
{
if (obj.Controls[i].Controls.Count > 0)
getTextBox(obj.Controls[i]);
else
{
if (obj.Controls[i].GetType() == typeof(TextBox))
((TextBox)obj.Controls[i]).Text = "我是文本框";
}
}

}

//****************************
protected void Button1_Click(object sender, EventArgs e)
{
SetTextBox(Page);

}
public void SetTextBox(Control obj)
{
for (int i = 0; i < obj.Controls.Count;i++ )
{
if (obj.Controls[i].HasControls())
{
SetTextBox(obj.Controls[i]);
}
else
{
if (obj.Controls[i] is TextBox)
{
(obj.Controls[i] as TextBox).Text = "test";
}
}
}

}

三种方法,使用递归,获取页面所有的Textbox

------------------------------------------------------------

                                 华丽的分割线

------------------------------------------------------------

javascript 遍历(页面)连接、文本框、表格 .txt 

遍历所有链接,并设置为不可见.
var a = document.getElementsByTagName("A");   
        for(var i=0;i<a.length;i++)   
        {   
            if(a[i].name.indexOf('IDView') != -1)
                a[i].style.display = 'none';
        }

遍历所有文本框.

var list=document.getElementsByTagName("input");

for(var i=0;i<list.length && list[i];i++)
{
      //判断是否为文本框
      if(list[i].type=="text")   
      {
         for(var j=0;j<86;j++)
             {
                 if(list[i].id == JsDispatch.value[0][j])
                 {
                   list[i].value = JsDispatch.value[1][j];
                 }
             }
      }
}
遍历表格,DataGrid,GridView

function getPreTicket()
    {
        var _table = document.getElementById("gvTicketList"); //获取表格gvTicketList为GivView控件名;
        var _trs = _table.all.tags('tr');//获取所有行;
        for(var i=0;i < _trs.length ; i++)
        {
            if(_trs[i].id.indexOf(__currentTicketID)!=-1) //当前行,是否有绑定表的主键,
            {
                i--;//切换到上行
                if(_trs[i]!=null && _trs[i].id!="")
                {
                    var _s1 ="gvTicketList";
                    BindData( _trs[i].id.substring(_s1.length+1) );//把这一个行ID传给其它函数
                }
                else
                {
                    alert("This is the first record of the current page!");
                    document.getElementById("aPreTicket").style.disbaled =true;
                    break;
                }
            }
        }
}

你可能感兴趣的:(文本框)