Asp.net 从母版页处理动态控件

Asp.net 从母版页处理动态控件,asp.net,vb.net,master,Asp.net,Vb.net,Master,我在母版页中有一个asp:占位符。从内容页(在page_init中)我动态创建下拉列表并添加到母版页中的asp:占位符。如何按id访问这些动态创建的控件 我试过这个 Dim Outer_CP As ContentPlaceHolder Outer_CP = TryCast(Me.Master.Master.FindControl("MyContent"), ContentPlaceHolder) Dim mydropdownsAs PlaceHolder = TryCast(Outer_C

我在母版页中有一个asp:占位符。从内容页(在page_init中)我动态创建下拉列表并添加到母版页中的asp:占位符。如何按id访问这些动态创建的控件

我试过这个

 Dim Outer_CP As ContentPlaceHolder Outer_CP = TryCast(Me.Master.Master.FindControl("MyContent"), ContentPlaceHolder)

 Dim mydropdownsAs PlaceHolder = TryCast(Outer_CP.FindControl("mydropdownsAs "), PlaceHolder)

 Dim ddlControl As DropDownList = CType(mydropdownsAs .FindControl(idName), DropDownList)

如何创建这些动态控件?你确定控件的ID吗?可能控件id是动态的,因此它们与您在代码中设置的实际id不同?是的。控件ID也是动态的。当我在ViewSource中看到它们时,我看到它们总是以“myContent”作为前缀。而且,当我创建它们时,我给出了一个ID名称。现在它的前缀是一个字符串,看起来像。。MyContent_ddl123它们很好地出现在屏幕上。但我的问题是..我有一个btn,单击它时,我需要该下拉列表的选定值。选择下拉列表时,将触发selected index changed事件,我可以从中获取值。但是如果用户没有从下拉列表中选择任何值,那么我需要获取该下拉列表的默认值…我这里有一个问题,因为我无法找到我想要的下拉列表..如何创建这些动态控件?你确定控件的ID吗?可能控件id是动态的,因此它们与您在代码中设置的实际id不同?是的。控件ID也是动态的。当我在ViewSource中看到它们时,我看到它们总是以“myContent”作为前缀。而且,当我创建它们时,我给出了一个ID名称。现在它的前缀是一个字符串,看起来像。。MyContent_ddl123它们很好地出现在屏幕上。但我的问题是..我有一个btn,单击它时,我需要该下拉列表的选定值。选择下拉列表时,将触发selected index changed事件,我可以从中获取值。但是如果用户没有从下拉列表中选择任何值,那么我需要获取该下拉列表的默认值…我在这里有一个问题,因为我无法找到我想要的下拉列表。。