我有一个使用一对多关系对象的应用程序,例如oreder-orderDetails,vith EntityFramework。
我想使用一个视图,可以使用一些orderDetails对象添加新订单。
我可以创建一个强类型视图,它返回一个具有List orderDetails属性的订单对象,但不能填充orderDetails。
有人有解决方案,怎么做?
提前致谢
加布里埃尔
答案 0 :(得分:0)
我认为您需要使用订单表而不是订单视图来执行此操作。
答案 1 :(得分: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();
答案 2 :(得分:0)
主题添加订单订单详细信息
添加到订单表
按订单ID
按顺序检查产品是否有重叠
循环思考listorderdetail中的每个orderdetail,添加到数据库
检查某些条件,例如:产品表中的产品数量....
-OK?
答案 3 :(得分: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; }
}
也许这可以帮到你。