電子書籍の厳選無料作品が豊富!

VisualWeb Developer(VB)を使用しています。

formviewを配置しデータベースに入力内容を登録するプログラムを作りたいのですが、入力項目がチェックボックス1つとテキストボックス一つで、

チェックボックスにチェックが入っており、テキストボックスが空白 はエラー

あとはOKとしたいと思いhttp://www.atmarkit.co.jp/fdotnet/dotnettips/237 …を参照しながらフォームビューのインサートテンプレート内にcustomvalidatorを配置しました。

--
Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs)
If ((TextBox1.Text = "") AndAlso (CheckBox1.Checked = True)) Then
args.IsValid = False
Else
args.IsValid = True
End If
End Sub
--
としましたが名前 'TextBox1' は宣言されていません。とエラーがでます。
どのようにすればチェックボックスにチェックが入っており、テキストボックスが空白 はエラーとする事ができますでしょうか。よろしくお願いいたします。

A 回答 (1件)

ASP.NETの場合テンプレートの中のコントロールは動的に作成されてるので FindControlで探さないといけませんよ



Validateイベントで
Dim txt as TextBox
Dim chk as Checkbox
' InsertItemTemplateに追加したコントロールのIDで探します
txt = FormView1.FindControl("TextBox1")
chk = FormView1.FindControl("CheckBox1")
' 検証条件は適宜修正してください
if chk.Checed=False OrElse txt.Text.Length>0 then
  Args.IsValid = True
else
  Arggs.IsValid = False
End if

といった具合でしょう …
    • good
    • 0
この回答へのお礼

すごい!すごい!出来ました!ありがとうございます!FindControlですかー!初めて知りました。詳しく使い方を見てみます。本当にありがとうございました。

お礼日時:2008/05/28 18:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!