在代码隐藏中遍历当前页的所有控件

王朝c#·作者佚名  2006-12-17
宽屏版  字体: |||超大  

在代码隐藏中遍历当前页的所有控件

在代码隐藏中遍历当前页的所有控件 遍历当前页的的控件的方法和用途有很多,如定位datagrid中的checkbox...

但是要是遍历当前页的所有控件,有人说是foreach (object c in PageControls),其实这样是不行的

你可以Response.Write(c.GetType().Name.ToString()+'<BR>');看看.(估计在不采用代码隐藏时候行)

经过下午的询问和研究,在不采用代码隐藏的时候很简单,直接

foreach (object c in hf.Controls),其中hf就是form的id

但是在代码隐藏的时候得采用

cs.

protected System.Web.UI.WebControls.CheckBox CheckBox1;

protected System.Web.UI.WebControls.CheckBox CheckBox2;

protected System.Web.UI.WebControls.CheckBox CheckBox3;

protected System.Web.UI.WebControls.CheckBox CheckBox4;

protected System.Web.UI.WebControls.TextBox TextBox1;

protected HtmlForm hf;

private void Page_Load(object sender, System.EventArgs e)

{

foreach (object c in hf.Controls)

{

if(c is CheckBox)

{

Response.Write(c.GetType().Name.ToString()+'<BR>');

CheckBox cb=(CheckBox)c;

cb.Checked=this.CheckBox4.Checked;

}

}

}

aspx

<form id='hf' runat='server'>

<FONT face='宋体'>

<P>

<FONT face='宋体'>

<P>

<asp:CheckBox id='CheckBox1' runat='server'></asp:CheckBox>

<asp:CheckBox id='CheckBox2' runat='server'></asp:CheckBox>

<asp:CheckBox id='CheckBox3' runat='server'></asp:CheckBox></P>

<P>

<asp:CheckBox id='CheckBox4' runat='server' AutoPostBack='True'></asp:CheckBox></P>

<P>&nbsp;</P>

</FONT>

<P>

<asp:TextBox id='TextBox1' runat='server'></asp:TextBox></P>

</FONT>

</form>

如果不加 protected HtmlForm hf;

则提示你找不到hf,他不象其他的控件一样 protected System.Web.UI.WebControls.CheckBox CheckBox2;

被先类型话,就是html控件在vs.net中的cs里不类型化.你得找到他的哪个命名空间.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有