2012-04-24 21 views
5

Próbuję wysłać moje dane formularza do mojego kontrolera ASP MVC, ale kolekcja formularzy jest pusta. Zmienne w akcji są poprawnie powiązane. To jest moja maszynka do goleniaasp mvc post nie wysyłający danych formularza

@foreach (var recipe in Model.RecipesInCategory) { 
    <form name="input" action="mycontroller/myAction/@Model.Id1/@Model.Id2" method="post"> 
    <fieldset> 
     <table > 
     <tr> 
      <td> 
      <input id="AddBtn" type="submit" value="Add" /> 
      <select id="dayOfWeek" > 
       <option value="Sunday">Sunday</option> 
       <option value="Monday">Monday</option> 
       <option value="Tuesday">Tuesday</option> 
       <option value="Wednesday">Wednesday</option> 
       <option value="Thursday">Thursday</option> 
       <option value="Friday">Friday</option> 
       <option value="Saturday">Saturday</option> 
      </select> 
      </td> 
     </tr> 
     </table> 
    </fieldset> 
    </form> 
    } 

i tutaj jest mój kontroler. Oba identyfikatory GUID są poprawnie przesyłane, ale zmienna dow jest zawsze pusta. W rzeczywistości formularz nie ma żadnych wpisów.

[HttpPost] 
public ActionResult myAction(Guid Id1, Guid Id2) 
{ 
    var dow = this.Request.Form["dayOfWeek"]; 

Zauważ, że mam wiele formularzy na tej stronie utworzonych w pętli. czy to problem?

+1

BTW, powinieneś używać parametrów akcji zamiast 'Request.Form'. – SLaks

+0

Pochodzę ze świata WPF, a mój HTML jest bardzo słaby. Czuję, że pomocnicy HTML izolują mnie od HTML zbytnio w tym momencie. Chcę się dowiedzieć, co dzieje się pod kołdrą, zanim zacznę używać abstrakcji. –

+0

Nie mówię o pomocnikach HTML; Mówię o parametrach akcji. Są znacznie prostsze niż ręczne czytanie 'Request'. – SLaks

Odpowiedz

21

Przeglądarka będzie zawierała tylko dane POST z elementów formularza o atrybutach name="".

+0

idealne! to zrobiło. dzięki. –

+1

więc zobaczę, czy jestem czysty - POST używa "nazwy", a CSS/JS używa ID? –

+2

Dokładnie. "nazwa" nie musi być unikalna. (w rzeczywistości, dla przycisków radiowych, nie powinien być unikatowy) – SLaks

Powiązane problemy