关于.net的控件遍历及根据Id读取控件的问题
发布网友
发布时间:2022-05-12 07:44
我来回答
共3个回答
热心网友
时间:2022-04-27 13:07
在页面Page_Load事件的!IsPostback中加上
if(Request.QueryString["Id"]!=null)
{
for(int i=0;i<=3;i++){
Panel pnl=(Panel)FindControlRecursive(Page,"p"+i.toString());
if( Request.QueryString["Id"].toString()==i.toString())
{
pnl.Visible=true;
}
else
{
pnl.Visible=false;
}
}
}
//递归找控件
public Control FindControlRecursive(Control Root, string Id)
{
if (Root.ID == Id)
return Root;
foreach (Control Ctl in Root.Controls)
{
Control FoundCtl = FindControlRecursive(Ctl, Id);
if (FoundCtl != null)
return FoundCtl;
}
return null;
}
热心网友
时间:2022-04-27 14:25
for(int i=0;i++;i<=3;i++){
Content1.FindControl("p"+i).Visible = false;
}
-------------------------------------------------
Content1.FindControl("p"+Request.QueryString["id"]).Visible = true;
热心网友
时间:2022-04-27 16:00
在页面Page_Load事件的!IsPostback中加上
if(Request.QueryString["Id"]!=null)
{
for(int
i=0;i<=3;i++){
Panel
pnl=(Panel)FindControlRecursive(Page,"p"+i.toString());
if(
Request.QueryString["Id"].toString()==i.toString())
{
pnl.Visible=true;
}
else
{
pnl.Visible=false;
}
}
}
//递归找控件
public
Control
FindControlRecursive(Control
Root,
string
Id)
{
if
(Root.ID
==
Id)
return
Root;
foreach
(Control
Ctl
in
Root.Controls)
{
Control
FoundCtl
=
FindControlRecursive(Ctl,
Id);
if
(FoundCtl
!=
null)
return
FoundCtl;
}
return
null;
}