Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在尝试筛选我的列表并推送到视图MVC_C#_Model View Controller - Fatal编程技术网

C# 正在尝试筛选我的列表并推送到视图MVC

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",

我有一个AdListing类型的列表 在我的家庭控制器中,我想根据查询字符串推送此列表的不同过滤器

如果
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());
}

视图的类型是什么?我的意思是视图的模型,还是视图模型使用列表的视图类型