遍曆當前頁的的控制項的方法和用途有很多,如定位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> </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裡不類型化.你得找到他的哪個命名空間.