vs2010对多层容器下的控件的id是如何解析的

我的需求是这样的:需要获得多层容器下的控件的id,类似:

 <cc1:TabContainer ID="TabContainer1"

                  ......

               <asp:DataGrid ID="DataGrid1"

                       ......

                         <asp:TextBox ID="TextBox8"  

经过多次调试,发现对"TextBox8",有以下几中解析结果:

1.<input name="TabContainer1$TabPanel1$DataGrid1$ctl02$TextBox8" type="text" id="TabContainer1_TabPanel1_DataGrid1_TextBox8_0"

这是vs2010自带的iis(asp.net development server)的解析结果

2.<input name="TabContainer1$TabPanel1$DataGrid1$ctl02$TextBox8" type="text" id="TabContainer1_TabPanel1_DataGrid1_ctl02_TextBox8"

这是iis6的解析结果

 

如果是这样,发现有几个问题,希望能帮解决和交流:

1."TabContainer1$TabPanel1$DataGrid1$ctl02$TextBox8"中的"ctl02"里的"ctl"是什么含义?

"02"应该是与DataGrid1的ItemIndex有关,也即(ItemIndex + 2),如果是datagrid的第3项目,就显示的是"ctl04"

2.如果DataGrid1的项超过100项,那又会如何来解析呢?

3.vs对这样多层容器下的控件id,解析规则在哪里可以找到?

posted @ 2010-03-27 18:58  tttttt  阅读(438)  评论(0编辑  收藏  举报