問題タブ [modelbinders]

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 投票する
1 に答える
1390 参照

asp.net-mvc - Nhibernate、MVC、および ModelBinders

モデル バインダーを Nhibernate で構成したい:

ので、私は持っています:

コントローラーのアクションをマークして、正しいモデル バインダーを使用する属性があります。

これは正常に動作し、私の GigModelBinder には正しい VenueManger と ArtistManager が注入されています

ただし、アプリケーションの開始時に追加する場合:

コントローラーアクションでは、次を使用します。

例えば:

VenueManger と ArtistManager は GigModelBinder に挿入されていません。

私が間違っていることはありますか?

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

.net - ホワイトリスト モデル バインディングが複雑なプロパティで機能しないようです

次のような POST アクションがあります。

デフォルトのモデル バインダーを使用しており、資格情報は User オブジェクトのプロパティです。Credentials には 2 つのフィールド (emailAddress と password) があります。ホワイトリストを削除すると、資格情報オブジェクトがバインドされ、すべてが期待どおりに機能します。ただし、そのホワイトリストを提供すると、userrole はバインドされますが、複雑なプロパティの電子メールとパスワードはバインドされません。フォームの値を確認しましたが、それらがリストされていて、オブジェクトと一致しているため、気になります。

何か不足していますか?

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

asp.net-mvc - .Net mvc バインダー

Microsoft の mvc フレームワークのモデル バインダーに同意できません。読み取り専用でタイプが guid の id プロパティを持つドメイン モデルの基本クラスがあります。ただし、読み取り専用であるため、バインダーはプロパティの値を設定できません。それで、私は完全にめちゃくちゃですか、それとも誰かが私の問題を解決できますか?

編集:いつものように、私が言及するのを忘れた追加情報があります。バインダーにidプロパティをバインドさせたいのは、それが別のモデルオブジェクトに関連するオブジェクトである場合だけです。この場合のように、投稿のカテゴリを選択しており、ORM の ID のみが必要です。

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

c# - ASP.NET MVC のバインドされたオブジェクトのオプション プロパティ

「新規顧客」フォームを作成しようとしているので、既定のモデル バインダーを使用して Customer オブジェクトを作成しています。

唯一の問題は、Customer オブジェクトに不要なプロパティがいくつかあることです。これらのフィールドを空白のままにすると、ASP.NET MVC は「値が必要です」というモデル エラーを自動的にスローします。

これらのプロパティがオプションであることをフレームワークに通知するにはどうすればよいですか?

0 投票する
5 に答える
4132 参照

asp.net-mvc - ASP.NET MVC UpdateModel の空のプロパティ

次のモデルを考えると、

意見、

およびコントローラー

私の b インスタンスには、Name に空の文字列を持つ A のプロパティが含まれます。

名前に値が入力されていない場合、UpdateModel に A プロパティを null に設定させる方法はありますか?

明確にするために、これは単純なケースです。私の現実世界のシナリオには、この類の何百ものプロパティを持つデータ モデルが含まれています。これらのデータ モデルの定義は、私の手に負えません。したがって、一般的なケースの解決策が必要です。つまり、値が入力されていない場合はプロパティを作成しないでください。

さらなる明確化: これは編集シナリオでも機能する必要があります。つまり、A.Name が "foo" に設定された b のインスタンスは、A.Name を "" に設定するように編集されます。A を null にする必要があります。

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

asp.net-mvc - ModelBinders の登録

ベータ版から RC1 MVC にアップデートしました。

Application_start (global.ascx) に次のコードがあります。

これにより、次の例外が発生します....

メソッドが見つかりません: System.Collections.Generic.IDictionary`2 System.Web.Mvc.ModelBinders.get_Binders()'.

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

asp.net-mvc - モデル バインダー内でのモデル バインディング

まず、ここで我慢してください。フォーム データをカスタム オブジェクトに正常にマッピングするカスタム モデル バインダーがあります。このモデル バインダー内では、フォーム項目も別のカスタム オブジェクトにマップされます。私ができるはずだと感じているのは、この 2 番目のマッピングを処理する別のモデル バインダーを作成することです。これは簡易版です。

カスタム オブジェクト:

フォームが SubCategories の一連の Id を返す場合、データ リポジトリに移動して SubCategory オブジェクトをハイドレートする必要があります。フォームから、サブカテゴリのリストが次の形式で送信されます。

カテゴリをマップするカスタムを作成するのは明らかに簡単ですが、サブカテゴリをマップするモデル バインダーを作成する (モデル バインダー内でデータ リポジトリからクエリを実行する) のは少し難しいことがわかります。

申し訳ありませんが、読んでいただきありがとうございます。これを明確にするために何か言えることがあれば教えてください。

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

asp.net-mvc - MVC コントローラーのアクション メソッドのインターセプト

一般的な方法で DB からオブジェクトをリロードできる O/R マッパーを使用します。それらをリロードするために、マップされたオブジェクトの作成直後にリクエストを傍受できるようにしたいと考えています。

ActionFilters はもちろんありますが、問題は、ActionFilters (または私が見た例) が、オブジェクトが作成された後ではなく、フォームによって提供されたデータを処理できることです。

コントローラーのオーバーライド可能なメソッドを調べましたが、私の目を引く明白なものは何も見つかりませんでした。これを行う方法を知っている人はいますか?

ご提案ありがとうございます。

ナセル