c# OrderBy 实现List升序降序

时间:2021-11-23 20:34:40

本文转载自:http://blog.csdn.net/chadcao/article/details/8730132

1)前台代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication8.Default" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </div>
    </form>
</body>
</html>

2)后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;


namespace WebApplication8
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindStudents();
            }
        }
        private void BindStudents()
        {
            List<Student> items = GetStudents().OrderBy(u => u.Name).ToList();//order by name asc
            //List<Student> items = GetStudents().OrderByDescending(u => u.Name).ToList();//order by name desc
            GridView1.DataSource = items;
            GridView1.DataBind();
        }
        private List<Student> GetStudents()
        {
            List<Student> items = new List<Student>();
            items.Add(new Student
            {
                ID = 2,
                Name = "abd"
            });
            items.Add(new Student
            {
                ID = 1,
                Name = "abc"
            });
            items.Add(new Student
            {
                ID = 3,
                Name = "bcd"
            });
            items.Add(new Student
            {
                ID = 4,
                Name = "acd"
            });
            return items;
        }
    }
    public class Student
    {
        public int ID { set; get; }
        public string Name { set; get; }
    }
}