protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
//todo
string sortExpression = e.SortExpression.ToString();
string sortDirection ="ASC";
sortDirection = (GridView1.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");
GridView1.Attributes["SortDirection"] = sortDirection;
BindGridviw(txtStuName.Text.Trim(), txtClassName.Text.Trim(), txtStuID.Text.Trim(), txtStuAge.Text.Trim(), txtStuGender.Text.Trim(), sortExpression, sortDirection);
}
其中sortDirection是我传送到数据库的,以上代码有个BUG,如果下次点另一个字段的时候,而恰恰这个字段与之前点的字段排序正好相反,也就是说两个字段永远也不能同时是asc排序或desc,那么,需要点两次才能正常排序,第一次没有反应。
string sortDirection ="ASC"
sortDirection 用ViewState 来缓存 试试。