この質問を続けると、個人用にリストされたすべての車両を含むフォームがあり、車両フィールドは編集可能であり、保存アクションに正常にポストバックされています。
UpdateModelを使用してデータを保存したいのですが、作成方法がわかりません。これが今の私の保存アクションです:
<ActionName("Edit"), AcceptVerbs(HttpVerbs.Post)> _
Function Save(ByVal form As Person, ByVal vehicles() As Vehicle) As ActionResult
Dim original = From v In MyDataContext.Vehicles Where v.person_id = Person.person_id
For Each item In original
For i = 0 To vehicles.Count - 1
If vehicles(i).vehicle_id = item.vehicle_id Then
UpdateModel(item, New String() {"license_nbr", "color"})
Exit For
End If
Next
Next
MyDataContext.SubmitChanges()
Return RedirectToAction("Index", "Home")
End Function
これを実行しても何も保存されず、UpdateModelはエラーをスローしません。UpdateModelは、各更新に使用する車両配列内のアイテムを認識していないため、魔法を機能させるためにもう少し方向性を与える必要があると思います。
UpdateModelの3番目のパラメーターとしてValueProviderResultを指定する必要がありますか?もしそうなら、どうすれば車両(i)から1つを作成できますか?私はこれをどのように設定したかについて完全にベースから外れていますか?