我的控制器中有以下代码:
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返回到sql查询的属性。我现在需要做的是添加另一个查询,它将为每个供应商返回x的评级数量,然后我将遍历视图中的记录并显示评级。
如何将评分查询的结果与已有的评分一起推送到视图中?
答案 0 :(得分: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。当然第二部分是可选的,但它确实可以实现更好的编译时验证。