无法在MVC 5中应用排序

时间:2015-05-15 08:15:10

标签: asp.net-mvc-5

我试图在我的MVC 5应用程序中应用排序。我使用了代码here 应用排序。不幸的是,它没有工作,它不会排序。我错过了什么吗?我使用的所有数据类型都是字符串btw。

以下是代码:

//Controller
public ActionResult Index(string sort)
        {
            ViewBag.ExtSortParm = String.IsNullOrEmpty(sort) ? "ext_desc" : "";
            ViewBag.DtsSortParm = sort == "DTS" ? "dts_desc" : "DTS";
            var sales = from s in db.Sales1 select s;
            switch (sort)
            {
                case "ext_desc":
                    sales = sales.OrderByDescending(s => s.ExtSerial);
                    break;                
                case "DTS":
                    sales = sales.OrderBy(s => s.DTS);
                    break;
                case "dts_desc":
                    sales = sales.OrderByDescending(s => s.DTS);
                    break;
                default:
                    sales = sales.OrderBy(s => s.ExtSerial);
                    break;
            }
            return View(db.Sales1.ToList());            
        }

我的观点适用:

@Html.ActionLink("ExtSerial", "Index", new { sortOrder = ViewBag.ExtSortParm })
 @Html.ActionLink("DTS", "Index", new { sortOrder = ViewBag.DtsSortParm })

我错过了什么吗? DTS是字符串类型的日期。以下是示例值:5/11/2015 5:29:56 AM

db是我的数据库& Sales1是我的SalesEntity

1 个答案:

答案 0 :(得分:0)

您正在对集合进行排序,但是他的后续行会返回原始未排序的集合

return View(db.Sales1.ToList());

您需要使用

将已排序的集合返回到视图
return View(sales.ToList());