按钱mvc3排序

时间:2013-12-05 12:32:39

标签: asp.net asp.net-mvc-3 sorting

我的班级经理

public IQueryable<Products> SortProducts(int? GetPage, int? cat, string Sorter)
        {
            switch (Sorter)
            {
                case "date":
                    return SortOrderByPage(GetPage, cat).OrderBy(p => p.Date);
                case "price":
                    return SortOrderByPage(GetPage, cat).OrderBy(p => p.Price);
                default:
                    return SortOrderByPage(GetPage, cat).OrderBy(p => p.Id);
            }
        }

和CASE“价格”的结果:

price1: 104566
price2: 123566
price3: 124566

它是什么?请帮帮我

1 个答案:

答案 0 :(得分:0)

比较字符串时,您会看到结果。

任何以“1”开头的东西应该出现在以“2”开头的东西之前,就像“Apple”应该出现在“Banana”之前。

由于您评论说您的价格存储为string,因此您应该在排序之前将其解析为int。 (或者甚至更好:将它存储为int!)

case "price":
    return SortOrderByPage(GetPage, cat).OrderBy(p => int.Parse(p.Price));