2015-01-27 3 views
0

У меня есть форма asp.net, которая выглядит примерно так ...Уплотненный FormView контролирует

<asp:Panel ID="PanelForm" runat="server" > 
    <asp:FormView ID="FormView1" runat="server" > 
     <asp:EditItemTemplate> 
      <asp:FormView ID="FormView2" runat="server" > 
       <InsertItemTemplate> 
        <asp:TextBox ID="myControl" runat="server" /> 
       </InsertItemTemplate> 
      </asp:FormView> 
     </asp:EditItemTemplate> 
    </asp:FormView> 
</asp:Panel> 

Я хочу, чтобы установить текст TextBox под названием «MyControl» к «MYTEXT».

Приведенный ниже код содержит t = null, который выбрасывает «Ссылка на объект, не установленную на экземпляр объекта». ошибка.

FormView fv2 = (FormView)FormView1.FindControl("FormView2"); 
fv2.ChangeMode(FormViewMode.Insert); 
TextBox t = (TextBox)fv2.FindControl("myControl"); 
t.Text = "myText"; 

Как обновить этот TextBox из кода позади?

ответ

0

я пропускал DataBind() ...

FormView fv2 = (FormView)FormView1.FindControl("FormView2"); 
fv2.ChangeMode(FormViewMode.Insert); 
fv2.DataBind(); 
TextBox t = (TextBox)(fv2.FindControl("myControl")); 
t.Text = "myText"; 

Doh!

Смежные вопросы