Я делаю проект 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)
'что "маршрут" там нулевой, он не может быть обновлен.
Это потому, что «Маршрут» не был передан в функцию post BkgEntry. В отличие от Пакса и Билла это удалось. Я перепробовал несколько методов, и мне было интересно узнать, может ли это быть из-за совпадения нескольких частичных форм с <% Html Begin form%>, которые вызывают ошибку при просмотре, и если да, то как я могу ее решить?