我正在使用MVC RC2。
我有两张桌子 1)产品(PID,PName,CIDfk); 2)类别(CID,CName);
所以我这样查询
var Product = from p in dc.Product
from C in dc.Category
where p.CIDfk == c.CID
select new { ProductName = p.PName, ProductCategory = c.CName };
return view();
其中dc是LINQ-to-SQL类(.dbml)的数据库上下文;
我如何在视野中显示?我通过产品的地方? (在viewdata或'return view()')
请帮帮我......
答案 0 :(得分:2)
您希望拥有强类型视图并将产品作为视图模型传递
var product = from p in dc.Product
from C in dc.Category
where p.CIDfk == c.CID
select p;
return View( product );
您的视图的类型为ViewPage<Product>
。
答案 1 :(得分:2)
你们都可以使用:
- ViewData["MyName"] = product.SingleOrDefault();
从您的观点来看,这样做:
<% Product p = (Product)ViewData(p) %>
或填充模型:
ViewData.Model = product.SingleOrDefault();
从您的观点来看,这样做:
<%Product p = ViewData.Model%> //in case of a Strongly typed view
<%Product p = (Product)ViewData.Model%> //otherwise
填充ViewData或模型后,您可以调用:
return View();
另一种方法是调用View重载,它接受模型作为参数,如tvanfosson所说。