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

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

遍历当前页的的控件的方法和用途有很多,如定位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- 王朝網路 版權所有 導航