Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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# 错误:";无法隐式转换类型";_C#_Html_Asp.net_Css_Asp.net Mvc - Fatal编程技术网

C# 错误:";无法隐式转换类型";

C# 错误:";无法隐式转换类型";,c#,html,asp.net,css,asp.net-mvc,C#,Html,Asp.net,Css,Asp.net Mvc,我正在做一个项目,我有一个关于转换类型的问题。我想为我的项目创建一个简单的搜索,但它一直在询问Ienumerable类型,老实说,我不明白。请帮忙 问题是: 错误1无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“PagedList.IPagedList”。存在显式转换(是否缺少转换?)C:\Users\Asus\Documents\Visual Studio 2012\Projects\Nordstromapp\Nordstromapp\Co

我正在做一个项目,我有一个关于转换类型的问题。我想为我的项目创建一个简单的搜索,但它一直在询问
Ienumerable
类型,老实说,我不明白。请帮忙

问题是:

错误1无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“PagedList.IPagedList”。存在显式转换(是否缺少转换?)C:\Users\Asus\Documents\Visual Studio 2012\Projects\Nordstromapp\Nordstromapp\Controllers\ProductController.cs 38 24 Nordstromapp

我的代码:

{
    NordstromEntities _db;

    public ProductController()
    {
        _db = new NordstromEntities();
    }
    //
    // GET: /Product/

    public ActionResult Index(string sortOrder, string CurrentSort, int? page, string searchString)
    {
        int pageSize = 10;
    int pageIndex = 1;
    pageIndex = page.HasValue ? Convert.ToInt32(page) : 1;

    ViewBag.CurrentSort = sortOrder;

    sortOrder = String.IsNullOrEmpty(sortOrder) ? "ID" : sortOrder;

    IPagedList<Product_list> products = null;



    if (!String.IsNullOrEmpty(searchString))
    {
        products = products.Where(m => m.ID.ToUpper().Contains(searchString.ToUpper())
                               || m.Product_name.ToUpper().Contains(searchString.ToUpper()));
    }

    switch (sortOrder)
    {
        case "ID":
            if(sortOrder.Equals(CurrentSort))  
                products = _db.Product_list.OrderByDescending
                        (m => m.ID).ToPagedList(pageIndex, pageSize);   
            else
                products = _db.Product_list.OrderBy
                        (m => m.ID).ToPagedList(pageIndex, pageSize);   
            break;

        case "Product_name":
            if (sortOrder.Equals(CurrentSort))
                products = _db.Product_list.OrderByDescending
                        (m => m.Product_name).ToPagedList(pageIndex, pageSize);
            else
                products = _db.Product_list.OrderBy
                        (m => m.Product_name).ToPagedList(pageIndex, pageSize);
            break;

        case "Product_category":
            if (sortOrder.Equals(CurrentSort))
                products = _db.Product_list.OrderByDescending
                        (m => m.Product_category).ToPagedList(pageIndex, pageSize);
            else
                products = _db.Product_list.OrderBy
                        (m => m.Product_category).ToPagedList(pageIndex, pageSize);
            break;

        case "Price":
            if (sortOrder.Equals(CurrentSort))
                products = _db.Product_list.OrderByDescending
                        (m => m.Price).ToPagedList(pageIndex, pageSize);
            else
                products = _db.Product_list.OrderBy
                        (m => m.Price).ToPagedList(pageIndex, pageSize);
            break;


    }
    return View(products);
}
{
NordstromEntities_db;
公共产品控制员()
{
_db=新的NordstromEntities();
}
//
//获取:/Product/
公共操作结果索引(字符串排序器、字符串当前排序、整型页面、字符串搜索字符串)
{
int pageSize=10;
int pageIndex=1;
pageIndex=page.HasValue?将.ToInt32转换为(第页):1;
ViewBag.CurrentSort=排序器;
sortOrder=String.IsNullOrEmpty(sortOrder)?“ID”:sortOrder;
IPagedList products=null;
如果(!String.IsNullOrEmpty(searchString))
{
products=products.Where(m=>m.ID.ToUpper().Contains(searchString.ToUpper())
||m.Product_name.ToUpper().Contains(searchString.ToUpper());
}
开关(分拣机)
{
案例“ID”:
if(sortOrder.Equals(CurrentSort))
products=\u db.Product\u list.OrderByDescending
ToPagedList(页面索引,页面大小);
其他的
产品=\u db.Product\u list.OrderBy
ToPagedList(页面索引,页面大小);
打破
案例“产品名称”:
if(sortOrder.Equals(CurrentSort))
products=\u db.Product\u list.OrderByDescending
(m=>m.Product_name).ToPagedList(页面索引,页面大小);
其他的
产品=\u db.Product\u list.OrderBy
(m=>m.Product_name).ToPagedList(页面索引,页面大小);
打破
案例“产品类别”:
if(sortOrder.Equals(CurrentSort))
products=\u db.Product\u list.OrderByDescending
(m=>m.Product_category).ToPagedList(页面索引、页面大小);
其他的
产品=\u db.Product\u list.OrderBy
(m=>m.Product_category).ToPagedList(页面索引、页面大小);
打破
案例“价格”:
if(sortOrder.Equals(CurrentSort))
products=\u db.Product\u list.OrderByDescending
(m=>m.Price).ToPagedList(页面索引,页面大小);
其他的
产品=\u db.Product\u list.OrderBy
(m=>m.Price).ToPagedList(页面索引,页面大小);
打破
}
返回视图(产品);
}

虽然
产品
确实属于
IPagedList
类型,但对
IPagedList
实例调用
.Where()
会返回一个
IEnumerable
,无法隐式转换。请注意此处执行转换的方式:

products = _db.Product_list.OrderByDescending(m => m.ID)
                           .ToPagedList(pageIndex, pageSize);
您只需在调用
后执行相同的转换即可。Where()
调用:

products = products.Where(m => m.ID.ToUpper().Contains(searchString.ToUpper()) ||
                               m.Product_name.ToUpper().Contains(searchString.ToUpper()))
                   .ToPagedList(pageIndex, pageSize);

在哪一行出现此错误?请先调试代码。如果,则在第一行之后:缺少
。ToPagedList()