<%@ Page Language="C#" AutoEventWireup="true" CodeFile="pagechanging.aspx.cs" Inherits="pagechanging" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <table>
    <tr>
    <td>
    <asp:Button ID="bt1" runat=server Text="查询" OnClick="bt1_Click" />
    </td>
    </tr>
    <tr>
    <td>
    <asp:GridView ID="gridview1" AllowPaging=true runat=server AutoGenerateColumns=false OnPageIndexChanging="gridview1_PageIndexChanging" PageSize="5">
    <Columns>
    <asp:BoundField HeaderText="名称" DataField="job_desc" />
    <asp:BoundField HeaderText="最小数" DataField="min_lvl" />
    <asp:BoundField HeaderText="最大数" DataField="max_lvl" />
    </Columns>
    </asp:GridView>
    </td>
    </tr>
    </table>
    </div>
    </form>
</body>
</html>
.cs
using System;
using System.Data;
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;
using System.Data.SqlClient; public partial class pagechanging : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            gridview1.DataBind();
        }
        
    }
    protected void bt1_Click(object sender, EventArgs e)
    {
        SqlConnection con = DB.createConnection();
        con.Open();        DataSet ds = new DataSet();
        string s = "select * from jobs";
        SqlDataAdapter My = new SqlDataAdapter(s,con);
        My.Fill(ds, "s");
        gridview1.DataSource = ds.Tables["s"].DefaultView;
        gridview1.DataBind();
    }
    protected void gridview1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gridview1.PageIndex = e.NewPageIndex;
        gridview1.DataBind();
    }
}以上是我自己写的代码,想实现分页,但是第一页正常,点翻页按钮后,都是空白,请问怎么改?大侠们给个答案把,谢谢了,入门难呀!

解决方案 »

  1.   

    protected void gridview1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gridview1.PageIndex = e.NewPageIndex;
            gridview1.DataBind();  //应该是再次绑定数据,而不是直接调用databind()方法。
        }改成:public partial class pagechanging : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GridViewGetData();
            }
            
        }
        protected void bt1_Click(object sender, EventArgs e)
        {
            GridViewGetData()
                }
        protected void gridview1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gridview1.PageIndex = e.NewPageIndex;
            GridViewGetData();
        }    private void GridViewGetData()
    {
        SqlConnection con = DB.createConnection();
            con.Open();        DataSet ds = new DataSet();
            string s = "select * from jobs";
            SqlDataAdapter My = new SqlDataAdapter(s,con);
            My.Fill(ds, "s");
            gridview1.DataSource = ds.Tables["s"].DefaultView;
            gridview1.DataBind();}