問題タブ [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 カスタム モデル バインダーから表示名を取得することは可能ですか?
私はこのコードを持っています:
modelName はプロパティ名を返しますが、「FirstName」ではなく「First Name」など、プロパティ名ではなく DisplayName にアクセスする必要があります。これは controllerContext または bindingContext から可能ですか? 時計には何も見つかりませんでした。
python - 私のカスタムモデルでdjangoがデータを探すようにする
私はdjangoが初めてで、私が試みている概念は非常に単純です。カスタムモデルを作成しました(事前定義されたモデルを拡張したくありません)。そして、このコードを使用して、ログインを認証しようとしました:
Models.py : (ここではサンプル データのみを提供しています。これは私が使用する実際のデータではありません。クライアントは、AbstractBaseUser などの組み込みモデルを使用することを望んでいません。)
Views.py
私の質問はとても簡単です。デフォルトのモデルではなく、カスタム モデル (logindata) を認証して確認したい。それ、どうやったら出来るの ??
asp.net-mvc - 大文字と小文字を区別しないモデル バインディング MVC 4
モデル バインディングで大文字と小文字を区別しないようにしたいと考えています。
から継承するカスタム モデル バインダーを操作しようとしSystem.web.Mvc.DefaultModelBinder
ましたが、大文字と小文字を区別しないように追加する場所がわかりません。
も見ましたIValueProvider
が、車輪を再発明して値を自分で見つけたくありません。
何か案が ?
model-view-controller - カスタム モデル バインドで上書きする必要があるメソッドまたはプロパティはどれですか?
2 つの機能を必要とする MVC アプリのカスタム バインディング シナリオがあります。
1)フォーム/クエリ プロパティをクラス プロパティにマッピングできる、汎用で再利用可能なカスタム バインダー。
2)特定のフォーム/クエリ パラメータをディクショナリ (または 2 つのプロパティ) に分割する、クラス固有のカスタム バインダー。
最初の要件は、Google で見つけた解決策で達成されました (見つけた場所を忘れたため、リンクを提供できないことをお詫びします)。
要するに、2つの部分があります
これは次のように使用されます
2枚目は
私の問題は要件#2にあります。この場合、SearchRequest クラスに追加のプロパティがあります。
Dictionary のキーはフィールド名で、Dictionary 項目の値は順序 (昇順または降順) です。
のサンプル使用
フォーム/クエリの値をバインドするために必要なロジックは次のようになります
Alias をサポートするために DefaultModelBinder から再度継承する必要があることはわかっています... または、この場合は AliasModelBinder (これは DefaultModelBinder から継承されます) を使用して Alias をサポートしますが、どのメソッドをオーバーライドすればよいかわからないという問題があります。DefaultModelBinder を再利用する最善の方法に関する情報はほとんどないようです (つまり、ほとんどありません)。
私のもう 1 つの質問は、2 つのカスタム モデル バインダーを使用する最善の方法に関するものです。私の知る限り、モデル バインダー チェーンはありません。#2 のソリューションがソリューション #1 について明示的に知らなくても、要件 #2 を達成する方法はありますか? 要件 2 は、単一の値を取り、それを辞書に分割することを考慮しています。SortOrder プロパティの値がエイリアス化されたフォーム/クエリ パラメータに由来することを本当に気にしますか?
どんな助けでも大歓迎です。
ありがとうございました。
ジェイソン
c# - MVC CustomModelBinder、同じプロパティ名のアクション - 同じキーを持つアイテムが既に追加されています
文字列値が int.maxvalue より大きい場合に処理するために、int をバインドするカスタム モデル バインダーを作成しました。UpdateModel を使用する多くのレガシー コードがあり、文字列値が int に変換される場合、このメソッドは例外をスローします。 int.MaxValue より大きいです。UpdateModel への呼び出しを TryUpdateModel に変更すると、更新は正常に失敗し、エラーがビューに表示されますが、より意味のあるエラー メッセージが必要なため、カスタム モデル バインダーが必要です。モデルバインダーは正常に動作しますが、次のようなアクションがあります
クラス ListCriteria には、次のようなプロパティがあります。
私のカスタム モデル バインダーは IModelBinder を実装しています。多くのサンプルと同様に、次のように実装されています。
アクションが呼び出されると、モデル バインダーは次の行で例外をスローします。
例外メッセージは「同じキーを持つアイテムが既に追加されています」です。これは明らかに、ListCriteria オブジェクトの Page プロパティが既にバインドされ、辞書に追加されているためです。ページ パラメータがバインドされて追加されると、例外がスローされます。
これはどのように実装する必要がありますか?オブジェクト階層の異なるレベルで同じ名前のプロパティを持つことは可能ではないでしょうか?
私の場合、Page プロパティと page パラメーターは同じ機能を実行することが判明したため、後者は削除できますが、他の場所で頭を抱える可能性があることが懸念されます...
model-binding - WebApi2: 部分パラメーターをバインドするためのカスタム パラメーター バインディング
次のように、webApi2 プロジェクトと他のプロジェクトがあり、そこにはモデル クラスとすべてのモデルのベースである BaseModel があります。
他のすべてのモデルは、私の BaseModel から派生しています。
webapi には、次のように CustomerController があります。
CustomerController に送信されるすべてのリクエストには、リクエスト ヘッダーに「UserId」ヘッダーがあり、ModelBinder または ParameterBinder、または他のモデル パラメータに触れずにリクエスト ヘッダーから UserId のみをバインドする機能が必要です。UserId 以外のモデル パラメータはデフォルトでバインドされることを意味します。
AOP、インターセプター、またはアスペクトを使用したくありません。モデル バインダー、パラメーター バインダーなどの asp.net 機能で UserId のみをバインドすることは可能ですか?
c# - WebAPI を使用してリクエスト ボディからカスタム モデル バインダーに JSON を取得する
datatables.net jQuery プラグインから返されたデータを処理するためにカスタム モデル バインダーを実装してきましたが、実際にデータを取得する際に問題が発生しています。これは、データがリクエスト本文で返されModelBindingContext
ているValueProvider
ためです。ストリング。
現在、コントローラー メソッドのシグネチャは次のようになっています。
シンプルな からデータを取得しています$.post()
。
FromBody
パラメータに属性を追加しようとしましたinput
が、カスタム モデル バインダーの呼び出しがまったく停止するようです。
モデル バインダーにリクエスト ボディ内のデータを認識させるにはどうすればよいですか、それが不可能な場合は、投稿されたデータをクエリ文字列に移動するにはどうすればよいですか (これはやりたくありません!)。
c# - カスタム モデル バインダーが更新されない
私は、いくつかのネストされたクラスを持つ複雑なモデルを持つ MVC プロジェクトに取り組んでおり、1 つのクラスに別のクラスがネストされています。他のすべての複合型を正しく更新できますが、この最後の複合型は正しく更新されません。カスタム モデル バインダーを登録したことを確認しました。これは実行され、プロパティに適切な値が割り当てられたオブジェクトを返しますが、元のモデルは更新されません。
機能するものはすべて切り取って、構造のみを以下に残しました。
クラス
モデルバインダー
コントローラ
私は途方に暮れています。PersonModelBinder
が実行され、正しい値のセットが返されますが、モデルは更新されません。ここで何が欠けていますか?