即使在DataBound事件上也无法在FormView.InsertItemTemplate中找到控件

aba*_*hev 3 .net asp.net formview findcontrol databound

我有FormView我的页面标记:

<asp:FormView ruanat="server" ID="FormView1" DataSourceID="SqlDataSource1" OnDataBinding="FormView1_DataBinding" OnDataBound="FormView1_DataBound">
   <InsertItemTemplate>
      <uc:UserControl1 runat="server" ID="ucUserControl1" />
   </InsertItemTemplate>
</asp:FormView>
<asp:SqlDataSource runat="server" ID="SqlDataSource1" SelectCommand="EXEC someSP" />
Run Code Online (Sandbox Code Playgroud)

它是代码隐藏的WAS:

protected void FormView1_DataBound(object sender, EventArgs e)
{
   var c = FormView1.FindControl("ucUserControl1"); // returns null
}
Run Code Online (Sandbox Code Playgroud)

BECAME:

protected void FormView1_DataBinding(object sender, EventArgs e)
{
   FormView1.ChangeMode(FormViewMode.Insert);
}

protected void FormView1_DataBound(object sender, EventArgs e)
{
   if (FormView1.CurrentMode = FormViewMode.Insert)
   {
      var c = FormView1.FindControl("ucUserControl1"); // returns null no more!
   }
}
Run Code Online (Sandbox Code Playgroud)

从理论上讲,我能够FormView在数据绑定后找到控制权.但我不是.为什么?

Gle*_*lar 5

If (FormView1.CurrentMode == FormViewMode.Insert)
      var c = FormView1.FindControl("ucUserControl1");
Run Code Online (Sandbox Code Playgroud)