0

我为我的主模型定义了一个视图并在其中调用了详细部分视图。我的主模型包含一个列表。当页面回发到服务器时,如何从我的部分视图中获取数据?这是我的代码:

订单型号:

public string ShipName { get; set; }
public string ShipAddress { get; set; }
public IList<OrderDetailModel> OrderDetailModels { get; set; }

订单详情模型:

public int OrderID { get; set; }
public int Quantity { get; set; }
public int UnitPrice { get; set; }

public OrderModel OrderModel { get; set; }

订单视图

     @model MvcFirstSample.Models.OrderModel
    @{
        ViewBag.Title = "create";
    }

    <h2>create</h2>

    @using (Html.BeginForm())
    {
        @Html.ValidationSummary(true)


        //.....

    @Html.Partial("OrderDetail")
}

这是我对 OrderDetailView 的部分视图:

@model MvcFirstSample.Models.OrderDetailModel
@{
    ViewBag.Title = "OrderDetail";
}
Partial view OrderDetail
<div class="editor-label">
    @Html.LabelFor(model => model.Quantity)
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.Quantity)
    @Html.ValidationMessageFor(model => model.Quantity)
</div>
<div class="editor-label">
    @Html.LabelFor(model => model.UnitPrice)
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.UnitPrice)
    @Html.ValidationMessageFor(model => model.UnitPrice)
</div>
4

1 回答 1

2

你能试试这个代码吗?

@model MvcFirstSample.Models.OrderModel
    @{
        ViewBag.Title = "create";
    }

    <h2>create</h2>

    @using (Html.BeginForm())
    {
        @Html.ValidationSummary(true)


        //.....

    @Html.Partial("OrderDetail", Model.OrderDetailModels)
}

部分视图将是

@model List<MvcFirstSample.Models.OrderDetailModel>
@{
    ViewBag.Title = "OrderDetail";
}
@* we need to looping the list of Order details here *@

最后,请为 OrderModel 类型添加自定义模型绑定器

我将很快添加一个示例代码

于 2013-05-20T12:16:23.327 回答