2010-12-10 18 views
0

Je réalise un projet MVC 2 vb pour une société et les codes suivants sont utilisés pour récupérer des tables de base de données via model.edmx. J'ai plusieurs onglets dont j'ai implémenté des vues partielles séparées pour contenir les données. Voir la pageMVC 2 <% HTML BEGIN FORM%> entre en collision avec vue partielle

<% 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 %> 

page Contrôleur

<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 

Alors, voici le problème, quand je clique sur le bouton "Soumettre", il apparaît sur une erreur se référant à « _db.ApplyCurrentValues ​​(itin.EntityKey.EntitySetName , Itinerary) 'cet "itinéraire" est null là il ne peut pas être mis à jour. C'est parce que "Itinéraire" n'a pas été passé dans la fonction de publication BkgEntry. Contrairement à Pax et Bill était capable de. J'ai essayé plusieurs méthodes et j'ai dérivé à se demander si c'est à cause de plusieurs formes partielles en coïncidant avec <% Html Begin form%> qui provoquent l'erreur à la vue, si oui, comment puis-je le résoudre?

Répondre

0

Résolu. Merci quand même, il était juste idiot de ma part d'inclure un autre <% HtmlBegin Form%> et <% End en utilisant%> dans les vues partielles séparées, je suppose que le <% End Using%> dans le premier partiel arrête mon entier <% HtmlBeign Form%> opération au démarrage.

  • Derrick