【发布时间】:2016-09-09 07:35:38
【问题描述】:
我想过滤表格中的某些元素,但是当表格中有某种状态时,我想在降序时过滤相同的状态。
例子:
当状态为“打开”时,我想过滤“tijdSluit”升序。当状态为“Gesloten”时,我想过滤“tijdSluit”降序。
我现在使用的代码:
return View(db.GetAllRequests().OrderBy(Request => Request.request.Status).ThenBy(Request => Request.request.tijdSluit));
问题是您无法在同一个表中按升序和降序进行过滤。我该如何解决这个问题?
我试过了:
return View(db.GetAllRequests().Where(Request => Request.request.Status == 1).OrderBy(Request => Request.request.Status).Where(Request => Request.request.Status != 1).OrderByDescending(Request => Request.request.tijdSluit));
但是当我运行该代码时,我得到一个空表。
我怎样才能正确地做到这一点?
【问题讨论】:
-
如果返回的数据是空的,那么检查为什么是空的,排序不会影响编号。您将获得的结果
-
@BonMacalindong 是因为有一个
Where。 -
您无法通过两种方式对数据进行排序。它要么是下降的,要么是上升的。你想要做的是在你的“状态”上写一个 if 并根据它进行排序。
-
@Thomas 我知道这是不可能的,这就是我问的原因。 :)
标签: asp.net asp.net-mvc razor