基本的に、私はリストビューの検証制御を入れようとしています。しかし、ControlToValidate="grpNameTextBox"を指定することはできません。
入れてみました
((RequiredFieldValidator)ListView1.FindControl("RequiredFieldValidator1")).ControlToValidate = ((TextBox)ListView1.FindControl("grpNameTextBox")).ID;
さまざまなイベントで、しかしそれを行うことはできません。
その後、検証コントロールを削除し、単純なラベルを付けました。次に、「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>
ありがとう。