問題タブ [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.

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

c# - 親ビューに同じモデルがある場合、部分ビューで HTML フォーム データをシリアル化するにはどうすればよいですか?

親ビューと同じモデルを持つ 1 つを除いて、異なるモデルを持ついくつかの部分ビューを含むビューがあります。その理由は、親ビューがリスクを表し、リスクが「モーター」か「非モーター」かに基づいて部分ビューがロードされるためです。モーター部分ビューと非モーター部分ビューの両方が、リスクの親ビューにある同じモデルを使用します。

Html.BeginCollectionItem メソッドを使用し、送信時にフォーム データをシリアル化して、親ビューのモデル (リスク) に使用される同じクラスでデータを取得しようとしています。提出物は、モーターおよび非モーターの部分ビューで見つかったものを除いて、すべてのデータを収集することに成功しました。目標は、モーター/非モーター部分ビューのデータを親ビューのリスク モデルと同じオブジェクトにシリアル化することでしたが、受信メソッドをデバッグすると、部分ビューで収集されたすべての属性が null になります。または 0 ですが、値は実際にはフォームに入力されています。

部分ビューの外部に入力されたデータだけでなく、リスク項目にすべてのデータを含めるにはどうすればよいですか?

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

c# - HTM BeginCollectionItem はコレクションの最初のアイテムのみを返します

次の問題があります。

「Gifts」のコレクションがパラメーターとしてビューに渡されます。このコレクション内の各アイテムは、Model クラス "Gift" のオブジェクトです。このクラス内には、name と price の 2 つのプロパティしかありません。簡単にするために、クラスをコントローラー内に配置しました。

これはアクションメソッドです:

ビューでは、BeginCollectionItem Html ヘルパーのおかげで、コレクションに新しい項目を動的に追加できます。

これは私の見解です:

これは "GiftEditorRow" と呼ばれる部分的なビューです:

コントローラー内には、次のアクションメソッドもあります。

コレクション内に既に存在する最初のアイテムのみが、コントローラーの HTTP Post メソッドに渡されます。

ここに画像の説明を入力

ここに画像の説明を入力