Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FormView.FindControl():对象引用错误_C#_Asp.net_.net_Formview_Findcontrol - Fatal编程技术网

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

C# FormView.FindControl():对象引用错误,c#,asp.net,.net,formview,findcontrol,C#,Asp.net,.net,Formview,Findcontrol,我有一个formview,在tr/td的内部有几个文本框。我试图使用.FindControl方法获取文本框,但返回null。FormView始终处于编辑模式(因此我始终处于EditItemTemplate中),并且我正在尝试将查询字符串值加载到来自上一页的文本框中,因此我确实需要在页面加载时执行此操作。我一直在GridView上这样做: txtFirstName = (TextBox)fvGeneralInfo.FindControl("txtFirstName"); txtFirstName

我有一个formview,在tr/td的内部有几个文本框。我试图使用.FindControl方法获取文本框,但返回null。FormView始终处于编辑模式(因此我始终处于EditItemTemplate中),并且我正在尝试将查询字符串值加载到来自上一页的文本框中,因此我确实需要在页面加载时执行此操作。我一直在GridView上这样做:

txtFirstName = (TextBox)fvGeneralInfo.FindControl("txtFirstName");
txtFirstName = (TextBox)fvGeneralInfo.FooterRow.FindControl("txtFirstName");
txtFirstName = (TextBox)fvGeneralInfo.Rows.FindControl("txtFirstName");
或者像这样:

txtFirstName = (TextBox)fvGeneralInfo.FindControl("txtFirstName");
txtFirstName = (TextBox)fvGeneralInfo.FooterRow.FindControl("txtFirstName");
txtFirstName = (TextBox)fvGeneralInfo.Rows.FindControl("txtFirstName");
或者像这样:

txtFirstName = (TextBox)fvGeneralInfo.FindControl("txtFirstName");
txtFirstName = (TextBox)fvGeneralInfo.FooterRow.FindControl("txtFirstName");
txtFirstName = (TextBox)fvGeneralInfo.Rows.FindControl("txtFirstName");
有什么好处

<asp:FormView ID="fvGeneralInfo" runat="server" 
    DataSourceID="objInstructorDetails"
    OnItemCommand="fvGeneralInfo_ItemCommand"
    OnItemUpdated="fvGeneralInfo_ItemUpdated"  
    DefaultMode="Edit"
    DataKeyNames="InstructorID" >
    <EditItemTemplate>
        <table>
            <tr>
                <td colspan="2" class="Admin-SubHeading" style="padding-left:10px;">General Info:</td>
            </tr>
            <tr>
                <td class="Admin-FieldLabel">ID:</td>
                <td><asp:TextBox ID="txtInstructorId" runat="server" CssClass="Admin-Textbox" ReadOnly="true" Text='<%# Bind("InstructorID") %>' /></td>
            </tr>
            <tr>
                <td class="Admin-FieldLabel">First Name:</td>
                <td><asp:Textbox ID="txtFirstName" runat="server" CssClass="Admin-Textbox" Text='<%# Bind("FirstName") %>' /></td>
            </tr>
            </table>  
        </EditItemTemplate>
    </asp:FormView>

一般信息:
身份证件:
名字:

调用
DataBind()第一个。然后,abatishchev的答案是正确的,尽管我发现这个变体更简洁:它避免了显式调用DataBind()

<asp:FormView ID="fvMember" runat="server" DataSourceID="tblMembers" DefaultMode="Insert" OnDataBound="DataBound">...</asp:FormView>

你没有发现任何答案是正确的吗?