using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class NewArticle : System.Web.UI.Page
{
    protected string strWheres = "";
    protected void Page_Load(object sender, EventArgs e)
    {
       int iCurrentPage = Request.QueryString["page"] == null ? 1 : Convert.ToInt32(Char.ChkStr(Request.QueryString["page"].ToString()));        strWheres = Request.QueryString["KeyWord"] == null ? "" : Char.ChkStr(Request.QueryString["KeyWord"].ToString());
        #region 刷新文章
        string strFields = "ID,Title,InTime";
        string strTables = "tb_Article";
        string strPrimaryKey = "ID";
        string strWhere = "";
        if (strWheres == "")
        {
            strWhere = "Deleted = 0";
        }
        else
        {
            strWhere = "Deleted = 0 and Title like '%" + strWheres + "%'or Content like '%" + strWheres + "%'";
        }
        
        string strOrderBy = "InTime desc";
        int iPageSize = 10;
        string strQuerystring = "";
        if (strWheres == "")
        {
            strQuerystring = "NewArticle.aspx?";
        }
        else
        {
            strQuerystring = "NewArticle.aspx?KeyWord=" + strWheres;
        }        try
        {
            SqlParameter[] parms = new SqlParameter[]{
            new SqlParameter("@Fields",SqlDbType.VarChar,500),
            new SqlParameter("@Tables",SqlDbType.VarChar,500),
            new SqlParameter("@PrimaryKey",SqlDbType.VarChar,500),
            new SqlParameter("@Where",SqlDbType.VarChar,2000),
            new SqlParameter("@OrderBy",SqlDbType.VarChar,500),
            new SqlParameter("@CurrentPage",SqlDbType.Int,2),
            new SqlParameter("@PageSize",SqlDbType.Int,10),
            new SqlParameter("@RecordCount",SqlDbType.Int),
            new SqlParameter("@PageCount",SqlDbType.Int)
            };
            parms[0].Value = strFields;
            parms[1].Value = strTables;
            parms[2].Value = strPrimaryKey;
            parms[3].Value = strWhere;
            parms[4].Value = strOrderBy;
            parms[5].Value = iCurrentPage;
            parms[6].Value = iPageSize;
            parms[7].Direction = ParameterDirection.Output;
            parms[8].Direction = ParameterDirection.Output;            SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, "sp_splitpage", parms);
            if (dr.HasRows)
            {
                this.gvArticle.DataSource = dr;
                this.gvArticle.DataBind();
            }
            dr.Close();
            dr.Dispose();            int PageCount = Convert.ToInt32(parms[8].Value);            if (iCurrentPage > PageCount)
            {
                iCurrentPage = PageCount;
            }
            else if (iCurrentPage <= 0)
            {
                iCurrentPage = 1;
            }            string PageList = "";
            int startPage = 1;
            if (iCurrentPage - 5 > 1)
            {
                startPage = iCurrentPage - 5;
            }            int endPage = startPage + 10;            if (endPage > PageCount)
            {
                endPage = PageCount + 1;
            }            if (PageCount == 1)
            {
                hlFirst.Visible = false;
                hlPre.Visible = false;
                lblPage.Visible = false;
                hlNext.Visible = false;
                hlLast.Visible = false;
            }
            else
            {
                for (int i = startPage; i < endPage; i++)
                {
                    if (i == iCurrentPage)
                    {
                        PageList += "<span class=click>" + i + "</span>&nbsp;";
                    }
                    else
                    {
                        PageList += "<a href='" + strQuerystring + "&page=" + i + "'>" + i + "</a>&nbsp;";
                    }
                }                lblPage.Text = PageList;
                hlFirst.NavigateUrl = strQuerystring + "&page=1" ;
                hlLast.NavigateUrl = strQuerystring + "&page=" + PageCount;                if (iCurrentPage == 1)
                {
                    hlFirst.Visible = false;
                    hlPre.Visible = false;
                    lblPage.Visible = true;
                    hlNext.Visible = true;
                    hlNext.NavigateUrl = strQuerystring + "&page=" + (iCurrentPage + 1);
                }
                else if (iCurrentPage > 1 && iCurrentPage < PageCount)
                {
                    hlFirst.Visible = true;
                    hlPre.Visible = true;
                    lblPage.Visible = true;
                    hlNext.Visible = true;
                    hlLast.Visible = true;
                    hlPre.NavigateUrl = strQuerystring + "&page=" + (iCurrentPage - 1) ;
                    hlNext.NavigateUrl = strQuerystring + "&page=" + (iCurrentPage + 1);
                }
                else
                {
                    hlFirst.Visible = true;
                    hlPre.Visible = true;
                    lblPage.Visible = true;
                    hlNext.Visible = false;
                    hlLast.Visible = false;
                    hlPre.NavigateUrl = strQuerystring + "&page=" + (iCurrentPage - 1) ;
                    hlNext.NavigateUrl = strQuerystring + "&page=" + (iCurrentPage + 1);
                }
            }
        }
        catch (Exception ex)
        {
            throw new Exception("错误是" + ex.Message + "---------发生在" + ex.Source);
        }        #endregion
    }}这是我写的翻页程序
结果是http://localhost/zhongguo/NewArticle.aspx?KeyWord=十一
现在也两页的信息
但是我在翻页时网址在变,可是现实的还是第一页的信息
这是怎么回事呀
}

解决方案 »

  1.   

    通过grdiview自定义分页或用aspnetpager,还可使用
      public string ShowPage(int PageCount, string Pageno,string  ClassID,string strColor)
            {
                string strL = "",strC="";;
                StringBuilder strB=new StringBuilder();
                if (Pageno != "")
                {
                    if (int.Parse(Pageno) > PageCount)
                    {
                        Pageno = "1";
                    }
                }
                if (strColor.Trim().Length <= 0)
                    strC = "#EEF8F9";
                else
                    strC = strColor;
                string str = "";
               strB.Append(@"<table cellpadding=""0"" cellspacing=""1"" width=""98%"" height=""21"" align=""center"" bgcolor=""#E0E0E0"" class=""height25"">
    <tr><td align=""right"" bgcolor="""+strC+@""">");
                if (PageCount > 0)
                {
                    strB.Append(@"[当前第");
                    if (Pageno != "")
                       strB.Append(Pageno + "页]/[共" + PageCount.ToString() + "页]");
                    else
                        strB.Append("1页]/[共" + PageCount.ToString() + "页]");
                }
                if (ClassID.Trim() != "")
                    strL = "&" + ClassID + "";
                if (Pageno != "")
                {
                    if (int.Parse(Pageno) > 0)
                    {
                        if (int.Parse(Pageno) - 1 > 0)
                        {
                            strB.Append(@"<a href=?page=1"+strL);
                            strB.Append( @">首页</a> |");
                           strB.Append( @" <a href=?page=");
                            strB.Append( int.Parse(Pageno) - 1);
                            strB.Append(strL);
                            strB.Append(@">上一页</a> |");
                        }
                        else
                           strB.Append(@"<span class=""gray"">首页</span> | <span class=""gray"">上一页</span> |");
                        if (PageCount - int.Parse(Pageno) > 0)
                        {
                            strB.Append(@"<a href=?page=");
                            strB.Append(int.Parse(Pageno) + 1);
                            strB.Append(strL);
                            strB.Append(@">下一页</a> |");
                            strB.Append( @" <a href=?page=");
                            strB.Append(PageCount.ToString());
                            strB.Append(strL);
                            strB.Append(@">尾页</a>");
                        }
                        else
                        {
                            strB.Append(@"<span class=""gray"">下一页</span> | <span class=""gray"">尾页</span>");
                        }
                    }
                    else
                    {
                       strB.Append(@"<span class=""gray"">首页</span> | <span class=""gray"">上一页</span> |)");
                        if (PageCount - 1 > 0)
                        {
                            strB.Append(@"<a href=?page=");
                            strB.Append(strL);
                           strB.Append(@">下一页</a> |");
                            strB.Append(@" <a href=?page=");
                           strB.Append(PageCount.ToString());
                           strB.Append(strL);
                           strB.Append(@">尾页</a> ");
                        }
                        else
                        {
                           strB.Append(@"<span class=""gray"">后页</span> | <span class=""gray"">上一页</span>");
                        }
                    }
                }
                else
                {
                    strB.Append(@"<span class=""gray"">首页</span> | <span class=""gray"">上一页</span> |");
                    if (PageCount - 1 > 0)
                    {
                        strB.Append(@"<a href=?page=");
                        strB.Append("2");
                        strB.Append(strL);
                        strB.Append(@">下一页</a> |");
                        strB.Append(@" <a href=?page=");
                        strB.Append(PageCount.ToString());
                        strB.Append(strL);
                        strB.Append(@">尾页</a> ");
                    }
                    else
                    {
                       strB.Append(@"<span class=""gray"">下一页</span> | <span class=""gray"">尾页</span>");
                    }
                }
               strB.Append(@"&nbsp;跳转到
    <input type=""text"" id=""goPage"" class=""inputText"" class=""inputtext"" style=""text-align:right;width:1em;"">
    <input type=""button"" onclick=""javascript:goto();"" value=""GO"" class=""inputButton""/>
    <script type=""text/javascript"">function goto(n){var n = document.getElementById(""goPage"").value;n = parseInt(n);if (isNaN(n)){return;}
     if (n<=0){n=1;}if (n-1<=0){n=1;}");
        strB.Append(@"u=""?page=""+ n +"""+strL+@""";location.href=u;}</script></td></tr></table>");
           str=strB.ToString();
                return str;
            }