2009-01-18 54 views
1

我在我的控制器下面的代碼:添加兩個查詢的結果ViewData.Model

public ActionResult Details(int id) 
    { 
     var dataContext = new BuffetSuppliersDBDataContext(); 
     var supplier = (from m in dataContext.BO_Suppliers 
         where m.SupplierID == id 
         select m).FirstOrDefault(); 

     ViewData.Model = supplier; 

     return View(); 
    } 

這使得它包含的屬性從LINQ to SQL的查詢返回的視圖。我現在需要做的是添加另一個查詢,它將返回每個供應商的x額定值,然後我將遍歷視圖中的記錄並顯示評分。

如何將我的評分查詢結果與已有內容一起推送到視圖中?

回答

1

你最好的選擇是創建一個你可以傳入你的視圖的類。

public class SupplierDetail 
{ 
    public Supplier { get; set; } 
    public SupplierRating { get; set; } 
} 

public class SupplierDetailViewData 
{ 
    public IEnumerable<SupplierDetail> SupplierDetails { get; set; } 
} 

然後在您的控制器操作中,使用連接並在LINQ查詢中選擇一個新的SupplierDetail類。之後,你可以通過使用代碼隱藏,並更改爲此創建一個強類型的視圖...

public partial class Details : ViewPage<SupplierDetailViewData> 
{ 
} 

之後,在您的視圖 - ViewData.Model將SupplierDetailViewData。當然,第二部分是可選的,但它確實可以提供更好的編譯時驗證。

+0

感謝您的幫助,我設法完成了我所需要的。 – awharrier 2009-01-19 13:47:47