2012-05-20 7 views
7

Ich habe ein ASP.NET MVC 3-Projekt und ein Problem mit einer meiner 'Create' Ansichten.ASP.NET MVC 3 - Wie ein AJAX-Formular verschachtelt in einem HTML-Formular senden

Ich habe kaskadierende Dropdown-Felder, die ich mit Ajax-Formen implementiert habe.

Der Blick grob spricht - wie folgt aus:

@using (Html.BeginForm(...)) 
{ 
    @Html.MyDropDown1 

    using (Ajax.BeginForm(...)) 
    { 
     @Ajax.MyDropdown2 
     <input type="submit" value="Select" /> 
    } 

    using (Ajax.BeginForm(...)) 
    { 
     @Ajax.MyDropdown3 
     <input type="submit" value="Select" /> 
    } 

    <!-- other form fields --> 

    <input type="submit" value="Create" /> 
} 

Das Problem ist, dass die Senden-Schaltflächen innerhalb der Ajax-Formulare tatsächlich die äußere HTML-Formular einreichen.

Gibt es eine Möglichkeit, den Namen des Formulars anzugeben, das ich senden möchte?

Ich überlegte, meine Ajax-Formulare über mein HTML-Formular zu stellen, damit es keine Verschachtelung geben würde - aber ich brauche die Werte der Dropdown-Elemente in meinem HTML-Beitrag.

Danke, Pete

+4

HTML '' s kann nicht geschachtelt werden. – SLaks

+1

Im Grunde erstellen Sie ungültiges HTML. Sie müssen das, was Sie versuchen, neu gestalten. –

+0

@Rudie meine Vermutung wäre jemand könnte downvote weil Verschachtelung HTML-Tabellen zeigt einen "Mangel an Forschungsanstrengungen". (Ich habe das nicht abgelehnt, aber diese Art von Aufsicht wird auch keine positive Bewertung von mir bekommen. –

Antwort

7

Wie bereits in den Kommentaren aus Sie können nicht geschachtelt Formen haben. Entferne alle using (Ajax.BeginForm(...)) Bits und handle mit deinen Ajax-Aufrufen über jQuery (oder etw sonst).

+0

Verstanden, danke. – PeteGO