我有以下主要模型:
public class PersonalDetailContainerViewModel {
public AprobacionViewModel aprobacionPersonal { get; set; }
public AprobacionViewModel aprobacionMinera { get; set; }
public PersonalDetailContainerViewModel() {
aprobacionPersonal = new AprobacionViewModel();
aprobacionMinera = new AprobacionViewModel();
}
}
子模型:
public class AprobacionViewModel {
[DisplayName("Observación")]
public string observation { get; set; }
[DisplayName("Responsable")]
public string responsable { get; set; }
[UIHint("DropDownList")]
[DisplayName("Estado")]
public IEnumerable<SelectListItem> ListEstado { get; set; }
public AprobacionViewModel() {
ListEstado = CommonService.createDropDownListEstado();
}
}
主要观点:
@model PersonalDetailContainerViewModel
@Html.Partial("Aprobacion", Model.aprobacionPersonal)
@Html.Partial("Aprobacion", Model.aprobacionMinera)
和......详情视图:
@model AprobacionViewModel
<fieldset>
<legend>Aprobación / Rechazo</legend>
@Html.EditorFor(m => m.ListEstado, null)<br />
@Html.EditorFor(m => m.observation, null)<br />
@Html.EditorFor(m => m.responsable, new { disabled = "disabled" })
</fieldset>
我的问题,在绑定中我总是收到AprobacionViewModel字段的空值:
[HttpPost]
public ActionResult Details(PersonalDetailContainerViewModel model){
model.aprobacionPersonal.observation //NULL ??
}
可以在没有自定义模型绑定器的子视图中使用子模型吗?
ps:Darin Dimitrov是我的英雄:))我想要一个粉丝页面只是点击“我喜欢它!” Darinvousêtesmonhéros!! ou est votre page facebook pour les fans?
答案 0 :(得分:0)
@Html.Partial
在渲染元素时不尊重模型层次结构,因此表单元素将不会被恰当地命名,因此不会受到模型约束。
改为使用@Html.EditorFor
:
@model PersonalDetailContainerViewModel
@Html.EditorFor(model => model.aprobacionPersonal)
@Html.EditorFor(model => model.aprobacionMinera)
使用Html.Partial
呈现HTML内容/布局等 - 而不是表单的一部分。