对列表进行排序使用LINQ
List<DatsWussup.Models.Message> messages = mc.GetMessages();
List<DatsWussup.Models.JQGridMessage> gridMessages = FormatMessages(messages);
int pageIndex = Convert.ToInt32(page) - 1;
int pageSize = rows;
int totalRecords = gridMessages.Count;
int totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize);
var questions = gridMessages
.OrderBy(sidx + " " + sord)
.Skip(pageIndex * pageSize)
.Take(pageSize);
所以我在这里遵循 JqGrid 和 MVC 指南: http://haacked.com/archive/2009/04/14/using-jquery-grid-with-asp.net-mvc.aspx 并在他添加排序/的步骤中分页,上面的代码我是从博客上拿来的。
现在,您可能只需查看代码就可以明白我正在尝试做什么,特别是如果您熟悉 JqGrids 和 MVC 一起使用的话。但是,我收到此错误:
方法 'System.Linq.Enumerable.OrderBy(System.Collections.Generic.IEnumerable, System.Func)' 不能 从使用情况推断。尝试 指定类型参数 明确地。
当我尝试编译上面的代码时。我不太擅长 LINQ 或任何一般代表,我可以获得一些帮助吗?
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
OrderBy()
接受Func
委托、表达式Expression>
或者如果您有DLINQ,一个字符串。该博客提到您需要 DLINQ 并链接到下载页面和< a href="http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx" rel="nofollow ">ScottGu 的文章。显然你没有它。下载它,将
LinqSamples\DynamicQuery\DynamicQuery\Dynamic.cs
添加到您的项目中并使用System.Linq.Dynamic
命名空间,您就可以使用它了。OrderBy()
takes either aFunc<TSource, TKey>
delegate, an expressionExpression<Func<TSource, TKey>>
or if you have DLINQ, a string. The blog mentions that you need DLINQ and links to the download page and ScottGu's article. Apparently you don't have it.Download it, add
LinqSamples\DynamicQuery\DynamicQuery\Dynamic.cs
to your project and use theSystem.Linq.Dynamic
namespace and it should be made available to you.OrderBy
需要一个 lambda 表达式,可能是这样的:OrderBy
is expecting a lambda expression, maybe something like this: