我想添加列排序链接到索引页
问题描述:
我想添加列排序链接到我的web应用程序中的“截止日期”列,我无法正确工作。目前,这是我在控制器代码,我已经定义了switch语句来确定用户想要如何排序:我想添加列排序链接到索引页
var items = from s in db.Items
select s;
ViewBag.DateSortParm = sortOrder == "DueDate" ? "duedate_desc" : "DueDate";
switch (sortOrder)
{
case "duedate_desc":
items = items.OrderByDescending(s => s.DueDate);
break;
case "DueDate":
items = items.OrderBy(s => s.DueDate);
break;
default:
items = items.OrderByDescending(s => s.DueDate);
break;
在索引视图这里是我的代码:
<tr>
<th>
@Html.DisplayNameFor(model => model.First().ItemDescription)
</th>
<th>
@Html.DisplayNameFor(model => model.First().Quantity)
</th>
<th>
@Html.DisplayNameFor(model => model.First().Price)
</th>
<th>
@Html.ActionLink("Due Date", "Index", new
{
sortOrder=ViewBag.DateSortParm,
})
最后,这是我相信我得到我的错误,回到控制器,当我返回查看我有这样的代码:
int pageSize = 15;
int pageNumber = (page ?? 1);
pageNumber = page == null ? (ViewBag.pageData == null ? 1 : (int)ViewBag.pageData) : page.Value;
ViewBag.pageData = page;
ViewBag.searchBy = searchBy;
ViewBag.search = search;
return View(items.OrderBy(i => i.ItemId).ToPagedList(pageNumber,pageSize));
我要有.OrderBy去渲染,otherwi视图如果我收到“跳过”方法错误。这是否导致问题,为什么列排序链接将无法正常工作?任何可能的解
- 谢谢!
答
我想出了我的问题的答案。我必须删除.OrderBy子句。