2009-05-13 6 views
5

JQueryを使用して、JSONとWebServicesを使用してASP.NET開発環境でコントロールを動的にロードしています。このソリューションでは、ビルトイン検証メカニズム(CSLAに似たプロパティとビジネスルールの検証など)を持つビジネスロジックレイヤがあります。JQueryからWebサービスを呼び出すときにASP.NETからスローされた例外を拡張します。

JQueryとASP.NET WebServiceを使用して新しいコントロールを動的に読み込むように要求するとき現在のコントロールからの入力をビジネスロジック検証メカニズム(サーバー側の検証など)に対して検証し、問題があった場合にユーザーに通知したいと考えています。

私はこれを達成することができましたが、Webサービスで検証が失敗した場合、検証フィールドIDと関連するエラーメッセージを含む顧客例外をスローしたいと思います。

JQueryでは、この特定のExceptionTypeをテストし、例外タイプのプロパティにリストされたコントロールにエラーメッセージを動的に適用したいと考えています。これは私の問題がどこに来るかです。カスタムプロパティでカスタム例外を作成したにもかかわらず、WebServiceからJSON形式のJQueryに渡される例外は、まだ追加のプロパティがリストされていない標準例外です。例外のメッセージプロパティに値のJSON形式の文字列を作成することはできますが、最終的にはもう少しエレガントなものを優先します。誰もが...

は、事前にありがとう...あなたはこのような状況のためにASP.NETで作成されたシリアル化された例外をオーバーライドすることができますどのように

G

+0

私もこれに対する答えを知りたいです。 –

+3

質問を投票します:p – womp

答えて

3

を知っています、私は、何か非常に似てAに走りましたカップル日前 - 基本的にASP.NETがカスタム例外を生成する方法はありません。これは、クライアントに実装 詳細/バグを公開[...]

例外の特定のタイプを考え返すことから、by designです。私たちは、 たちを通過させる特別な例外 タイプで何かを行うが、その 遅すぎるこのリリースの[...]

You could always return different HTTP status codesを、そしてブラウザはカスタム例外としてそれらを扱うかもしれない - 例えば、 500のエラーは1つのこと、401の何か他のものなどを意味するでしょう。最良の解決策は、メソッドが例外スタックで文字列を返すようにすることです - 少なくともエレガントではありませんが、クライアントには例外の詳細がすべてあります。

デイブ・ワードにはASP.NET AJAX service errorsの情報もあります。

+0

ありがとうGabriel ...それは本当に私を助けます... G –

+0

皆、私がDave Wardリンクに行ったときに、「ダッジページ」ブロックを持っていました。 –

+0

興味深い - 私もやった。それは酷いことだ。 –

関連する問題