問題タブ [custom-model-binder]
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-3 - アクションシグネチャでのオブジェクトバインダーの選択
セッションからデータを取得するためのカスタムモデルバインダーがありますが、デフォルトのバインダーを時々使用したいと思います。
UpdateModelを使用する代わりに、アクション署名でモデルバインダーを選択することは可能ですか?
例
ありがとう
asp.net-mvc-3 - MVC アプリケーションの 1 つの領域でのみ機能するカスタム モデル バインダー
Global.asax ファイルで構成されているカスタム モデル バインダーを使用しました。アプリケーションの特定の領域でのみこのモデル バインダーを使用することは可能ですか?
c# - global.asaxフォルダーにカスタムモデルバインダーを追加できないのはなぜですか?
次のようなカスタムモデルバインダーを設定している人々のネット全体に例があります。
しかし、それを試してみると、コンパイルされません(.Binders
見つかりません)。何が得られますか?
asp.net-mvc-4 - Asp Net MVC 4 Web Apiのカスタムモデルバインダーでリクエストコンテンツにアクセスするにはどうすればよいですか?
前の質問で抱えていた問題をどうやって解決できるか考えていました
.net Web APIモデルバインディングが処理できなかったデータにアクセスできますか?
独自のカスタムモデルバインダーを使用できるので、完璧なケースを処理でき、予期しないデータを取得したときにログに書き込むことができます。
私は次のクラスとモデルバインダーを持っています
これが私のコントローラーメソッドです
そして、私はフィドラーを使用してそれを呼び出しています
これはうまく機能します。カスタムモデルバインダーを使用せずに、postメソッドのjsonデータからPersonオブジェクトを取得し、カスタムモデルバインダーを使用すると、常にperson(Id = 2、Name = "dave")を取得します。
問題は、カスタムモデルバインダーでJSonデータにアクセスできないように見えることです。
bindModelメソッドのmyPerson変数とmyPersonName変数はどちらもnullです。ただし、myId変数には343が入力されます。
BindModelメソッド内でjsonのデータにアクセスする方法についてのアイデアはありますか?
c# - カスタム modelbinder により新しいデータベースが挿入される
ASP.NET MVC モデル バインディングでこの問題が発生しました。国の子オブジェクトを持つ住所オブジェクトがあります。ただし、国名にはオートコンプリートを使用しています。したがって、私の見解では、次のようなものがあります。
そして、ここにカスタムバインダーを書きました:
データ コンテキストは次のように挿入されます。
コントローラーは次のようになります。
等...
保存するたびに、新しい国が作成され、バインダーで見つかった国の正確な仕様が使用されますが、新しい ID が使用されます。手がかりはありますか?
c# - カスタム オブジェクトを bindingContext から取得するにはどうすればよいですか?
私が抱えている問題は、GetValue("Budget") で取得しようとするとカスタム モデル バインダーが null になることですが、ご覧のとおり、バインダーにはプレフィックスが含まれています。そこにあるメタデータを見ると、すべてのキーも取得できますが、それでもNULLです。NULL を取得する理由を誰でも説明できますか?
マイ ビュー > List.cshtml
私のViewModel > BudgetListViewModel
マイ カスタム モデル バインダー > BudgetListModelBinder
グローバサ
vb.net - WebAPIアクションを介して複雑なデータを受信する
複雑なWebリクエストを.Netオブジェクトに変換する方法が必要です。WebAPIはデフォルトのモデルバインダーを使用し、複雑なデータにはカスタムモデルバインダーが必要であることを理解しています。
オブジェクト
アクション(ApiController内)
そして、私はカスタムモデルバインダーのスケルトンを持っています:
質問:
actionContext
を使用して、構築する必要のあるデータにアクセスするにはどうすればよいRaceListMobileModel
ですか?
どうすれば適切に保管できますbindingContext
か?
現在、データはJSONコンテンツを含むPOSTを介して送信されています。
asp.net-mvc - ModelBinder を使用する前にカルチャを変更する
さまざまな言語でウェブサイトを作成したいと考えています。ActionFilterを作成できることは既に読みましたが、ちょっとした問題があります。英語とドイツ語の数値形式 ( vs. )
を操作するには、カスタム ModelBinder を作成する必要がありました。123,456,789.1
123.456.789,1
この ModelBinder は、現在のカルチャを使用して、使用する形式を決定します。しかし残念なことに、ModelBinder は ActionFilter がカルチャを変更する前に使用されます。
ModelBinder がアクティブになる前にカルチャを変更するにはどうすればよいですか?
json - FlagsEnum、ModelBinders、JSONの操作
FlagsEnum(列挙型:バイト)で動作するようにModelBinderを変更するにはどうすればよいですか?コードを表示します:
コード
列挙型
クラス
Json
モデルバインダー
JSONを使用しない場合に機能し、両方のEnunをFlagsEnunとして使用します。
質問
ご覧のとおり、クラスPessoaViewModel
では、プロパティTipo
はの複数の値を取ることができますTipoPessoaEnum
。
プロパティTipo
は複数の値を取ることができるため、(JSON形式で)の配列を送信していますTipo
"Tipo":["Comprador","Proprietario"]
。enunsの値はどれですか。
json配列 "Tipo":["Comprador","Proprietario"]
をプロパティにマップする方法はTipo
??
モデルバインダー
GetValue<T>
クラスのメソッドでは、CreditoImobiliarioModelBinder
これbindingContext.ValueProvider.GetValue("Tipo");
はnullを返します??
asp.net-mvc-3 - カスタム モデル バインド後のビュー モデルの検証
IValidatableObject
次のような文字列と別のビューモデルのコレクションを含む実装するビューモデルがあります。
私の検証ではOthers
、によって提供されるコントラクトを使用して、さまざまなルールに対して各オブジェクトをチェックしIValidatableObject
ます。
実物の複雑な構造のため、MainViewModel
モデルを再構築し、関連するコンポーネントに POST データを割り当てるカスタム モデル バインダーを作成する必要がありました。私が得ている問題は、特定のデータベースの制約に違反しているため、何も検証されず、コンテキストレベルで検証エラーが発生し、何が間違っているのかわからないことです-ビューでメソッドをModelState.IsValid
呼び出すと想定しましたValidate
モデルですが、それほど下がらないようです。
私のモデル バインダーは次のようになります。
どんな助けでも大歓迎です!
Validator.TryValidateObject
OK、少し近づいたようです。IValidatableObject
カスタム モデル バインダーに以下を追加することで、メソッドを実行できるようになりました。
検証メソッドをValidator.TryValidateObject
呼び出し、最後のパラメーターを設定してtrue
すべてのプロパティを検証するようです。validationResults
ただし、意味のある方法で使用できるように、コントローラーにを取得することにこだわっています。