asp.net分页方法

string Msg;
for(i=0;i<3;i++)
{UName = dt.Rows[i][0].ToString();
Msg = dt.Rows[i][1].ToString();
Response.Write(String.Format(”<li>{0}:{1}</li>”,UName,Msg));}
Response.Write(”</ul>”);
%>
</div>
</form>
</body>
</html>
编写Pager.aspx.cs如代码12.13所示。
代码12.13 多种方法分页逻辑代码:Pager.aspx.csusing System;
……
//导入必要的命名空间,使用SQL SERVER数据提供者using System.Data.SqlClient;
namespace NetWeb3
{public partial class Pager : System.Web.UI.Page{//从Web.config的AppSettings节点的第1个子节点中获取数据库连接字符串//将连接字符串对象引用赋值给静态字符串变量CnStrstatic string CnStr = ConfigurationManager.AppSettings[0];//根据CnStr变量创建SqlConnection对象,引用为cnSqlConnection cn = new SqlConnection(CnStr);//声明SqlDataAdapter类型变量da
SqlDataAdapter da;
//创建DataSet对象,引用为ds
DataSet ds = new DataSet();
//声明DataTable类型的变量dt
//protected修饰符可以保证在*.aspx中可以访问dtprotected DataTable dt;
protected void Page_Load(object sender, EventArgs e){this.GView.PageIndexChanging += new GridViewPageEventHandler(GView_PageIndexChanging);//判断页面是否为首次加载
if (!IsPostBack)
{//调用自定义的MyBind方法
MyBind();
}
}
protected void MyBind()
{string SqlStr = “SELECT [UserName],[Message] FROM [LeaveMsg]”;//根据SqlStr和cn创建新的SqlDataAdapter对象,引用为da变量da = new SqlDataAdapter(SqlStr, cn);
//调用da的Fill方法,将记录填充到ds,其DataTable名称为LeaveMsg1da.Fill(ds, “LeaveMsg1″);
//将LeaveMsg1数据表设置为GView控件的数据源
this.GView.DataSource = ds.Tables[“LeaveMsg1”];//调用da的Fill方法,将记录填充到ds,其DataTable名称为LeaveMsg2//Fill方法接收的第2个参数代表从第几条记录开始填充,第3个参数代表填充多少条记录da.Fill(ds,0,2, “LeaveMsg2″);
//将LeaveMsg1数据表设置为Rp1控件的数据源
this.Rp1.DataSource = ds.Tables[“LeaveMsg2”].DefaultView;cn.Open();
//编写SQL语句,直接在数据库查询时分页获取数据SqlStr = “Select Top 3 [UserName],[Message] from [LeaveMsg] where [id] Not IN (Select Top (3*1) [id] from [LeaveMsg])”;//根据SqlStr和cn创建新的SqlCommand对象,引用为cmd变量SqlCommand cmd = new SqlCommand(SqlStr, cn);//调用cmd的ExecuteReader方法,返回数据读取器,引用为drSqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//将dr设置为Rp2控件的数据源
this.Rp2.DataSource = dr;
//将LeaveMsg1数据表对象引用赋值给dt,供*.aspx中访问dt = ds.Tables[“LeaveMsg1”];
//绑定页面所有控件的数据
this.DataBind();
//关闭数据读取器,同时关闭数据库连接
dr.Close();
}
//该方法为GView控件的数据页索引变化事件的处理方法protected void GView_PageIndexChanging(object sender, GridViewPageEventArgs e){//设置新的页索引
GView.PageIndex = e.NewPageIndex;
//再次调用MyBind方法,绑定页面数据
MyBind();
}
}
}

标签