嵌套的 FormView 控件

Nested FormView controls

我有一个看起来像这样的 asp.net 表格...

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

我想将名为 "myControl" 的 TextBox 的文本设置为 "myText"。

下面的代码导致 t = null 抛出 "Object reference not set to an instance of an object." 错误。

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

如何从后面的代码更新这个TextBox

我缺少一个 DataBind()...

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

哎呀!