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或任何代表都不太满意,我可以得到一些帮助吗?
谢谢!
答案 0 :(得分:1)
OrderBy()
使用Func<TSource, TKey>
委托,表达式Expression<Func<TSource, TKey>>
或者如果您有DLINQ,则为字符串。该博客提到您需要DLINQ并指向download page和ScottGu's article的链接。显然你没有它。
下载它,将LinqSamples\DynamicQuery\DynamicQuery\Dynamic.cs
添加到您的项目并使用System.Linq.Dynamic
命名空间,它应该可供您使用。
答案 1 :(得分:0)
OrderBy
期待一个lambda表达式,可能是这样的:
var questions = gridMessages
.OrderBy(m => m.sidx + " " + m.sord)
.Skip(pageIndex * pageSize)
.Take(pageSize);