在FormView中的面板内找到一个文本框

时间:2011-10-06 18:18:48

标签: asp.net textbox formview findcontrol

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

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

有人可以帮忙吗?作为附带问题,我使用了一个函数FindControlIterative,但我不知道哪个引用包含在LinkedList中

2 个答案:

答案 0 :(得分:0)

以下适用于我:

<强>标记

<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>

代码

TextBox myTxtBox = (TextBox)FindControlRecursive(formView1,"mytextbox");

答案 1 :(得分:0)

我的回答:@jdavies解决方案是对的。我将错误的控件传递给函数。我意识到我的formView1实际上在另一个面板中,因此后面的代码不能直接看到formview。