Panel p=new Panel();
Table t=new Table();
TableRow tr=new TableRow();TableCell tc1=new TableCell();
Lable lbl=new Lable();
lbl.Text="aa";
tc1.Controls.Add(lbl);TableCell tc2=new TableCell();
ImageButton btn1=new ImageButton();
ImageButton btn2=new ImageButton();
ImageButton btn3=new ImageButton();
tc2.Controls.Add(btn1);
tc2.Controls.Add(btn2);
tc2.Controls.Add(btn3);tr.Cells.Add(tc1);
tr.Cells.Add(tc2);
t.Rows.Add(tr);GridView gv=new GridView();p.Controls.Add(t);
p.Controls.Add(gv);我想根据btn2的parent属性来获得gv,谁能告诉我btn2的parent控件是谁,为什么我一级一级向上找招不到gv呢?
Table t=new Table();
TableRow tr=new TableRow();TableCell tc1=new TableCell();
Lable lbl=new Lable();
lbl.Text="aa";
tc1.Controls.Add(lbl);TableCell tc2=new TableCell();
ImageButton btn1=new ImageButton();
ImageButton btn2=new ImageButton();
ImageButton btn3=new ImageButton();
tc2.Controls.Add(btn1);
tc2.Controls.Add(btn2);
tc2.Controls.Add(btn3);tr.Cells.Add(tc1);
tr.Cells.Add(tc2);
t.Rows.Add(tr);GridView gv=new GridView();p.Controls.Add(t);
p.Controls.Add(gv);我想根据btn2的parent属性来获得gv,谁能告诉我btn2的parent控件是谁,为什么我一级一级向上找招不到gv呢?
btn2的父控件的父控件的父控件=t
t的父控件的第二个控件=gv
控件都没ID 怎么去FindControl呢?
Panel p1 = btn2.Parent.Parent.Parent.Parent as Panel;
if (p1 != null && p1.Controls.Count > 1)
{
GridView grid = p1.Controls[1] as GridView;
}
这样访问,另外,你上面写的"Lable lbl=new Lable();"写错了,应该是"Label lbl=new Label();"
{
ImageButton btn=(ImageButton)sender;
for(int i=0;i<btn.Parent.Controls.count;i++)
{
if (btn.Parent.Controls[i] is TableCell)
{
TableCell tc1 = btnDetailOrUpdate.Parent.Controls[i] as TableCell;
for (int j = 0; j < tc1.Parent.Controls.Count; j++)
{
if (tc1.Parent.Controls[i] is TableRow)
{
TableRow tr1 = tc1.Parent.Controls[i] as TableRow;
for (int k = 0; k < tr1.Parent.Controls.Count; k++)
{
if (tr1.Controls[i] is Table)
{
Table tab1 = tr1.Controls[i] as Table;
for (int o = 0; o < tab1.Controls.Count; o++)
{
if (btnDetailOrUpdate.Parent.Controls[i] is GridView)
{
GridView gv = btnDetailOrUpdate.Parent.Controls[i] as GridView;
}
}
}
}
}
}
}这样写有问题吗?为什么直接跳过去不执行呢