양식 데이터를 ASP MVC 컨트롤러로 보내려고하지만 양식 모음이 비어 있습니다. 동작의 변수는 올바르게 바인딩됩니다. 이것은 나의 면도기 형태입니다asp mvc 양식 데이터를 보내지 않음
@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>
}
그리고 여기 내 컨트롤러입니다. 두 GUID가 제대로 전달되지만 다우 변수는 항상 null입니다. 실제로 양식에는 항목이 전혀 없습니다.
[HttpPost]
public ActionResult myAction(Guid Id1, Guid Id2)
{
var dow = this.Request.Form["dayOfWeek"];
이 페이지에는 루프 형태로 많은 양식이 있습니다. 그게 문제 야?
글쎄, 당신은'Request.Form' 대신 행동 매개 변수를 사용해야합니다. – SLaks
저는 WPF 세계에서 왔고 HTML은 매우 약합니다. 나는 HTML 도우미가이 시점에서 HTML에서 나를 너무 많이 차단한다고 생각한다. 추상화를 사용하기 전에 어떤 일이 일어나는지 배우고 싶습니다. –
HTML 헬퍼에 대해 말하는 것이 아닙니다. 나는 행동 매개 변수에 대해 이야기하고있다. 그들은'Request'를 수동으로 읽는 것보다 훨씬 간단합니다. – SLaks