問題タブ [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.
asp.net-mvc - `BindModel(HttpActionContext actionContext ...`署名を使用してカスタムモデルバインダーを作成するにはどうすればよいですか?
MVC 4でカスタムを作成する方法を知る必要がありIModelBinder
、それが変更されました。
実装する必要がある新しいメソッドは次のとおりです。
ajax - 複雑なクラスにバインドするjsonモデルを備えたASPMVC3 ajax
ASPMVC3プロジェクトで次のクラス階層があります。一部のエントリにはコンテナを含めることができ、そのコンテナにはコンテンツを含めることができます。コンテナクラスとコンテンツクラスは抽象クラスです。
ブラウザからjsonリクエストを受け取り、それをEntryクラスのタイプであるモデルにバインドする必要があります。問題は、DefaultModelBinderクラスが、どのタイプの具象コンテナであるかがわからなかったために、Entryモデルクラスを正しく作成しなかったことです。例えば:
+
次のリクエストはサーバー例外につながります: 抽象クラスを作成できません。たとえば、タイプフィールドをjsonリクエストに追加できます。
Typeフィールドが'FullContainer'に設定されたオブジェクトをFullContainerクラスにマップするようにモデルバインディングメカニズムに指示するにはどうすればよいですか?
asp.net-mvc-3 - Custom Model Binder から HTTP ステータス コードを返す方法
MEF コンテナーからインターフェイスの実装をプルするカスタム モデル バインダーがあります。次のように実装されます。
これは、MEF が petId のエクスポートを持っている場合はうまく機能しますが、エクスポートが存在しない場合は http ステータス 500 (サーバー エラー) を返します。エラー メッセージの難読化要件により、http ステータス 403 (禁止) が返される必要があります。
エラーをトラップし、応答ステータスを変更し、コンテンツを返さないか、この状態を処理するためにアクションを再ルーティングするにはどうすればよいですか?
asp.net-mvc - ASP.NET MVC3 カスタム モデル バインダーの問題
タグのリストを含む申請者モデルがあります。
フォームが送信されると、ユーザーが入力したタグのコンマ区切りリストを含む入力フィールドがあります。このリストをコレクションに変換するカスタム モデル バインダーがあります。
ただし、モデルにデータが入力されて POST のコントローラー アクションに渡されると、Tags プロパティは空のリストのままです。リストに正しく入力されていない理由は何ですか?
c# - WebPI および asp.net mVC 4 のカスタム モデル バインダーで動作する既定のモデル バインディングを達成する
custom Model binder
すべてのプロパティで正常に動作するように作成しました。
しかし、問題は、デフォルトのモデルバインディングが欠落していることです。
オブジェクトに使用DataAnotations
していますが、カスタム モデル バインダーを Enum のみに適用したいと考えています。
デフォルトのモデル バインディングと共にカスタム モデル バインダーを実現するにはどうすればよいですか。
カスタム Model Binder には、次のようなコードがあります。
c# - Web API IModelBinder を型のすべてのインスタンスに適用する
カスタム IModelBinder を使用して、文字列を NodaTime LocalDates に変換しようとしています。私LocalDateBinder
はこのように見えます:
私の WebApiConfig では、このモデルバインダーを を使用して登録しますSimpleModelBinderProvider
。
これは、タイプ LocalDate のパラメーターを受け取るアクションがある場合はうまく機能しますが、別のモデル内で LocalDate を使用するより複雑なアクションがある場合は、決して起動されません。例えば:
これは、モデル バインダーを Web API に登録する方法と関係があると思いますが、何を修正する必要があるのか途方に暮れています - カスタム バインダー プロバイダーが必要ですか?
c# - autofac と webapi 2 ModelBinder が 2 回呼び出されました - 空の bindingContext.ModelName で 2 回目
私は次の構成を持っています:
次の方法を使用します。
コントローラーをマークアップしていません。
しかし、署名の例は次のとおりです。
バインダー:
無効なオブジェクトを渡すと、モデルバインディングがTypeModelBinder
失敗することを確認するテストを作成しました。
ただし、次の動作に気付きました。初めてそれを通過すると、期待どおりに機能し、にbindingContext.ModelName
設定されます"data"
ただし、バインディングが失敗すると、すぐにバインダーの BindModel メソッドに再入力することに気付きました。今回はそれにbindingContext.ModelName
設定し""
て、追加されたモデル エラーの別のコピーを追加し、owin スタック内の何かが 500 をスローします...
モデルバインダーを配線するときに明らかに間違っていることはありますか?