У меня есть форма, у которого есть несколько текстовых полей внутри tr/td. Я пытаюсь получить текстовые поля с помощью метода .FindControl, но он возвращается null. FormView всегда находится в режиме редактирования (поэтому я всегда в EditItemTemplate), и я пытаюсь загрузить значения querystring в текстовые поля, исходящие из предыдущей страницы, поэтому мне нужно, чтобы это произошло на page_load. Я делаю это на GridViews все время, как это:FormView.FindControl(): ошибка ссылки объекта
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>
ли вы не нашли ответов, как правильно? – abatishchev