首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

(抢分了)用C#编程遍历页面中所有的TextBox,并将Text设置为"小弟我来抢分"

2011-12-27 
(抢分了)用C#编程遍历页面中所有的TextBox,并将Text设置为我来抢分.....[解决办法] %@ Page Language

(抢分了)用C#编程遍历页面中所有的TextBox,并将Text设置为"我来抢分"
.....

[解决办法]
<%@ Page Language= "C# "%>

<script runat=server>
void GetChildControl(Control ParentControl)
{
if (ParentControl.HasControls())
{
foreach (Control ctl in ParentControl.Controls)
{
if(ctl.GetType().ToString() == "System.Web.UI.WebControls.TextBox ") ((System.Web.UI.WebControls.TextBox)ctl).Text= "分 ";

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

</script>
<form runat=server>
<asp:textbox id=a runat=server/>
<asp:textbox id=b runat=server/>
<asp:textbox id=c runat=server/>
<asp:Panel id=cc runat=server>
<asp:textbox id=d runat=server/>
</asp:Panel>

</form>

[解决办法]
递归是得到全部的TextBox,你的代码
foreach (Control c in Page.Controls)
{
Response.Write(c.ToString() + " <br> ");
}
得到的只是Page下的子控件,并不能得到textBox,注意:控件是树型结构的,TextBox是form的子控件,不是Page的子控件。

使用你的方法需要这样

foreach (Control c in form1.Controls)
{
Response.Write(c.ToString() + " <br> ");
}

热点排行