Найдите текстовое поле внутри панели, которая находится внутри FormView - PullRequest
0 голосов
/ 06 октября 2011

Форма просмотра имеет более 1 панелей . Мое текстовое поле находится на первой панели. Если я использую это

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 голосов
/ 12 октября 2011

Мой ответ: @jdavies решение верное. Я передавал неправильный контроль функции. Я понял, что мой formView1 на самом деле был внутри другой панели, таким образом, formview не был непосредственно виден коду позади.

0 голосов
/ 06 октября 2011

У меня работает следующее:

Разметка

<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");
...