我用GridView绑定数据,第一页显示正常,为什么点第2、3,以及后面的其它页时,页面成了空白了?private void GridViewBind()
    {
        string connstring = ConfigurationManager.ConnectionStrings["df2connstring"].ConnectionString;
              string sqlstring = "select * from BM";        try
        {
            AseConnection conn = new AseConnection(connstring);
            AseDataAdapter adapter = new AseDataAdapter(sqlstring, connstring);
            DataSet ds = new DataSet();
            adapter.Fill(ds, "BM");
            GridView1.DataSource = ds.Tables["BM"].DefaultView;
            GridView1.DataBind();
        }
        catch (Exception ex)
        {
            Response.Write("数据库错误,错误原因:" + ex.Message);
            Response.End();
        }    }
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.EditIndex = e.NewPageIndex;
        GridViewBind();
    }

解决方案 »

  1.   

    if (!IsPostBack)
    {
       GridViewBind();
    }
      

  2.   

    扩展GridVirw控件EXGridView,简单实用。分页无难度~!
    欢迎测试,内附帮助文档win2003 + iis6 测试通过http://www.21disk.com/index.php
    提取码:10001285196979632564107986021分页效果与帮助文档
    http://wtsdesigner.ik8.com/EXGridView_Help_Doc.htm如有任何问题请Email联系我.
    [email protected]
      

  3.   

    楼上的兄弟,你们说的是在Page_load里加入上面的那句话吗?我已经写了呀如下:
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                GridViewBind();
            }
        }
    不知为什么还是不行?
      

  4.   

    wtsdesigner() 兄,你说的分页控件为什么只有帮助文档没有下载呀?
    不公开吗?
      

  5.   

    不是,重新读取数据的地方.在IsPostBack一次...
      

  6.   

    tomkillua(dog就是狗) 兄
    我把Page去了还是不行呀?
    我把该页面的台后都贴上来,你帮我看一下好吗?非常感谢!using System;
    using System.Data;
    using System.Configuration;
    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 Sybase.Data.AseClient;public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GridViewBind();
            }
        }
        private void GridViewBind()
        {
            string connstring = ConfigurationManager.ConnectionStrings["df2connstring"].ConnectionString;
            string sqlstring="select * from BM";
            
            try
            {
                AseConnection conn = new AseConnection(connstring);
                AseDataAdapter adapter = new AseDataAdapter(sqlstring, connstring);
                DataSet ds = new DataSet();
                adapter.Fill(ds, "BM");
                GridView1.DataSource = ds.Tables["BM"].DefaultView;
                GridView1.DataBind();
            }
            catch (Exception ex)
            {
                Response.Write("数据库错误,错误原因:" + ex.Message);
                Response.End();
            }
            
        }    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
            GridViewBind();
        }
        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
            GridViewBind();
        }    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.EditIndex = e.NewPageIndex;
            GridViewBind();
        }
    }
      

  7.   

    哦!怎么会这样呀?我把!IsPostBack去了,分页到可以了,现在在    
    protected void Page_Load(object sender, EventArgs e)
        {
            //if(!IsPostBack)
            //{
            GridViewBind();
            //}
        }这样正常吗?
      

  8.   

    这里错了
     protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.pageIndex = e.NewPageIndex;
            GridViewBind();
        }
      

  9.   

    其实正常来讲page_load里不应该每次都绑定的。你调试一下你就知道了。每次页面postback的时候,首先运行的是page_load里的程序。然后才是你的处理程序。你如果在page_load里不加检测每次都绑定一遍,其实也没什么不正常的。只是多绑定了一遍。