MVC根据ID

时间:2016-02-19 16:35:13

标签: asp.net-mvc-4

在MVC视图中,我想创建搜索以按ID获取产品,但不是一个搜索我想要多个搜索,导致客户想要的不仅仅是产品 `

public ActionResult Search(int pid ,int pid2 ,int pid3)
        {
            var products = (from d in db.Products
                            where d.ProductId == pid || d.ProductId == pid2 || d.ProductId == pid2
                       select d).ToList();



            return View(products);
        }`

view show what i mean

当我尝试使用此代码执行此操作时,所有搜索结果都是相同的结果

1 个答案:

答案 0 :(得分:0)

这是扶手椅的编码所以实际工作可能需要一点点,但你需要这样的东西:

public ActionResult Search(IEnumerable<int> productIds)
{
    var products = (from d in db.Products 
          where productIds.Contains(d.ProductId);
          select d).ToList();

            return View(products);
}

http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/也可能与此相关。

另一个主题是您不应该在控制器内进行数据库调用。您应该将数据库逻辑移动到单独的类,然后使用构造函数注入将该类实例传递给控制器​​。