大侠你好!特意找到您我想请教一个问题,曾经你回答过的一个问题,我对于您的回答还是有点不清晰。

我的问题是遍历页面中的控件。您曾经的回答是这样的:如果你的page里有1,2,3,4,5五个控件它们在page.controls里是索引就分别是0,1,2,3,4,(i=... 我的问题是遍历页面中的控件。您曾经的回答是这样的:

如果你的page里有1,2,3,4,5 五个控件
它们在page.controls里是索引就分别是0,1,2,3,4,(i = ctrl.ID-1)
因为page.Controls[i],i(索引)是从0开始递增1的,
page.Controls[i].Controls[j]一样j是i里面的第j-1个子控件
此处的foreach ctrl in this.Page.Controls[3].Controls
相当于for(i=0,this.Page.Controls[3].Controls.length'子控件数',i++)
那么this.Page.Controls[3]就是"4"这个控件
this.Page.Controls[3].Controls就是"4"下面所有对像的集合,其中包含 4[n]
----------------------
请看下面我写的代码:
foreach (Control ctrl in this.Page.Controls[3].Controls)
{
if (ctrl is TextBox)//把TextBox改成Butten 也是为真
{
this.TextBox1.Text = "HELLO";
}
}

下面把this.Page.Controls[3].Controls 改为this.Page.Controls[2].Controls

foreach (Control ctrl in this.Page.Controls[2].Controls)
{
if (ctrl is TextBox)//把TextBox改成Butten 也是为假
{
this.TextBox1.Text = "HELLO";
}
}
前台代码是:
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
</form>
</body>

那么我想问的是 page.Controls[3].Controls 是 Butten 还是 TextBox?假如我的问题没有描述清楚请与我联系DODO_LIFENG@163.COM。
大侠非常希望得到您的讲解!!
展开
 我来答
sunchuangman
2011-04-01 · 超过12用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:30.1万
展开全部
page.Controls[3].Controls.GETType()可以看看是Butten 还是 TextBox!
更多追问追答
追问
是这样吗?
但是报错。
foreach (Control ctrl in this.page.Controls[3].Controls.GETType())
{
if (ctrl is TextBox)
{
this.TextBox1.Text = "HELLO";
}
}
如果是下面这样的话还是跟原来一样的!
你有时间吗?能帮我改下吗? 我比较笨呵呵...但是我真想弄明白!
追答
你的页面上只有两个Controls!!!!!i应该是0-1
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式