急!散50求解一个关于查询结果分页的问题!(我的“下一页”不能工作,不晓得错在哪里)望高手们帮帮忙!在线等~~~~
我的查询分页中,有下面四项:
记录总数【countnum】 当前页:【nowpage】/ 【allpage】 每页【pagesizelabel】条
我是把每页显示定为10条,在数据库中输了12条查询结果,本来应该是页总数为2,当前页为1,但运行程序时,记录总数是对的,当前页一直显示为“-1”,“下一页”没有实现成功,因而“上一页”也无从认证是否成功,我只是想让这样运行时,可以时当前页显示为“1”,而不是“-1”,另外“上一页”“下一页”可以实现,我始终不晓得错在哪里,下面是我的分页代码:
.....
.....
private int CurrentPage;//当前页
private int PageSize=10;//每页的记录数
private int PageCount;//总页数
protected System.Web.UI.WebControls.Label countnum;
protected System.Web.UI.WebControls.Label pagesizelabel;
protected System.Web.UI.WebControls.LinkButton prepage;
protected System.Web.UI.WebControls.LinkButton nextpage;
protected System.Web.UI.WebControls.Label nowpage;
protected System.Web.UI.WebControls.Label allpage
public void DataRepeatBind()
{
string MySql="";
int StartIndex;//起始下标
StartIndex=CurrentPage*PageSize;
MySql=......
.............//查询的sql代码
SqlDataAdapter MyAdapter=new SqlDataAdapter(MySql,conn);
DataSet ds=new DataSet();
MyAdapter.Fill(ds,StartIndex,PageSize,"Users");
Result.DataSource=ds.Tables["Users"].DefaultView;
Result.DataBind();
prepage.Enabled=true;
nextpage.Enabled=true;
if(CurrentPage>=PageCount-1)
nextpage.Enabled=false;
else if(CurrentPage==0)
prepage.Enabled=false;
CurrentPage=CurrentPage-1;
nowpage.Text=CurrentPage.ToString();
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
//下面一段代码是用于接收传值并在textbox中显示
SerchKey=Request.QueryString["input"];
city=Request.QueryString["incity"];
Label2.Text=city;
TextBox1.Text=SerchKey;
TextBox2.Text=city;
//下面代码是查询分页代码
int SearchNum=0;//查询到的总记录
int PageCount=0;//页数
string MySql="";
MySql=.....//搜索的sql语句
string strcon=ConfigurationSettings.AppSettings["dsn"];
conn=new SqlConnection(strcon);
SqlCommand cmd=new SqlCommand();
cmd.CommandText=MySql;
SqlParameter parm=cmd.Parameters.Add("@keyword",DbType.String);
parm.Value="%"+SerchKey+"%";
cmd.Connection=conn;
conn.Open();
SqlDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
SearchNum++;
}
dr.Close();
countnum.Text=SearchNum.ToString();
if(SearchNum%PageSize==0)
PageCount=SearchNum/PageSize;
else
PageCount=SearchNum/PageSize+1;
allpage.Text=PageCount.ToString();
pagesizelabel.Text=PageSize.ToString();
DataRepeatBind();
}
}
望大伙帮帮忙!感激不尽!