代码之家  ›  专栏  ›  技术社区  ›  Vikas

如何在视图中显示查询结果?

  •  1
  • Vikas  · 技术社区  · 16 年前

    我使用的是MVC RC2。

    1) 产品(PID、PName、CIDfk);

    所以我就这样问

    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到SQL类(.dbml)的数据库上下文;

    如何在视图中显示?我在哪里传递产品?(在viewdata或“返回视图()”中)

    请帮帮我。。。

    2 回复  |  直到 16 年前
        1
  •  2
  •   antonioh    16 年前

    您可以同时使用:

    - 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
    

    return View();
    

    另一种方法是调用接受模型作为参数的视图重载,正如tvanfosson所说。

        2
  •  2
  •   tvanfosson    16 年前

    您希望拥有强类型视图,并将产品作为视图模型传递

     var product = from p in dc.Product
                       from C in dc.Category
                       where p.CIDfk == c.CID
                       select p;
    
     return View( product );
    

    ViewPage<Product> .