asp.net翻页问题
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> ";
}
else
{
PageList += "<a href='" + strQuerystring + "&page=" + i + "'>" + i + "</a> ";
}
}
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=十一
现在也两页的信息
但是我在翻页时网址在变,可是现实的还是第一页的信息
这是怎么回事呀
}