問題タブ [imodelbinder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
14657 参照

asp.net-mvc - `BindModel(HttpActionContext actionContext ...`署名を使用してカスタムモデルバインダーを作成するにはどうすればよいですか?

MVC 4でカスタムを作成する方法を知る必要がありIModelBinder、それが変更されました。

実装する必要がある新しいメソッドは次のとおりです。

0 投票する
2 に答える
1223 参照

ajax - 複雑なクラスにバインドするjsonモデルを備えたASPMVC3 ajax

ASPMVC3プロジェクトで次のクラス階層があります。一部のエントリにはコンテナを含めることができ、そのコンテナにはコンテンツを含めることができます。コンテナクラスとコンテンツクラスは抽象クラスです。

階層

ブラウザからjsonリクエストを受け取り、それをEntryクラスのタイプであるモデルにバインドする必要があります。問題は、DefaultModelBinderクラスが、どのタイプの具象コンテナであるかがわからなかったために、Entryモデルクラスを正しく作成しなかったことです。例えば:

+

次のリクエストはサーバー例外につながります: 抽象クラスを作成できません。たとえば、タイプフィールドをjsonリクエストに追加できます。

Typeフィールドが'FullContainer'に設定されたオブジェクトをFullContainerクラスにマップするようにモデルバインディングメカニズムに指示するにはどうすればよいですか?

0 投票する
1 に答える
3675 参照

asp.net-mvc-3 - Custom Model Binder から HTTP ステータス コードを返す方法

MEF コンテナーからインターフェイスの実装をプルするカスタム モデル バインダーがあります。次のように実装されます。

これは、MEF が petId のエクスポートを持っている場合はうまく機能しますが、エクスポートが存在しない場合は http ステータス 500 (サーバー エラー) を返します。エラー メッセージの難読化要件により、http ステータス 403 (禁止) が返される必要があります。

エラーをトラップし、応答ステータスを変更し、コンテンツを返さないか、この状態を処理するためにアクションを再ルーティングするにはどうすればよいですか?

0 投票する
3 に答える
538 参照

asp.net-mvc - ASP.NET MVC3 カスタム モデル バインダーの問題

タグのリストを含む申請者モデルがあります。

フォームが送信されると、ユーザーが入力したタグのコンマ区切りリストを含む入力フィールドがあります。このリストをコレクションに変換するカスタム モデル バインダーがあります。

ただし、モデルにデータが入力されて POST のコントローラー アクションに渡されると、Tags プロパティは空のリストのままです。リストに正しく入力されていない理由は何ですか?

0 投票する
0 に答える
258 参照

c# - WebPI および asp.net mVC 4 のカスタム モデル バインダーで動作する既定のモデル バインディングを達成する

custom Model binderすべてのプロパティで正常に動作するように作成しました。
しかし、問題は、デフォルトのモデルバインディングが欠落していることです。
オブジェクトに使用DataAnotationsしていますが、カスタム モデル バインダーを Enum のみに適用したいと考えています。
デフォルトのモデル バインディングと共にカスタム モデル バインダーを実現するにはどうすればよいですか。
カスタム Model Binder には、次のようなコードがあります。


0 投票する
1 に答える
1974 参照

c# - Web API IModelBinder を型のすべてのインスタンスに適用する

カスタム IModelBinder を使用して、文字列を NodaTime LocalDates に変換しようとしています。私LocalDateBinderはこのように見えます:

私の WebApiConfig では、このモデルバインダーを を使用して登録しますSimpleModelBinderProvider

これは、タイプ LocalDate のパラメーターを受け取るアクションがある場合はうまく機能しますが、別のモデル内で LocalDate を使用するより複雑なアクションがある場合は、決して起動されません。例えば:

これは、モデル バインダーを Web API に登録する方法と関係があると思いますが、何を修正する必要があるのか​​途方に暮れています - カスタム バインダー プロバイダーが必要ですか?

0 投票する
0 に答える
170 参照

c# - autofac と webapi 2 ModelBinder が 2 回呼び出されました - 空の bindingContext.ModelName で 2 回目

私は次の構成を持っています:

次の方法を使用します。

コントローラーをマークアップしていません。

しかし、署名の例は次のとおりです。

バインダー:

無効なオブジェクトを渡すと、モデルバインディングがTypeModelBinder失敗することを確認するテストを作成しました。

ただし、次の動作に気付きました。初めてそれを通過すると、期待どおりに機能し、にbindingContext.ModelName設定されます"data"

ただし、バインディングが失敗すると、すぐにバインダーの BindModel メソッドに再入力することに気付きました。今回はそれにbindingContext.ModelName設定し""て、追加されたモデル エラーの別のコピーを追加し、owin スタック内の何かが 500 をスローします...

モデルバインダーを配線するときに明らかに間違っていることはありますか?