Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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# 是否可以使用MVCContrib网格而不从服务公开IQueryable?_C#_Asp.net Mvc_Iqueryable_Mvccontrib - Fatal编程技术网

C# 是否可以使用MVCContrib网格而不从服务公开IQueryable?

C# 是否可以使用MVCContrib网格而不从服务公开IQueryable?,c#,asp.net-mvc,iqueryable,mvccontrib,C#,Asp.net Mvc,Iqueryable,Mvccontrib,我不希望有一个返回IQueryable的方法,但我也希望在数据库中而不是内存中执行分页查询。 本文讨论如何通过IQueryable仅公开数据的一个子集 我修改了本文中描述的GetRange方法,如下所示 public IEnumerable<T> GetRange<TKey>(int page, int pageSize, Expression<Func<T, TKey>> keySelector, bool ascending )

我不希望有一个返回IQueryable的方法,但我也希望在数据库中而不是内存中执行分页查询。 本文讨论如何通过IQueryable仅公开数据的一个子集

我修改了本文中描述的GetRange方法,如下所示

    public IEnumerable<T> GetRange<TKey>(int page, int pageSize, Expression<Func<T, TKey>> keySelector, bool ascending )
    {

        IOrderedQueryable<T> sourceOrdered = null;
        sourceOrdered = ascending ? source.OrderBy(keySelector) : source.OrderByDescending(keySelector);

        return sourceOrdered.Skip((page - 1) * pageSize).Take(pageSize);

    }
  var productPagedList = productList.GetRange(page ?? 1, 10, p => p.SupplierID, false)
            .AsPagination(page ?? 1, 10);
但是网格需要知道总记录数,以便正确呈现寻呼机。 有没有办法让MVCContrib网格以这种方式使用从服务层公开的IQueryable的子集?或者以某种方式将总记录数输入到它?还有其他的建议吗

谢谢