我有以下主要模型:
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 vous êtes mon héros !!ou est votre page facebook pour les fans ?
@Html.Partial
在渲染元素时不考虑模型层次结构,因此表单元素的名称不正确,因此不会绑定模型。
请改用@Html.EditorFor
:
@model PersonalDetailContainerViewModel
@Html.EditorFor(model => model.aprobacionPersonal)
@Html.EditorFor(model => model.aprobacionMinera)
使用Html.Partial
来呈现HTML内容/布局等 - 而不是作为表单的一部分。