質問

部分ビューを使用したいシナリオがありますが、コントローラーにデータを渡す際に問題が発生しています。これが私がやろうとしていることの基本的な例です。

オブジェクト:

  • 顧客
  • 注文

顧客にはIList<Order>があります。ユーザーが情報を編集できるように部分ビューが必要です。表示するデータを取得することはできますが、フォームがCustomerオブジェクトの下にリストを投稿するときはnullです。

また、部分ビューで別のフォームを使用しようとしました。コントローラーでパラメーターを作成する場合、これを行うとデータが取得されます:

public ActionResult UpdateOrders(IList<Guid> id, IList<int> quantity, IList<Guid> productId)

しかし、私がこれを行うとき

public ActionResult UpdateOrders(IList<Order> orders)

リストはヌルです。

これを達成する方法についてより良い提案があれば、お知らせください。

役に立ちましたか?

解決

ビューのフィールドをどのように参照していますか?私はそれが次のようなものであるべきだと考えています:

<input type="hidden" name="orders.Index" value="0" />
<input type="hidden" name="oders[0].ID" value="1" />
<input type="hidden" name="orders[0].productId" value="4" />
<input type="text" name="orders[0].quantity" value="6" />

<input type="hidden" name="orders.Index" value="1" />
<input type="hidden" name="orders[1].ID" value="2" />
<input type="hidden" name="orders[1].productId" value="2" />
<input type="text" name="orders[1].quantity" value="15" />

bindingのPhil Haackのブログエントリを参照してください。詳細についてはをご覧ください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top