У меня есть два текстовых поля, и я использую FindControl()
для доступа к ним:
<tr>
<td align="right">
<asp:Label ID="LastNameLabel" AssociatedControlID="LastName" runat="server" /></td>
<td>
<asp:TextBox ID="LastName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="LastNameRequired" runat="server" ControlToValidate="LastName" Display="Dynamic"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td align="right">
<asp:Label ID="PrimaryCompanyLabel" AssociatedControlID="PrimaryCompany" runat="server" /></td>
<td>
<asp:TextBox ID="PrimaryCompany" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="PrimaryCompanyRequired" runat="server" ControlToValidate="PrimaryCompany" Display="Dynamic"></asp:RequiredFieldValidator></td>
</tr>
Доступ к текстовому полю LastName
осуществляется нормально, но второе, PrimaryCompany
, возвращает пустую ссылку
Доступ к ним получают:
private IEditableTextControl _txtLastName;
protected IEditableTextControl txtLastName
{
get
{
if (_txtLastName == null)
{
_txtLastName = (IEditableTextControl)this.CreateUserStep.ContentTemplateContainer.FindControl("LastName");
}
return _txtLastName;
}
}
private IEditableTextControl _txtPrimaryCompany;
protected IEditableTextControl txtPrimaryCompany
{
get
{
if (_txtPrimaryCompany == null)
{
_txtPrimaryCompany = (IEditableTextControl)this.CompleteStep.ContentTemplateContainer.FindControl("PrimaryCompany");
}
return _txtPrimaryCompany;
}
}
Этот код взят из пакета FBAPack SharePoint2013 в CodePlex. Поле LastName
встроено, а поле PrimaryCompany
добавляется мной.
Я показываю только эту часть кода, так как здесь выбрасывается null reference
. Я что-то пропустил?