2014-11-21 4 views
0

У меня есть 2 модели в моем приложении MVC 3, CustomerOrder и OrderDetail. Моя модель OrderDetai l есть с List.Частичный вид - привязка модели в ASP.NET MVC 4

Модель

public class CustomerOrder 
{ 
    public int CustomerId { get; set; } 
    public int NetPrice { get; set; } 
    public List<OrderDetail> Orderlist { get; set; } 
    public CustomerOrder() 
    { 
     Orderlist = new List<OrderDetail>(); 
    }  
} 

public class OrderDetail 
{ 
    public string ProductName { get; set; } 
    public int Quantity { get; set; } 
    public int Price { get; set; } 
    public int TotalPrice {get{ return Price*Quantity;} }  
} 

Это мой контроллер

public ActionResult CustomerOrder() 
{ 
    return View(); 
} 

[HttpPost] 
public ActionResult CustomerOrder(CustomerOrder SelectedOrder) 
{ 
    DataBase dataBase = new DataBase(); 
    var result = dataBase.InsertData(SelectedOrder); 
    ViewData["result"] = result; 
    return View(); 
} 

Это мой взгляд на CustomerOrder

@model MvcCustomerOrderClass4g.Models.CustomerOrder 
@{ 
    ViewBag.Title = "CustomerOrder"; 
} 

<h2>CustomerOrder</h2> 

@using (Html.BeginForm()) { 
    <fieldset> 
     <legend>CustomerOrder</legend> 
     <div class="editor-label"> 
      @Html.LabelFor(model => model.CustomerId) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.CustomerId) 
     </div> 
     <div class="editor-label"> 
      @Html.LabelFor(model => model.NetPrice) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.NetPrice) 
     </div>  
     <p> 
      <input type="submit" value="Submit" /> 
     </p> 
    </fieldset> 
} 
@{ 
    if (ViewData["result"] != "" && ViewData["result"] != null) 
    {  
    <script type="text/javascript" lang="javascript"> 
     alert("Data saved Successfully"); 
    </script> 
    } 
} 

My Model OrderDetail находится с List. Как использовать его в качестве списка на мой взгляд? Здесь я хочу добавить OrderDetail модель. Я также создал другой вид для OrderDetails, для добавления его как Partial в CustomerOrder.

+0

Что такое «определить вид»? Что такое «дать в контроллер»? – CodeCaster

+0

Я дал список в моей модели. Я не знаю, как передать его в поле «Редактор». @CodeCaster – JAB

+0

Вы спрашиваете, как вы показываете редактор для свойства 'OrderList'? – James

ответ

0

Проще всего было бы создать EditorTemplate:

@model OrderDetail 

    @Html.HiddenFor(m => m.Id)//your model doesn't seem to have an id? 
    @Html.DisplayFor(m => m.ProductName) 
    @Html.EditorFor(m => m.ProductName) 

Затем на ваш взгляд, с CustomerOrder модели просто сделать это:

@Html.LabelFor(model => model.OrderList) 
@Html.EditorFor(model => model.OrderList) 
+0

Так что это прекрасно работает для списка с контентом, он не будет работать для пустого списка (что похоже на OP). – James

+0

Я хочу использовать эту две модели в One View – JAB

+0

@ Html.DisplayFor (M => M.Orderlist) ЭТО ТОЛЬКО Я МОЖЕТ ПРЕДОСТАВИТЬ @SOfanatic – JAB

Смежные вопросы