网站分前台和后台,现在知道了前后台页面的名称,如何遍历指定页面的所有控件的名称呢?
/// <summary>
/// 有效遍历asp.net页面所有控件的方法
/// </summary>
/// <param name="parent">this</param>
void IterateThroughChildren(Control parent)
{
foreach (Control c in parent.Controls)
{
//Label1.Text += c.ID + "|";//示例
if (c.Controls.Count > 0) // 判断该控件是否有下属控件。
{
IterateThroughChildren(c); //递归,访问该控件的下属控件集。
}
}
}
这个方法只能遍历当前页的控件,所以我想问问指定某一个页面的遍历,而且不要用一个控件一个控件的比对,例如是TextBox,Label等,这种效率太低,而且我的控件很多!
new一个指定页面的实例,传到方法里可否?
还有人有这种需求?
你为什么从后台找前台所有的控件啊,this.Control.findcontrol("Id")这样就可以直接找到这个控件啊。
你干嘛要遍历所有的控件啊?那样效率自然很低啊,你就想要什么控件就找什么控件呗。一般的控件都有它的ID 和name 的啊
你要是在后台查找前台的某个控件这样就可以了啊:Request.Params["控件name"];
你好,请问这个问题你是如何解决的?我遇到同样的问题,要在一个类中获取另一个页面的控件ID集合