我的第二个asp.net分页,用gridview控件分页,实现简单,并且gridview的数据源是用sqldatasource链接的
前台代码:
<asp:GridView ID="grd" runat="server" AllowPaging="true" PageSize="6" AutoGenerateColumns="False" DataKeyNames="id" Width="928px" onpageindexchanging="grd_PageIndexChanging"> <Columns> <asp:BoundField DataField="用户名" HeaderText="用户名" ReadOnly="True" SortExpression="用户名" /> <asp:HyperLinkField DataNavigateUrlFields="id" DataNavigateUrlFormatString="details.aspx?id={0}" DataTextField="标题" HeaderText="标题" /> <asp:BoundField DataField="内容" HeaderText="内容" SortExpression="内容" /> <asp:BoundField DataField="发帖时间" HeaderText="发帖时间" SortExpression="发帖时间" /> <asp:BoundField DataField="回复量" HeaderText="回复量" SortExpression="回复量" /> <asp:BoundField DataField="浏览量" HeaderText="浏览量" SortExpression="浏览量" /> <asp:BoundField DataField="最后一次访问时间" HeaderText="最后一次访问时间" SortExpression="最后一次访问时间" /> </Columns> </asp:GridView>
注意AllowPaging为true表示允许分页,pagesize设置一页显示的行数。要实现分页功能还得实现onpageindexchanging事件。因此后台代码为:
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { bind(); } } public void bind()//将数据库中的内容填充到gridview中 { SqlConnection conn = new SqlConnection(CommonMethods.connstring); conn.Open(); string cmd = "select * from title"; SqlDataAdapter da = new SqlDataAdapter(cmd, conn); DataSet ds = new DataSet(); da.Fill(ds); grd.DataSource = ds; grd.DataBind(); conn.Close(); } protected void grd_PageIndexChanging(object sender, GridViewPageEventArgs e) { grd.PageIndex = e.NewPageIndex; bind(); }