2009-01-18 91 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