以下是我的观点的一部分
@using (Ajax.BeginForm("SaveScheduleType", "Users", new { }, new AjaxOptions {HttpMethod = "POST", UpdateTargetId = "", LoadingElementId = "imgloaderIndex" }, new { id = "addUserForm" }))
{
<table id="tblScheduleType" cellpadding="0" cellspacing="0" class="edit popuptable" style="margin-bottom: 0px;">
@{
if (Model.DataList != null && Model.DataList.Count > 0)
{
foreach (var sch in Model.DataList)
{
<tr>
<td class="lblForTdName" width="250px">@sch.Name
</td>
<td class="ctrlForTdName" style="display: none;">
<input type="text" value="@sch.Name" />
</td>
<td class="lblForTdDesc" width="250px">@sch.Description
</td>
<td class="ctrlForTdDesc" style="display: none;">
<input type="text" value="@sch.Description" />
</td>
<td class="lblForTd">
<a class="editScheduleType">Edit</a>
</td>
<td class="ctrlForTd" style="display:none;">
<a class="updateScheduleType">Update</a>
<a class="cancelScheduleType">Cancel</a>
</td>
<td>
<a class="deleteScheduleType">Delete</a>
</td>
</tr>
}
}
}
</table>
<br clear="all" />
<input type="submit" id="" value="SAVE" />
<br clear="all" />
}
正如您所见,我在视图中以表格的形式提供数据。单击提交按钮,我希望表中的数据从视图传递到控制器,但我没有获取控制器内的数据。我检查了一个断点。
这是控制器:
[HttpPost]
public ActionResult SaveScheduleType(Response<ScheduleType> scheduleType)
{
return View();
}
答案 0 :(得分:0)
您的所有文本字段都没有name属性。您必须在响应中使名称与属性匹配才能生效,包括对具有复杂对象的模型使用点表示法。
为了使其更难,您需要使用数组语法呈现名称,例如:
<input type="text" name="DataList[0].Name" />
为了让它正确回发。