小弟想做一个分页测试,不要求效率,只要求分页:思路是这样,先从SQL数据库读取文章标题,然后用for循环分别赋给数组a[]的元素,即a[1]=myReader.GetString(2)等。最后用for循环,分页显示数组的元素出来。问题:在最后面那个for循环那里,要怎样写才能正确分页呢。以下是代码 private void Page_Load(object sender, System.EventArgs e)
{省略部分sql语句。
SqlDataReader myReader;
myReader=myComm.ExecuteReader();
string [] a=new string[100];
int i=0; while(myReader.Read())
{ a[i]=myReader.GetString(2);
Response.Write(a[i] + "<br>");
i=i+1;
} Response.Write(i + "<br>");
int meiye=3;//定义每页显示3篇文章
int all=i;
double yeshu=Math.Ceiling(all/meiye+1);//计算有多少页
Response.Write(yeshu + "<br>"); for (double i1=1;i1<=yeshu;i1++)
{
Response.Write("<a href=WebForm1.aspx?page="+i1+">" + i1 + "</a> ");//显示1,2,3,4,等页码。
} Response.Write("<br><br><br>"); string getpage=Request.QueryString["page"];
int page=Convert.ToInt32(getpage); for(int j=0;j<meiye;j++)
{ Response.Write(a[page] + "<br>");
page=page+1;
} }
}
{省略部分sql语句。
SqlDataReader myReader;
myReader=myComm.ExecuteReader();
string [] a=new string[100];
int i=0; while(myReader.Read())
{ a[i]=myReader.GetString(2);
Response.Write(a[i] + "<br>");
i=i+1;
} Response.Write(i + "<br>");
int meiye=3;//定义每页显示3篇文章
int all=i;
double yeshu=Math.Ceiling(all/meiye+1);//计算有多少页
Response.Write(yeshu + "<br>"); for (double i1=1;i1<=yeshu;i1++)
{
Response.Write("<a href=WebForm1.aspx?page="+i1+">" + i1 + "</a> ");//显示1,2,3,4,等页码。
} Response.Write("<br><br><br>"); string getpage=Request.QueryString["page"];
int page=Convert.ToInt32(getpage); for(int j=0;j<meiye;j++)
{ Response.Write(a[page] + "<br>");
page=page+1;
} }
}
解决方案 »
- 关于条形码和摄像头的问题
- web service如何输出数据到前台
- ASP.NET 怎么创建统计图。
- 很奇怪,有时候出现:插入错误: 列名或所提供值的数目与表定义不匹配.
- sql2005数据表管理
- 关于web中实现象股票实时曲线图的问题,在线等(急)
- crystal的报表,在翻页时报错,高手请指教?
- 加密狗如何使用啊
- 在IIS中打开ASPnet2.0 出错?
- 关于asp.net的简单问题
- 关于网络流媒体
- 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\dianzi\b3df148a\af36be82\rgvcecce.dll”--
for(int j=0;j<meiye;j++)
{ Response.Write(a[page] + "<br>");
page=page+1;
}
试下,不知对不对,
不要这样子分页,用分页的存储过程方便多了,效率也好