' OrderByDescending'在asp.net mvc 4中没有认识到

时间:2015-02-26 08:01:58

标签: c# asp.net-mvc

我是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。

2 个答案:

答案 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;