我的班级经理
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
它是什么?请帮帮我
答案 0 :(得分:0)
比较字符串时,您会看到结果。
任何以“1”开头的东西应该出现在以“2”开头的东西之前,就像“Apple”应该出现在“Banana”之前。
由于您评论说您的价格存储为string
,因此您应该在排序之前将其解析为int。 (或者甚至更好:将它存储为int!)
case "price":
return SortOrderByPage(GetPage, cat).OrderBy(p => int.Parse(p.Price));