2010-12-02 18 views
0

モーダルダイアログに表示されるフォームでASP.NETの検証コントロールでサーバー側の検証を使用する簡単な方法はありますか?私はjQueryとSimpleModalを使用しています(C#、VS2010、.NET 4.0)モーダルダイアログ(jquery)でサーバー側のバリデータを使用していますか?

私はうまく動作するモーダルフォームを持っています。私は、ロジックがアクセスされるレコードに固有のデータに依存するため、サーバー側の検証を使用する必要があります。

私が今取り組んでいるプロジェクトの解決策は、jQuery ajax呼び出しを使用してすべてのフォームデータをサーバーを停止し、ポストを続行する前に検証結果を取り戻してください。しかしこれは実装に比較的時間がかかりますが、状況によってはすべてのバリデーションコードがすでに存在しています。

最初の課題は、モーダルダイアログが完全なポストバックで閉じることです。だから、あなたはダイアログ内にUpdatePanelを置くことができます...これについてあまり考えすぎることはありませんが、私はそれがうまくいかないと思っていました。それはしません。また、モーダルダイアログを開くフォームは既にUpdatePanelに入っていますので、さらに混乱します。

とにかく、モーダルフォームの内容をUpdatePanelに入れてみました。実際には部分的なポストバックを行いますが、ダイアログは開いたままですが、ダイアログの内容はサーバー側を変更して更新されません。ただし、検証コードのテスト後に同じページのダイアログを閉じて再度開くと、内容が実際に更新されてこれらの変更が反映されます。明らかにダイアログがレンダリングされる方法は、ASP.NETを混乱させることです。またはその逆。しかし、これはちょうど始動からスケッチに見えます。

この問題を解消しようとするのではなく、他の人がこれにアプローチするより良い方法についていくつか提案してくれることを期待していました。あるいは、私はリンゴとオレンジを混ぜ合わせようと努力していると言います。それが賢明なことなら、すべてのクライアント側(またはクライアント側+ jQuery ajax)を保つ必要があります。私が撮影した

答えて

0

二つのアプローチ:trueまたはfalse:

1)は、AJAXを介してデータを提出し、応答が成功を含んでいます。 falseの場合、問題の詳細を示すメッセージが表示されます。

2)フォームを正常に提出してください。検証に問題はあるが、ページ上の非表示のdivにエラーがあり、ページが読み込まれたときにそのdivの内容をチェックしてJSを書き込んで、必要に応じて警告/エラーを表示する。

関連する問題