这是为什么啊 各位请求解答

img

img


为什么会把 Asc 当列处理啊 这不是升序吗 真的不会啊 刚刚接触 .net用gridview排序就出现这种状况了
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{

            ViewState["OrderDire"] = "ASC";
            ViewState["sortOrder"] = "Grade";
            GridViewBind();
        }
    }
    

    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {
        ViewState["OrderDire"] = "ASC";
        ViewState["sortOrder"] = "Grade";
        string sPage = e.SortExpression.ToString();
        if (ViewState["sortOrder"].ToString() == sPage)
        {
            if (ViewState["OrderDire"].ToString() == "Desc")
            {
                ViewState["OrderDire"] = "ASC";
            }
            else
                ViewState["OrderDire"] = "Desc";

        }
        else
        {
            ViewState["OrderDire"] = "Desc";
        }
        GridViewBind();
    }
    public void GridViewBind()
    {
        //实例化SqlConnection对象
        SqlConnection sqlCon = new SqlConnection();
        //实例化SqlConnection对象连接数据库的字符串
        sqlCon.ConnectionString = "Data Source=DESKTOP-FJIL96I\\MSSQLSERVER01;Initial Catalog=student;Integrated Security=True";
        //定义SQL语句
        string SqlStr = "select * from SC";
        //实例化SqlDataAdapter对象
        SqlDataAdapter da = new SqlDataAdapter(SqlStr, sqlCon);
        //实例化数据集DataSet
        DataSet ds = new DataSet();
        da.Fill(ds, "SC");
        DataView dv = ds.Tables["SC"].DefaultView;
        string a = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
        dv.Sort = a;
        //绑定DataList控件
        GridView1.DataSource = dv;//设置数据源,用于填充控件中的项的值列表
        GridView1.DataBind();//将控件及其所有子控件绑定到指定的数据源
    }
} 

}

你把整个文件的代码贴一下看下

你把错误附近的代码提供一下呢。

ViewState["SortDirection"] = "ASC";
ViewState["SortExpression"] = "Grade";
关键字不对改成这个就好了