你可以设置一个变量 例如 int i=1;点一下就 i++ 在使用降序的方法前面判断 if(t%2==0){就降序}else{就升序} 这样你可懂?
public void DataBindToGridview(string Sqlsort)
{
SqlStrStart = "select * from dtsper where 1=1";
SqlStrStartCount = "select count(id) from dtsper where 1=1";
SqlStrMid = string.Empty;
SqlStrMid = CreateMidSql();
SqlStr = SqlStrStart + SqlStrMid;//查询
SqlStrCount = SqlStrStartCount + SqlStrMid;//查询个数
if (Request.QueryString["key"] != null)
{
string SQL_GetList_xs = "" + SqlStr + " " + Sqlsort + "";
GridView1.DataSource = List.GetGrid_Pages_not(SQL_GetList_xs);
GridView1.DataBind();
string SQL_GetCount = SqlStrCount;
CountsLabel = "" + List.GetCount(SQL_GetCount) + "";
}
else
{
if (Request.QueryString["unitid"] != null)
{
unitidsql = " where unitid='" + Request.QueryString["unitid"].ToString().Trim() + "'";
}
else
{
unitidsql = "where unitid='174'";
}
string SQL_GetCount = "select count(id) from dtsper " + unitidsql + "";
CountsLabel = "" + List.GetCount(SQL_GetCount) + "";
string SQL_GetList_xs = "select * from dtsper " + unitidsql + " " + Sqlsort + "";
GridView1.DataSource = List.GetGrid_Pages_not(SQL_GetList_xs);
GridView1.DataBind();
}
AllPageLabel = Convert.ToString(GridView1.PageCount);
CurrentlyPageLabel = Convert.ToString(((int)GridView1.PageIndex + 1));
btnFirst.CommandName = "1";
btnPrev.CommandName = (GridView1.PageIndex == 0 ? "1" : GridView1.PageIndex.ToString());
btnNext.CommandName = (GridView1.PageCount == 1 ? GridView1.PageCount.ToString() : (GridView1.PageIndex + 2).ToString());
btnLast.CommandName = GridView1.PageCount.ToString();
}
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string sql = "";
if (ViewState["SortDirection"] == null || ViewState["SortDirection"].ToString().CompareTo("") == 0)
{
ViewState["SortDirection"] = " desc";
}
else
ViewState["SortDirection"] = "";
sql = " order by " + e.SortExpression + ViewState["SortDirection"];
DataBindToGridview(sql);
}
改改就行了
定义一个全局变量:bool s=false
在按钮事件中执行 s=!s
根据布尔值来选择升序还是降序