- - PR -
MaintainScrollPositionOnPostBack と CustomValidator の併用
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-01-22 20:03
VS2005 + ASP.NET 2.0(C#)にてWebアプリケーションの開発を行っています。
スクロールが発生する入力ページにて、ポストバック時のページ位置を保持するために、
という設定を行っています。 またページのバリデーションチェックには、ValidationSummaryと、CustomValidatorなどを用いています。 RequiredFieldValidatorなど、サーバ側の処理を必要としないバリデータは、エラー発生時にページの先頭位置が表示され、エラーメッセージが正常に表示されます。 ただし、CustomValidatorのサーバ側での検証を行った後は、MaintainScrollPositionOnPostBack の設定が効いて、検証を起動したコントロールの位置にページ位置が保持されてしまい、エラーメッセージ(ValidationSummary)が画面上表示されない、ということが起きてしまいます。 これを回避しようと、エラー発生時にはスタートアップスクリプトにてページの先頭に戻そうとしましたが、MaintainScrollPositionOnPostBack のスクリプトのほうが後から実行されてしまうため、元の位置に戻ってしまいます。
また、エラー発生時に一時的に MaintainScrollPositionOnPostBack を無効にすれば、エラーメッセージのあるページ先頭が表示されるようになりますが、その画面で次に起こすポストバック時も MaintainScrollPositionOnPostBack が無効になってしまいます。 エラー発生時のみ、ページ先頭を表示するような方法がありましたら、ご教示頂きたいと思います。 長々とすみませんが、どうぞよろしくお願いします。 | ||||||||
|
投稿日時: 2008-01-23 07:19
ValidationSummaryをポップアップ表示させてもだめですか?
あとは、CustomValidatorの処理をクライアント側のJavaScriptで行うとか。 このとき、Webサーバーからのデータが必要なときはWebサービス経由で 取得する。 この問題は、 CustomValidatorでフルポストバックさせない方法で検証するしか 回避方法はないかも? _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||||||
|
投稿日時: 2008-01-31 22:44
Accessさん、お返事ありがとうございます!
現在はポップアップ表示をしない方向で検討していましたが、他の回避方法だとやや対応のコストが高そうですね。 ポップアップ表示も含めて、もう少し検討してみます。 どうもありがとうございました。 |
1