在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);
}`
当我尝试使用此代码执行此操作时,所有搜索结果都是相同的结果
答案 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/也可能与此相关。
另一个主题是您不应该在控制器内进行数据库调用。您应该将数据库逻辑移动到单独的类,然后使用构造函数注入将该类实例传递给控制器。