C# 正在尝试筛选我的列表并推送到视图MVC
我有一个AdListing类型的列表 在我的家庭控制器中,我想根据查询字符串推送此列表的不同过滤器 如果C# 正在尝试筛选我的列表并推送到视图MVC,c#,model-view-controller,C#,Model View Controller,我有一个AdListing类型的列表 在我的家庭控制器中,我想根据查询字符串推送此列表的不同过滤器 如果query==1,则推送未筛选的完整列表 如果query==2,我想推送type==“cover”和numpage大于5的列表 return View(listing.Where(o => String.Equals(o.type, "Cover",
query==1
,则推送未筛选的完整列表
如果query==2
,我想推送type==“cover”和numpage大于5的列表
return View(listing.Where(o => String.Equals(o.type,
"Cover",
StringComparison.InvariantCulture)
&& o.numPage > 5));
但是,我得到一个错误:
传递到字典中的模型项的类型为
'System.Linq.Enumerable+WhereListIterator'1[Project.Web.Models.AdListing],
但此词典需要类型为的模型项
“Project.Web.Models.AdViewModel”
有没有办法在不更改我的viewModel或AdListing对象的情况下解决此问题?好的,首先,看起来您试图将对象列表传递给需要单个对象的视图。更改您的视图以期望使用
IEnumerable
模型
现在,对于您的请求,应该简单到:
if (query == 1)
{
return View(listing);
}
else
{
return View(listing.Where(o => String.Equals(o.type, "Cover",
StringComparison.InvariantCulture)
&& o.numPage > 5).ToList());
}
视图的类型是什么?我的意思是视图的模型,还是视图模型使用列表的视图类型