0

我有以下主要模型:

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 是我的英雄 :)) 我想要一个粉丝页面,只为点击“我喜欢它!” Darin vous êtes mon heros !! ou est votre page facebook 为 les 粉丝提供服务吗?

4

1 回答 1

0

@Html.Partial渲染元素时不尊重模型层次结构,因此表单元素不会被正确命名,因此不会被模型绑定。

改用@Html.EditorFor

@model PersonalDetailContainerViewModel

@Html.EditorFor(model => model.aprobacionPersonal)
@Html.EditorFor(model => model.aprobacionMinera)

用于Html.Partial呈现 HTML 内容/布局等 - 不是表单的一部分。

于 2012-10-04T01:45:27.827 回答