Asp.net 在FormView内部的面板中查找文本框

Asp.net 在FormView内部的面板中查找文本框,asp.net,textbox,formview,findcontrol,Asp.net,Textbox,Formview,Findcontrol,formview有多个面板。我的文本框在第一个面板中。如果我用这个 TextBox myTxtBox = (TextBox)myformView.Row.FindControl("pnlID").FindControl("mytextbox"); <- does not work Panel mypanel = (Panel)myformView.Row.FindControl("pnlID"); <- this works TextBox myTxtBox = (TextBox)

formview有多个面板。我的文本框在第一个面板中。如果我用这个

TextBox myTxtBox = (TextBox)myformView.Row.FindControl("pnlID").FindControl("mytextbox"); <- does not work

Panel mypanel = (Panel)myformView.Row.FindControl("pnlID"); <- this works
TextBox myTxtBox = (TextBox) FindControlRecursive(mypanel,'mytextbox'); <-- this does not work

TextBox myTxtBox=(TextBox)myformView.Row.FindControl(“pnlID”).FindControl(“mytextbox”) 以下是我的作品:

标记

<asp:FormView ID="formView1" runat="server">
    <ItemTemplate>
        <asp:Panel ID="pnlID" runat="server">
            <asp:TextBox ID="mytextbox" runat="server"></asp:TextBox>
        </asp:Panel>
    </ItemTemplate>
</asp:FormView>

我的回答是:@jdavies解决方案是正确的。我将错误的控件传递给函数。我意识到我的formview 1实际上在另一个面板中,因此formview对代码隐藏者不直接可见。

首先,我得到了
LinkedList ctls=new LinkedList()的错误在FindControl中,因为我知道所需的名称空间是什么。名称空间是
System.Collections.Generic
。请参阅:哦,我也使用母版页。如果我包含泛型,它会询问变量T。用户“stelianx”在论坛帖子中提供的解决方案使用
LinkedList
。TBH FindControlRecursive和FindControlIterative方法之间不会有可测量的差异。在页面生命周期的什么时候,您执行代码来检索文本框?
TextBox myTxtBox = (TextBox)FindControlRecursive(formView1,"mytextbox");