Controller中的变量OrderBy

时间:2015-01-28 16:17:45

标签: asp.net controller sql-order-by

我的控制器中的代码与此类似,工作成功,      var results = from dbContext.MyClass中的c                           orderby c.EnrtyDate降序                           选择c;      return view(results.ToList());

现在用户想要选择OrderBy的字段。我有5个下拉列表,每个列表包含相同的5个字段名称选项。用户可以从第一个下拉列表中选择要排序的第一个字段,然后从第二个下拉列表中选择第二个字段等,直到总共五个字段;让我们调用第一个选择sort1,第二个sort2,然后sort3,sort4和sort5的值。

我需要通过反映用户所做的选择来制作顺序,例如,                           orderby sort1,sort2,sort3,sort4,sort5 如何在orderby中引用这些字段,因为它们是包含字段名称的变量,而不是实际的字段名称本身?我不能单独为所有数百种可能的组合编码。

1 个答案:

答案 0 :(得分:0)

您可以嵌套订单。如果要按升序排序,则调用OrderBy作为主排序;如果按降序排序,则调用OrderByDescending。对于排序二,嵌套排序必须使用ThenBy(如果它是升序)或ThenByDescending(如果它是降序)。基本上,ThenByThenByDescending将完全按照您的意愿行事。

了解更多herehere