你的这个函数public void Page_OnClick(Object sender, CommandEventArgs e)
    {
        CurrentPage = (int)ViewState["PageIndex"];
        // int a = (int)ViewState["StartIndex"]; 无用的语句
        PageCount = (int)ViewState["PageCount"];
        string cmd = e.CommandName;
        switch (cmd)
        {
            case "next":
                if (CurrentPage < (PageCount - 1)) CurrentPage++;
                break;
            case "prev":
                if (CurrentPage > 0) CurrentPage--;
                break;
        }
        //因为你的当前页CurrentPage是从ViewState["PageIndex"]获取的,所以你要更改的是ViewState["PageIndex"]中的值
         //ViewState["StartIndex"] = CurrentPage; 改成下面的就OK了        ViewState["PageIndex"] = CurrentPage;
        ListBind();    }