我正在 MVC3 中编写一个调查应用程序。我有这个类(简化):
public class Survey
{
public Respondent Respondent { get; set; }
}
在我看来:
@model Survey
// bla bla bla
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
@Html.Partial("_Respondent", Model.Respondent)
}
当我将其发回时,survey.Respondent = null :(
[HttpPost]
public ActionResult Survey(Survey survey)
{
return RedirectToAction("Index");
}
_Respondednt 部分视图的简化代码:
@model Mercer.FITT.Respondent
<fieldset>
<legend>Respondent Information</legend>
<table>
<tr>
<td>
@Html.LabelFor(model => model.Name)
</td>
<td>
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</td>
</tr>
<tr>
<td>
@Html.LabelFor(model => model.JobTitle)
</td>
<td>
@Html.EditorFor(model => model.JobTitle)
@Html.ValidationMessageFor(model => model.JobTitle)
</td>
</tr>
</table>
</fieldset>
如果我摆脱部分视图并将部分视图内容复制到主视图中,一切都很好。知道为什么不从局部视图中收集数据吗?也许我应该以不同的方式调用局部视图?
非常感谢。