1. 程式人生 > >將GridView和資料庫查詢結果繫結起來後,點選查詢出了結果。但是點選第二面或者其他的,就直接變空白了。(已經解決)

將GridView和資料庫查詢結果繫結起來後,點選查詢出了結果。但是點選第二面或者其他的,就直接變空白了。(已經解決)


public partial class Location_BJ_Location : System.Web.UI.Page
{


protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack){
this.GridView1.DataSource = this.Dbind();
this.GridView1.DataBind();
}

}
public DataSet Dbind(){
string strLocation = "北京";
DataSet ds = new DataSet();
DBAccess db = new DBAccess();
ds = db.GetLLData(strLocation);
return ds;
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView1.PageIndex = e.NewPageIndex;
this.GridView1.DataSource = this.Dbind();
this.GridView1.DataBind();

}

}

這個用到了GriView的自動分頁功能,但是執行以後出現如題的問題。網上查找了許多,不見解,遂自己嘗試瞭解決一下問題。修改Page_Load()函式裡面,函式如下

protected void Page_Load(object sender, EventArgs e)
{
this.GridView1.DataSource = this.Dbind();
this.GridView1.DataBind();
}

取消掉了if(!Page.IsPostBack){} ,再次執行,分頁顯示正常。

個人覺得當執行Page_Load函式時,網頁第一次載入成功以後,點選"2,3,4,...."分頁時,屬於載入過的加上  Page.IsPostBack函式不會再重新給GridView重新繫結資料來源,所以還會出現空白頁(個人意見而已,希望大家批評改正)。