Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework ASP.NET MVC 4实体框架中部分视图和模型绑定的多实例处理_Entity Framework_Asp.net Mvc 4 - Fatal编程技术网

Entity framework ASP.NET MVC 4实体框架中部分视图和模型绑定的多实例处理

Entity framework ASP.NET MVC 4实体框架中部分视图和模型绑定的多实例处理,entity-framework,asp.net-mvc-4,Entity Framework,Asp.net Mvc 4,这是我的控制器代码 namespace MultipleInstance.Controllers { public class Default1Controller : Controller { private MVCDemoEntities db = new MVCDemoEntities(); public ActionResult Index() { Order ord = new Order(); //ord.Bi

这是我的控制器代码

namespace MultipleInstance.Controllers
{
    public class Default1Controller : Controller
    {
     private MVCDemoEntities db = new MVCDemoEntities();

   public ActionResult Index()
    {
        Order ord = new Order();
        //ord.BillingAddress = new Address1();
        //ord.ShippingAddress = new Address();
        return View(ord);
    }

   public ActionResult ProcessForm(Order ord)
   {

       return PartialView("Index");

       }


    }
}
这是我的索引视图

@using(Html.BeginForm("ProcessForm","Default1",FormMethod.Post))
{
  <h3>Basic Details</h3>
  @Html.Partial("_BasicDetails")
  <h3>Shipping Address</h3>
  @Html.Partial("_Address", 
  new ViewDataDictionary() 
  { 
    TemplateInfo = new TemplateInfo() 
      { HtmlFieldPrefix = "ShippingAddress" } })


      <input type="submit" value="Submit" />
}
提前谢谢。

这应该行得通

@Html.Partial("~Views/shared/_BasicDetails.cshtml", Model)

您需要将模型传递给它[并且应该在您的操作中对其进行初始化],因为我在您的代码中看到,您正在局部视图中使用它

局部视图的路径是什么,索引视图的路径是什么~Views\shared\u BasicDetails.cshtml~Views\Default1\index.cshtmlhave您尝试过使用这个
@Html.partial吗(“_基本细节”)
部分视图的完整路径?是的,两种方式都有效。有人能告诉我如何将所有表的数据保存到db吗?我需要编写单独的操作方法吗?我使用的是实体框架。请给我一些想法作为最佳实践,使您的模型视图控制器不受任何业务相关编码的影响,即:创建一个能够与您的数据库层通信,不管它是实体框架还是其他方式,只需在控制器中调用此业务模型,例如:
Employees.GetDetails()
在显示一名员工详细信息的视图中使用,以及
Employees.ListAll()
获取您拥有的员工列表……等等[HttpPost]public ActionResult ProcessForm(Order Order){if(ModelState.IsValid){db.Orders.Add(ord);db.SaveChanges();}返回视图(ord);我写了下面的代码来保存数据,但值只能插入到orders表中,而不能插入到address页。所以我需要为业务相关代码创建单独的类,每次需要时我都应该调用??
@model MultipleInstance.Address

<table>
    <tr>
        <td>@Html.LabelFor(m => m.Street1)</td>
        <td>@Html.TextBoxFor(m => m.Street1)</td>
    </tr>
    <tr>
        <td>@Html.LabelFor(m => m.Street2)</td>
        <td>@Html.TextBoxFor(m => m.Street2)</td>
    </tr>
    <tr>
        <td>@Html.LabelFor(m => m.Country)</td>
        <td>@Html.TextBoxFor(m => m.Country)</td>
    </tr>
    <tr>
        <td>@Html.LabelFor(m => m.PostalCode)</td>
        <td>@Html.TextBoxFor(m => m.PostalCode)</td>
    </tr>
</table>
public partial class Order
    {
        public int Id { get; set; }
        public string OrderID_ { get; set; }
        public string CustomerID_ { get; set; }
        public string SelectType { get; set; }
        public Address ShippingAddress { get; set; }

    }



public partial class Address
    {
        public int Id { get; set; }
        public string Street1 { get; set; }
        public string Street2 { get; set; }
        public string Country { get; set; }
        public string PostalCode { get; set; }
    }
@Html.Partial("~Views/shared/_BasicDetails.cshtml", Model)