私は会社の MVC 2 vb プロジェクトを行っています。model.edmx を介してデータベース テーブルを取得するために次のコードが使用されています。データを含めるために個別の部分ビューを実装した複数のタブがあります。ページを見る
<% Using Html.BeginForm("BkgEntry", "BookingController")%>
<input button type="submit" />
.
.
.
<div> <% Html.RenderPartial("~/Views/Booking/pax.ascx", ViewData("pax"))%></div>
<div> <% Html.RenderPartial("~/Views/Booking/itinerary.ascx", ViewData("itinerary"))%></div>
<% End Using %>
コントローラーページ
<HttpPost()>
Function BkgEntry(ByVal collection As FormCollection, ByVal bill As Billing, ByVal pax As Pax, ByVal Itinerary As Itinerary, ByVal id As Integer) As ActionResult
.
.
.
_db.ApplyCurrentValues(billing.EntityKey.EntitySetName, bill)
_db.ApplyCurrentValues(pa.EntityKey.EntitySetName, pax)
_db.ApplyCurrentValues(itin.EntityKey.EntitySetName, Itinerary)
_db.SaveChanges()
Return RedirectToAction("BkgEntry")
End Function
ここに問題があります。「送信」ボタンをクリックすると、「_db.ApplyCurrentValues(itin.EntityKey.EntitySetName, Itinerary)」を参照するエラーが表示され、「旅程」がnullで更新できません。
これは、「Itinerary」が BkgEntry 事後関数に渡されなかったためです。パックスとビルができたのとは異なり。私はいくつかの方法を試しましたが、複数の部分フォームが <%Html Begin form%> と衝突してビューでエラーが発生したためかどうか疑問に思いました。もしそうなら、どうすれば解決できますか?