問題タブ [begincollectionitem]
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# - 親ビューに同じモデルがある場合、部分ビューで HTML フォーム データをシリアル化するにはどうすればよいですか?
親ビューと同じモデルを持つ 1 つを除いて、異なるモデルを持ついくつかの部分ビューを含むビューがあります。その理由は、親ビューがリスクを表し、リスクが「モーター」か「非モーター」かに基づいて部分ビューがロードされるためです。モーター部分ビューと非モーター部分ビューの両方が、リスクの親ビューにある同じモデルを使用します。
Html.BeginCollectionItem メソッドを使用し、送信時にフォーム データをシリアル化して、親ビューのモデル (リスク) に使用される同じクラスでデータを取得しようとしています。提出物は、モーターおよび非モーターの部分ビューで見つかったものを除いて、すべてのデータを収集することに成功しました。目標は、モーター/非モーター部分ビューのデータを親ビューのリスク モデルと同じオブジェクトにシリアル化することでしたが、受信メソッドをデバッグすると、部分ビューで収集されたすべての属性が null になります。または 0 ですが、値は実際にはフォームに入力されています。
部分ビューの外部に入力されたデータだけでなく、リスク項目にすべてのデータを含めるにはどうすればよいですか?
c# - HTM BeginCollectionItem はコレクションの最初のアイテムのみを返します
次の問題があります。
「Gifts」のコレクションがパラメーターとしてビューに渡されます。このコレクション内の各アイテムは、Model クラス "Gift" のオブジェクトです。このクラス内には、name と price の 2 つのプロパティしかありません。簡単にするために、クラスをコントローラー内に配置しました。
これはアクションメソッドです:
ビューでは、BeginCollectionItem Html ヘルパーのおかげで、コレクションに新しい項目を動的に追加できます。
これは私の見解です:
これは "GiftEditorRow" と呼ばれる部分的なビューです:
コントローラー内には、次のアクションメソッドもあります。
コレクション内に既に存在する最初のアイテムのみが、コントローラーの HTTP Post メソッドに渡されます。