Вероятно, эта ошибка означает, что в вашем DetailsView
еще ничего нет. Могу поспорить, если вы введете это в свой код:
TextBox txt = (TextBox)DetailsView1.FindControl("TextBox1");
if (txt != null)
{
txt.Text = "Text ";
}
Вы увидите, что txt
на самом деле null
- это потому, что метод FindControl
не нашел ничего с именем "TextBox1" в DetailsView
.
Вам нужно переместить этот код в точку, где вы знаете, что DetailsView
заполнен (если он связан с DataSource
, вы можете сделать это в событии DataBound
вашего DetailsView
).
Кроме того, я заметил, что ваш TextBox
находится в InsertItemTemplate
. Вы не найдете этот TextBox1
, пока не переведете DetailsView
в режим редактирования, либо по умолчанию:
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px"
DefaultMode="Insert">
Или в коде позади:
DetailsView1.ChangeMode(DetailsViewMode.Insert);
TextBox txt = (TextBox)DetailsView1.FindControl("TextBox1");
txt.Text = "Text ";
Надеюсь, это поможет.