我是asp.net mvc&的新手。我试图创建一个网站,用户可以在登录后对表格进行排序。当我构建项目时,我会收到类似Does not contain a definition for 'OrderByDescending'/'OrderBy'/'ToList'
的错误。这是我的代码,
控制器
ViewBag.CodeSort = String.IsNullOrEmpty(sortOrder) ? "code_desc" : "";
var sortedOut = new MkistatVsUserLogin { mkistats = dsedb.mkistats.AsQueryable() }; //Error in this line
switch (sortOrder)
{
case "code_desc":
sortedOut = sortedOut.OrderByDescending(s => s.MKISTAT_CODE); //error in this line
break;
default:
sortedOut = sortedOut.OrderBy(s => s.MKISTAT_CODE); //error in this line
break;
}
return View(sortedOut.ToList()); //error in this line
模型
public class MkistatVsUserLogin
{
public IQueryable<mkistat> mkistats { get; set; }
public idx Idxs { get; set; }
}
我该如何解决这个问题?非常需要这个帮助。 TNX。
答案 0 :(得分:2)
因为IQueryable是mkistats
,而不是sortedOut
!
ViewBag.CodeSort = String.IsNullOrEmpty(sortOrder) ? "code_desc" : "";
var sortedOut = new MkistatVsUserLogin { mkistats = dsedb.mkistats.AsQueryable() }; //Error in this line
switch (sortOrder)
{
case "code_desc":
sortedOut.mkistats = sortedOut.mkistats.OrderByDescending(s => s.MKISTAT_CODE); //error in this line
break;
default:
sortedOut.mkistats = sortedOut.mkistats.OrderBy(s => s.MKISTAT_CODE); //error in this line
break;
}
return View(sortedOut); //error in this line
切换错误,但我不知道如何解决。应该是
switch (ViewBag.CodeSort)
请注意,在编写代码时,视图只会收到List<mkistat>
,而不是完整的MkistatVsUserLogin
对象。
答案 1 :(得分:0)
OrderByDescending是System.Linq中的扩展方法。
确保您在班级顶部使用相关的州名
using System.Linq;