2012-01-13 4 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'.

viewModelまたはAdListingオブジェクトを変更せずにこれを解決する方法はありますか?

+0

:今

は、あなたの要求のためとして、のような単純なものでしょうか? – Shyju

+0

リストはリストです tap

+0

ビューのタイプはどちらですか? – ivowiblo

答えて

1

まず、オブジェクトのリストを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()); 
} 
関連する問題