2012-05-20 9 views
7

Mam projekt ASP .NET MVC 3 i problem z jednym z widoków "Utwórz".ASP .NET MVC 3 - Jak przesłać formularz ajaxowy zagnieżdżony w formularzu HTML

Mam kaskadowe pola rozwijane, które zaimplementowałem w formularzach ajax.

Widok jest z grubsza rzecz biorąc - tak:

@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" /> 
} 

Problemem jest to, że przyciski złożyć wewnątrz Ajax form właściwie przedstawić zewnętrzną formularza HTML.

Czy istnieje sposób podania nazwy formularza, który chcę przesłać?

Pomyślałem o umieszczeniu moich formularzy ajaxowych powyżej mojego formularza HTML, aby nie było żadnego zagnieżdżania - ale potrzebuję wartości wybranych elementów rozwijanych w moim poście HTML.

Dzięki Pete

+4

HTML '

' s nie może być zagnieżdżony. – SLaks

+1

Zasadniczo tworzysz nieprawidłowy kod HTML. Musisz przeprojektować to, co próbujesz zrobić. –

+0

@Rudie przypuszczam, że ktoś mógłby zgodzić się z tym, że zagnieżdżanie tabel html pokazuje "brak wysiłku badawczego". (Nie przegłosowałem tego, ale ten rodzaj nadzoru również mnie nie przebije, –

Odpowiedz

7

Jak zauważył w komentarzach nie można mieć zagnieżdżone formy. Usuń wszystkie bity using (Ajax.BeginForm(...)) i obsłuż swoje wywołania ajax za pomocą jQuery (lub czegoś innego).

+0

Zrozumiano, dziękuję. – PeteGO

Powiązane problemy