2012-01-13 56 views
0

我有我的家庭控制器中的類型AdListing 的列表我想推這個列表的不同過濾器取決於查詢字符串。試圖過濾我的列表並推送到視圖MVC

如果query == 1,推動未過濾全名單

如果query == 2,我想推列表,類型==「蓋子」和numpage超過5

return View(listing.Where(o => String.Equals(o.type, 
              "Cover", 
              StringComparison.InvariantCulture) 
          && o.numPage > 5)); 

不過,我得到一個錯誤:

The model item passed into the dictionary is of type 'System.Linq.Enumerable+WhereListIterator`1[Project.Web.Models.AdListing]', but this dictionary requires a model item of type 'Project.Web.Models.AdViewModel'.

有沒有什麼辦法來解決這個不改變我的視圖模型還是我AdListing對象?

+0

什麼是上市:

現在,爲你的要求,它應該是簡單? – Shyju 2012-01-13 21:32:56

+0

上市是列表 tap 2012-01-13 21:39:48

+0

哪種類型的視圖? – ivowiblo 2012-01-13 21:40:26

回答

1

好吧,首先,它看起來像你正在試圖傳遞一個對象列表到期望單個對象的視圖。改變你的看法,期望IEnumerable<AdListing>模型。

if (query == 1) 
{ 
    return View(listing); 
} 
else 
{ 
    return View(listing.Where(o => String.Equals(o.type, "Cover", 
            StringComparison.InvariantCulture) 
            && o.numPage > 5).ToList()); 
}