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?
BTW, powinieneś używać parametrów akcji zamiast 'Request.Form'. – SLaks
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. –
Nie mówię o pomocnikach HTML; Mówię o parametrach akcji. Są znacznie prostsze niż ręczne czytanie 'Request'. – SLaks