【发布时间】:2014-10-26 06:22:47
【问题描述】:
我正在尝试将模型从局部视图绑定到我的主窗体。我的模型workoutPlan 只存储了一个锻炼组列表
public List<WorkoutSet> WorkoutSet;
在我的主页上。我的表单看起来像这样:
@model WorkoutPlanObjects.WorkoutPlan
@using (Html.BeginForm("AddNewPlan", "Workout", FormMethod.Post))
{
if (Model != null)
{
<table id="workoutTable">
<tr>
<td>
@{Html.RenderPartial("~/Views/Partial/_AddNewPlan.cshtml", Model);}
</td>
</tr>
</table>
}
<input type="submit" id="submit" value="submit" />
}
这是我的部分观点_AddNewPlan
@model WorkoutPlanObjects.WorkoutPlan
@if(Model!=null)
{
foreach (var item in Model.WorkoutSet)
{
@Html.TextBoxFor(a => item.Repeats)
}
}
我能够使用 ajax 调用更新我的部分视图,但是当我尝试提交表单时,没有传递任何值。这是 chrome 中代码的 sn-p,它显示了渲染的部分视图(请原谅格式)。有什么解决办法吗?
我可以看到渲染视图的名称都是相同的item.Repeats。我应该如何更改此部分视图名称以与主页模型绑定?
<form action="/Workout/AddNewPlan" method="post">
<table id="workoutTable">
<tbody><tr>
<td>
<input id="item_Repeats" name="item.Repeats" type="text" value="1">
<input id="item_Repeats" name="item.Repeats" type="text" value="2">
<input id="item_Repeats" name="item.Repeats" type="text" value="3">
<input id="item_Repeats" name="item.Repeats" type="text" value="4">
</td>
</tr>
</tbody>
</table>
<input type="submit" id="submit" value="submit">
</form>
【问题讨论】: