- PR -

動的に追加したCustomValidatorのサーバ検証

1
投稿者投稿内容
秋刀魚
会議室デビュー日: 2008/11/10
投稿数: 16
投稿日時: 2008-11-26 14:58
[当方環境]
OS:WinXP
言語:C#
Visual Studio 2005

早速ですが、おわかりの方がいらっしゃいましたら、ご教授下さい。

現在、Webアプリを開発しており、以下の事をやっております。
(1)ユーザが選択したデータが含まれるテーブルをDB から引っ張ってきてGirdView に表示する。
(2)編集ボタンが押下されたタイミングで、EditTemplete にあるTextBox へCustomValidator を追加する。(RowDataBound イベント)
  この際、ServerValidate によりサーバサイドの検証メソッドを指定。

(2)の指定の仕方は、
 CustomValidator cv = new CustomValidator();
 cv.ServerValidate += CustomValidator2_ServerValidate;
としています。

作成されたCustomValidator を、検証すべきTextBox が含まれるGridView のTableCell.Controls へAdd しています。

ところがデバッグ実行してみると、指定したはずのサーバサイド検証メソッドを通っていませんでした。
クライアントサイドの検証は行われているのですが・・・。
(クライアントサイドの検証は、JavaScript で記述してあります)

GridView のDataBound イベントで、Page.GetValidators("グループ名").Count でとったところ、意図した件数でした。
GridView の更新ボタンが押下されたタイミングのPage_Load で同じ値をとったところ、0件でした。

ポストバックで無くなったのかと思い、IsPostBack==true の場合に(2)と全く同様の処理により、CustomValidator を追加しようと
したところ、「同じID は指定できない」と怒られてしまいました。

調べてみても、糸口すら掴めません。

動的に追加したCustomValidator にサーバサイドの検証を行わせるにはどうしたら良いのでしょうか?

よろしくお願い致します。


[ メッセージ編集済み 編集者: 秋刀魚 編集日時 2008-11-27 17:03 ]
オウオウ
常連さん
会議室デビュー日: 2008/11/26
投稿数: 38
投稿日時: 2008-11-26 15:48
(利用規約違反のため削除いたしました。@ITクラブメンバーシップセンター)
オウオウ
常連さん
会議室デビュー日: 2008/11/26
投稿数: 38
投稿日時: 2008-11-26 17:44
(利用規約違反のため削除いたしました。@ITクラブメンバーシップセンター)
1

スキルアップ/キャリアアップ(JOB@IT)