【问题标题】:Nested FormView controls嵌套的 FormView 控件
【发布时间】:2015-01-27 10:54:00
【问题描述】:

我有一个看起来像这样的 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 抛出“对象引用未设置为对象的实例”。错误。

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

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

【问题讨论】:

    标签: asp.net nested formview


    【解决方案1】:

    我缺少一个 DataBind()...

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

    哇!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      • 2014-02-18
      • 2011-05-12
      相关资源
      最近更新 更多