嵌套的 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";
哎呀!
我有一个看起来像这样的 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";
哎呀!