在ASP.NET中访问子控件

时间:2014-01-03 10:39:20

标签: c# asp.net web-controls

我试图找出是否可以在ASP中的另一个控件内部控件,如下所示:

 <asp:FormView ID="FormView1" runat="server" Width="630px" Height="496px">
   <ItemTemplate>
       <asp:Literal ID="ID" runat="server">Idnumber: </asp:Literal><%#Eval("ID") %>
             <asp:DataList ID="DataList1" runat="server">
                        <ItemTemplate>
                            <asp:HyperLink ID="ID" runat="server"><a href="url/<%# Eval("ID") %>/<%#Eval("FILE")%>"> <%# Eval("FILE") %> </a></asp:HyperLink>
                        </ItemTemplate>
             </asp:DataList>
   </ItemTemplate>
  </asp:FormView>

我可以访问DataList1控件吗?我一直在尝试,但我无法弄清楚,我应该能够访问嵌套控件,但我不能让它去做。

1 个答案:

答案 0 :(得分:7)

模板标签内的控件无法在后面的代码中直接访问。相反,您应该使用FindControl方法:

var dataList1 = (DataList)FormView1.FindControl("DataList1");

请注意,这可能不适用于页面生命周期的早期阶段(直到Page_Load我相信)。