【发布时间】:2014-12-23 20:04:32
【问题描述】:
我不确定这是我的代码中的错误,或者可能是其他东西弄乱了它,但是我有一个函数是我正在从 ActionResult 中的 MVC 模型创建一个简单列表我还有其他人使用 OrderByDescending并且可以工作,但是由于某种原因这会引发错误。
[Authorize(Roles = "Administrator, Manager, User")]
[SessionExpire]
public ActionResult PrepareShipment(int id,string sortOrder)
{
//ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
//ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";
Order orderResult = (from o in db.Orders.Include("OrderItems").Include("OrderItems.Item")
where o.OrderID == id
select o).First();
orderResult = orderResult.OrderByDescending(o => o.Item.ItemName);
return View(orderResult);
}
这是我完整的ActionResult 数据库有一个表Order 和另一个名为Item 的对象,该对象有一个名为ItemName 的列。我已经有一个视图,其中包含一个专门在视图中完成的列表,但现在我必须按项目名称对该数据进行排序。因此,每次在页面上执行操作时,列表都会保持与首次加载时相同的顺序。现在每次我重新加载页面时,列表都会重新排序。
【问题讨论】:
-
cmets 关于我现在已删除的答案的注释:OP 想要对项目进行排序,而不是订单本身。这个项目序列在视图中被迭代,我们没有代码......我建议OP在视图中使用
OrderByDescending(在项目序列上)但OP没有'还不能使用这个建议,我们不能提供示例代码,因为我们不知道视图代码是什么样的...... -
很抱歉没有为您提供您需要的所有信息 我是新来的提问者,通常可以找到我正在寻找的任何答案。
标签: asp.net-mvc linq razor sql-order-by actionresult