遍历页面上的控件
void DisplayAllControls(Control topctrl){
foreach(Control ctrl in topctrl.Controls){
Response.Write(ctrl.ID+" 是一个 "+ctrl.GetType().ToString()+"<br>");
if(ctrl.HasControls())
DisplayAllControls(ctrl);
}
}
这样用:
void Page_Load(object src,EventArgs e){
DisplayAllControls(this);
}
void DisplayAllControls(Control topctrl){
foreach(Control ctrl in topctrl.Controls){
Response.Write(ctrl.ID+" 是一个 "+ctrl.GetType().ToString()+"<br>");
if(ctrl.HasControls())
DisplayAllControls(ctrl);
}
}
这样用:
void Page_Load(object src,EventArgs e){
DisplayAllControls(this);
}
static public void InitButtons(System.Web.UI.Page p)
{
for(int i=0;i<p.Controls.Count;i++)
{
if(p.Controls[i].HasControls())
{
for(int j=0;j<p.Controls[i].Controls.Count;j++)
{
if(p.Controls[i].Controls[j].GetType().Namespace=="System.Web.UI.WebControls")
{
if(p.Controls[i].Controls[j].GetType().Name=="Button")
{
if(((Button)(p.Controls[i].Controls[j])).Text=="增加")
{
((Button)(p.Controls[i].Controls[j])).Enabled=true;
}
else if(((Button)(p.Controls[i].Controls[j])).Text=="保存")
{
((Button)(p.Controls[i].Controls[j])).Enabled=false;
}
else if(((Button)(p.Controls[i].Controls[j])).Text=="放弃")
{
((Button)(p.Controls[i].Controls[j])).Enabled=false;
}
}
}
}
}
}
}
最后问你一个问题!
void DisplayAllControls(Control topctrl){
foreach(Control ctrl in topctrl.Controls){
Response.Write(ctrl.ID+" 是一个 "+ctrl.GetType().ToString()+"<br>");
if(ctrl.HasControls())
DisplayAllControls(ctrl);//这里这么些不影响循环的次数吗!???偶有些不理解,能给偶解释一下吗!?这时的ctrl已经是子控件了呀!循环为什么不出错呢!?实在是不理解呀!
}
}
{
int i,j;
for (i = 0; i < page.Controls.Count; i++)
{
if (page.Controls[i].HasControls())
{
for (j = 0; j < page.Controls[i].Controls.Count; j++)
{
if (page.Controls[i].Controls[j].GetType().Namespace == "System.Web.UI.WebControls")
{
if(page.Controls[i].Controls[j].GetType().Name=="TextBox")
{
if (FormatValue == null)
{
((TextBox)(page.Controls[i].Controls[j])).Text = "";
}
else
{
((TextBox)(page.Controls[i].Controls[j])).Text = FormatValue;
}
}
}
}
}
}
}
你试试这样行不行!