1

我有一个使用一对多关系对象的应用程序,例如 oreder-orderDetails,vith EntityFramework。

我想使用一个视图,它可以使用一些 orderDetails 对象添加新订单。

我可以创建一个强类型视图,它返回一个具有 List orderDetails 属性的订单对象,但不能填充 orderDetails。

有没有人有解决方案,如何做到这一点?

提前致谢

加布里埃尔

4

4 回答 4

0
  • 主题添加订单订单详情

    1. 添加到订单表

    2. 按orderID在订单表中选择列表顺序

    3. 在 orderdetail 中检查产品是否有重叠

    4. 循环认为listorderdetail中的每个orderdetail,添加到数据库中

    5. 检查一些条件,例如:产品表中的产品数量....

-好的?

于 2010-07-30T06:36:20.300 回答
0

我认为您需要使用订单表而不是订单视图来执行此操作。

于 2009-11-26T22:05:12.600 回答
0

好的,假设您创建了一个名为 OpenOrders 的视图,该视图继承自您的 Order 实体。

<%@ Page Language="C#"  
Inherits="System.Web.Mvc.ViewPage<List<OrdersApp.Models.Order>>" %>

因此,您可以显示订单列表中的项目,还可以添加一个允许输入订单详细信息的表单。

因此,当您发布到页面时,您可以收到 Orders 对象和 FormCollection 对象

//
// POST: /Orders/OpenOrders/Details

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult OpenOrders(Order order, FormCollection collection)

然后您可以创建一个新的 OrderDetails 对象并将其添加到 Orders 对象中,然后保存。

OrderDetails orderdetails = new OrderDetails()

orderdetails.Description = = collection["OrderDescription"].ToString();
...
...

order.OrderDetails.Add(orderdetails);
orderRepository.Save();
于 2009-11-29T22:35:59.847 回答
0

我在视图中使用了以下代码来填充列表中的数据。

    @model Webrixs_Portal.Web.Models.CustomViewModels.RefvaluesCreateEditModels   
    @using (Html.BeginForm("EmbadedEditor", "Refvalues", FormMethod.Post, new { id = "SavingRefValueInTable" })) 
    {        
      @for (var i = 0; i < Model.ReferenceTranslateion.Count(); i++)
        {

            <div class="row" style="margin-left:0px;margin-right:0px;padding-left: 0px !important;  padding-right: 0px !important;margin-top:5px;">

                <div class="col-md-3" style="padding-right:0px;padding-left:3px;  -webkit-box-sizing: border-box;    -moz-box-sizing: border-box;    box-sizing: border-box;">@Model.ReferenceTranslateion[i].RelLanguageName</div>
                <div class="col-md-9" style="padding-right:0px;padding-left:0px;   -webkit-box-sizing: border-box;    -moz-box-sizing: border-box;    box-sizing: border-box;">
                    @Html.TextBoxFor(model => model.ReferenceTranslateion[i].RelTe1, new { @class = "k-textbox full" })
                </div>
                @Html.HiddenFor(model => model.ReferenceTranslateion[i].RelID)
                @Html.HiddenFor(model => model.ReferenceTranslateion[i].RelLangID)
            </div>
        }
     }

您可以在此处使用其他控件,例如 listview 或 gridview 等。

视图模型如下:

    public class RefvaluesDetailViewModels
      {

    public String RefID { get; set; }
    public List<RefLocaleCreateEditModels> ReferenceTranslateion { get; set; }
       }

也许这可以帮助你。

于 2016-11-24T12:53:11.260 回答