我试图在我的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
答案 0 :(得分:0)
您正在对集合进行排序,但是他的后续行会返回原始未排序的集合
return View(db.Sales1.ToList());
您需要使用
将已排序的集合返回到视图return View(sales.ToList());