FormView.FindControl():对象引用错误

我有一个formview,在tr / td中有几个文本框。 我试图通过使用.FindControl方法获取文本框但它返回null。 FormView始终处于编辑模式(所以我总是在EditItemTemplate中),我正在尝试将查询字符串值加载到来自上一页的文本框中,所以我确实需要在page_load上进行此操作。 我一直在Gridviews上执行此操作,如下所示:

txtFirstName = (TextBox)fvGeneralInfo.FindControl("txtFirstName"); 

或者像这样:

 txtFirstName = (TextBox)fvGeneralInfo.FooterRow.FindControl("txtFirstName"); 

或者像这样:

 txtFirstName = (TextBox)fvGeneralInfo.Rows.FindControl("txtFirstName"); 

是什么赋予了?

   
General Info:
ID: <asp:TextBox ID="txtInstructorId" runat="server" CssClass="Admin-Textbox" ReadOnly="true" Text='' />
First Name: <asp:Textbox ID="txtFirstName" runat="server" CssClass="Admin-Textbox" Text='' />

调用DataBind(); 第一。 然后FindControl()

abatishchev的答案是对的,虽然我发现这种变化有点整洁:它避免了必须明确地调用DataBind()。

 ... 

 protected void DataBound(object sender, EventArgs e) { if (fvMember.CurrentMode == FormViewMode.Edit) { Label lblSubmit = fvMember.FindControl("lblSubmit") as Label; ... } }