2012-05-15 84 views
0

我想要做一個簡單的應用程序,但我無法正確寫入視圖,因此我可以在同一視圖中使用不同的表格。在同一視圖中使用兩個不同的表格

我有兩個表,Sales和SalesLine。每個銷售有許多銷售線。我想要做的是添加一個銷售,並在同一頁面添加不同的銷售線。在C#代碼中,每個Sale對象都有一個SalesLines實體集。

的HTML代碼中添加一個新售如下:

<% using (Html.BeginForm()) {%> 
    <%: Html.ValidationSummary(true) %> 

    <fieldset> 
     <legend>Fields</legend> 



     <div class="editor-label"> 
      <%: Html.LabelFor(model => model.N_Factura) %> 
     </div> 
     <div class="editor-field"> 
      <%: Html.TextBoxFor(model => model.N_Factura) %> 
      <%: Html.ValidationMessageFor(model => model.N_Factura) %> 
     </div> 

     <div class="editor-label"> 
      <%: Html.LabelFor(model => model.Fecha) %> 
     </div> 
     <div class="editor-field"> 
      <%: Html.TextBoxFor(model => model.Fecha) %> 
      <%: Html.ValidationMessageFor(model => model.Fecha) %> 
     </div> 
     <div class="editor-field"> 
     <%:Html.DropDownListFor(model =>model.Proveedor,(ViewData["SelectList"] as SelectList)) %> 
      </div> 



     <p> 
      <input type="submit" value="Create" /> 
     </p> 
    </fieldset> 

<% } %> 

我想放在同一頁一些方式在這個頁面中添加新的SalesLines,所以我可以填補他們,並添加兩個銷售和SalesLines通過點擊創建鏈接。我試圖在這裏放置一個自動出現的默認SalesLine,然後使用AJAX(我知道在Java中更容易,至少對我而言)可以用於添加其他SalesLines(如果需要)的鏈接。

回答

0

要在同一視圖中從2個表中獲取數據,請使用ViewModel。這是一個專門用於此視圖的簡單類。

public class SalesViewModel 
{ 
    public Sales Sale { set;get;} 
    public IEnumerable<SalesLine> Detail{ set;get;} 

    public SalesViewModel() 
    { 
    if(this.Sale==null) 
     this.Sale=new Sales(); 
    if(this.Details==null) 
     this.Details=new List<Sales>(); 
    }  
} 

返回,爲您的查看

public ActionResult GetSales(int id) 
{ 
    SalesViewModel vm=new SalesViewModel(); 
    vm.Sale=dbContext.Sales.Where(x=x.Id=id); 
    vm.Details=dbContext.SalesLine.Where(x=x.SaleId=id); 

    return View(vm); 

} 

你的觀點會被stongly輸入到這個視圖模型;

@model SalesViewModel 

@Model.Sale.Id 
/// remaining form elements 
+0

謝謝你的回答,但仍不知道如何引用視圖中的詳細列表。我想添加相同的視圖代碼來添加新的銷售線。 – amal

+0

@amal:要顯示細節,可以循環Model.Details屬性。添加新項目。要麼你可以通過ajax帶來一個新的表單,或者重定向到一個「創建」表單。 – Shyju

+0

謝謝,我會盡力告訴你!我用asp sintaxis編寫HTML代碼時遇到了很多問題:s – amal

相關問題