問題タブ [modelbinder]
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.
c# - ASP.NET パイプライン内で DefaultModelBinder が呼び出されるのはいつですか?
DefaultModelBinder
が ASP.NET パイプライン内で呼び出されるタイミングを知りたいですか?
背景:現在のスレッドのカルチャを設定できる適切な場所を見つけたいです。
asp.net-mvc - モデル バインダー UI カルチャ DateTime
私のアプリケーションでは、カルチャが en-US に設定され、UI カルチャが nl-NL に設定されています。
私のモデルには DateTime フィールドがあります。私の見解では、Datetime フィールドに 29-01-2014 のようなオランダ語形式の日付を入力すると、UI カルチャが考慮されないため、モード バインダーはそれを取得しません。
フォームからモデルに日付または浮動小数点数をバインドするときに、UI カルターを考慮するようにモード バインダーに指示するにはどうすればよいですか。
datetime - 日時モデルバインダー
次のチュートリアルのすべての手順を既に実行しましたが、問題が発生しました。私の目的は、モデル バインダーを使用して日付と時刻をバインドし、日時フィールドに保存することです。 http://devblog.lundy.us/2010/09/28/date-time-picker-asp-net-mvc-jquery-part-1/
簡単な質問があります:編集ビューで次のコードをどのように実装できますか?
彼はどうやって手に入れたのStart.Date
ですか?彼のモデルにはと
しかないからです。彼は変数をどこで定義しましたか?Start
End
Date
そして、上記のコードを実装するとエラーが発生しました:「System.Nullable」には「Date」の定義が含まれていません
私は彼のコードとまったく同じモデルと DateTimeModelBinder.cs を持っていると確信しています。
使用できない理由を教えてください。model => model.Start.Date
または、日付と時刻をバインドする方法を明示的に教えてくれるチュートリアルを教えてください。
ありがとう!!
asp.net-mvc - MVC 3 Model Binder がオブジェクト プロパティを設定しない
MVC Kendo Grid は更新メソッドを呼び出し、フィドラーを使用して、クエリ文字列内のオブジェクト データを確認できます。デバッグ モードでは、モデル バインダーがクエリ文字列内のオブジェクトの数を識別できたこともわかります。しかし、オブジェクト リストを見ると、どの値も見つかりませんでした。この時点で可能な解決策を探す場所は他にありません。
かみそりビュー:
フィドラー:
HTTP リクエスト: GET [目的上省略]MultipleTaxTypesUpdate?models%5B0%5D%5BTaxId%5D=33a34b0e-06a1-415b-b2c7-c155839123d6&models%5B0%5D%5BName%5D=Event+Taxes&models%5B0%5D%5BExternalCode%5D =3
デバッグ ビュー:
デバッグ ビューで、1 つのオブジェクトが検出されたが、プロパティが空であることに注意してください。2 つのオブジェクトを更新すると、デバッグ ビューに 2 つの空のオブジェクトが表示されます。
モデル ビュー
asp.net - MVC 6 ASP.NET 5 でコントローラーが本文と URL からの投稿データを受け入れるようにする方法
現在、投稿リクエストからデータを受け入れることができるコントローラーを MVC 6 で作成しようとしています。問題は、クライアント (常に Web ブラウザーであるとは限りません) によっては、データが要求 URL のキーと値のペアとして、または要求本文の JSON として受信される可能性があることです。
現在、このメソッドは URL からデータを受け取るために機能します。
多くの試行錯誤 (およびスタック オーバーフローの回答) の後、[FromBody]
MVC 6 が WebApi と標準 MVC を結合するため、属性がモデル バインダーに要求本文を調べるように指示することがわかりました。次のコードは、フォーム本体の JSON からデータを解析します。
簡単にするために、この 2 つをどうにかして結合したいと思います。そのため、モデル バインダーは同じパラメーター変数でデータを提供します。これまでのところ、同じアクションにデータを取得する唯一の方法は、URL 用と本文用の 2 つのパラメーターを指定し、次のようにそれぞれに対して null チェックを行うことです。
次のように入力属性の前に複数のプロパティを指定しようとしました:
しかし、うまくいきません。このようなことが可能である場合、何かアイデアはありますか?
asp.net - JSONポストを介してデータセットをバインドする.Netモデル
私はこれでかなりの時間を過ごしています。私は何かが欠けているに違いない。
Angular/JSON 経由で複雑なモデルを .NET コントローラーに投稿しています。サーバーにポストバックするとき、DefaultModelBinder はモデルに部分的にのみバインドします (int (ID) や string (タイトル) などの単純な値は問題ありません)。「ListItems」データセットは、ProjectDetails モデルの一部である「ProductsList」データテーブルと同様に無視されているようです。私が読んでいることから、複雑なオブジェクトの場合、DefaultModelBinder は JSON で 2 回目のパスを再帰的に取得し、見つけたオブジェクトをマップします。StackOverflow を検索して見つけた多くの解決策を試しましたが、役に立ちませんでした。この時点で、私はちょうど私の視点を失ったと思います。これが私が持っているものです。どんな助けでも大歓迎です。
モデル
アクションコントローラー
ヘッダ
投稿されたJSONデータ
AngularJS コード
フォーム値を含む HTML テンプレート
動作 JSON ポストはコントローラーに対して正常に機能し、ImageID と Title をバインドします。ListItems データセットにはテーブルが含まれておらず、ListItems データセット内の ProductsList データテーブルは存在しません。
注: JSON の ProjectStatusCodes データは、フォームに表示する目的でのみ使用されたため、モデルにマッピングされません。
c# - Html.BeginForm() に引数を明示的に追加した後、ModelBinder が機能しない
StudentID
コントローラーでは、ビューの POST メソッドから取得します。基本的に、行は次のとおりです。
ビューには、StudentID
. View() で行を変更したときの理由は何ですか:
に
ModelBinder
バインディングを停止しStudentID
ます。フォームを送信するとnull
、正しい学生 ID の代わりに受け取ります。