基本上,我试图将验证控件放入 Listview 中。但是,我无法指定 ControlToValidate = "grpNameTextBox"。
我试着把
((RequiredFieldValidator)ListView1.FindControl("RequiredFieldValidator1")).ControlToValidate = ((TextBox)ListView1.FindControl("grpNameTextBox")).ID;
在不同的事件中,但无法做到。
之后,我删除了Validation Control,并放置了简单的Label。然后在“ItemInserting”事件中,我输入了以下代码:
protected void ListView1_ItemInserting(object sender, ListViewInsertEventArgs e)
{
TextBox t1 = (TextBox)ListView1.FindControl("grpNameTextBox"); // Getting Null Exception here
if (t1.Text.Trim() == null)
{
throw new System.Exception("Field cannot be empty");
}
}
但是得到“对象引用未设置为对象的实例”。错误。谁能告诉我,我错在哪里?
.aspx 部分如下:
<InsertItemTemplate>
<tr style="">
<td>
<asp:Button ID="InsertButton" runat="server" CommandName="Insert"
Text="Insert" />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel"
Text="Clear" />
</td>
<td>
</td>
<td>
<asp:TextBox ID="grpNameTextBox" runat="server" Text='<%# Bind("grpName") %>' />
<asp:Label ID="lblError" runat="server" Text=""></asp:Label>
</td>
</tr>
</InsertItemTemplate>
谢谢。