- - PR -
ユーザーコントロール外のコントロールを検証するには
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-12-01 17:39
ASP.NET 2.0 でWeb開発をしています。
あるテキストボックスに複数の検証コントロールを関連づけるフォームがあり、同じパターンの検証が多いので検証コントロールだけまとめてユーザーコントロールにすることを試みました。 ユーザーコントロールにControlToValidateでも名付けたプロパティを設定して、ここに設定したテキストボックスを内蔵した検証コントロールがみんなで見に行く、ような状況です。 しかし、ユーザーコントロール内に置いた検証コントロールは、ユーザーコントロール外のテキストボックスを参照することができません。 検証対象のテキストボックスもユーザーコントロールに含めてしまう、というのは一つのてなのですが、これだと入力欄とエラー表示を離して置くことができません。 ユーザーコントロール外のコントロールを検証する方法はないでしょうか? | ||||
|
投稿日時: 2008-12-02 10:07
自己解決しました。
テキストボックスのふりをしてユーザーコントロールの外側の同名のコントロールに直通するという、カスタムコントロールを作りました。
| ||||
|
投稿日時: 2008-12-03 12:00
その方法だと、Parent.Parent.Parent にあるものしか、検索できないですよね?
ユーザー コントロールに、Control 型のプロパティを付けると、もしかしたら属性が必要かもしれませんが、デザイン時に張り付いているコントロールを選択できるようになりませんか?そうすると、サーバー側では検証したいコントロールを直に参照できるようになりますから、楽になると思いますけど。 | ||||
|
投稿日時: 2008-12-04 15:15
> ユーザー コントロールに、Control 型のプロパティを付けると、もしかしたら属性が必要かもしれませんが、デザイン時に張り付いているコントロールを選択できるようになりませんか?
んー、そうもいかないですねー。 CustomValidatorのControlToValidateプロパティもstring型ですし。、 |
1