我有問題,在GridView控件在ASP.NET的C#分頁GridView控件在asp.net C#分頁
這GridView控件中填充,其中被稱爲在查詢字符串傳遞一個值的查詢。
在第一次綁定GridView中的輸出是正確的,但是當我在改變頁面上嘗試GridView響應時出現以下錯誤。
Exception Details: System.NullReferenceException: Object reference not
set to an instance of an object.
在此行中公衆的DataTable GridViewBind()
throw ex;
我認爲錯誤是從在重新加載頁面消失在查詢字符串值造成的。
我的代碼如下,我將不勝感激任何幫助,您可以給我解決這個問題。
public DataTable GridViewBind()
{
sql = " SELECT * from tbl_premium WHERE Year_month = ?; ";
try
{
dadapter = new OdbcDataAdapter(sql, conn);
if (!string.IsNullOrEmpty(Request.QueryString["Year_month"].ToString()))
{
dadapter.SelectCommand.Parameters.Add("param1", Request.QueryString["Year_month"].ToString());
}
dset = new DataSet();
dset.Clear();
dadapter.Fill(dset);
DataTable dt = dset.Tables[0];
GridView1.DataSource = dt;
GridView1.DataBind();
return dt;
}
catch (Exception ex)
{
throw ex;
}
finally
{
dadapter.Dispose();
dadapter = null;
conn.Close();
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridViewBind();
GridView1.DataSource = dset.Tables[0];
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
protected void ddlPages_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow gvrPager = GridView1.BottomPagerRow;
DropDownList ddlPages = (DropDownList)gvrPager.Cells[0].FindControl("ddlPages");
GridViewBind();
GridView1.DataSource = dset.Tables[0];
GridView1.PageIndex = ddlPages.SelectedIndex;
GridView1.DataBind();
}
protected void Paginate(object sender, CommandEventArgs e)
{
int intCurIndex = GridView1.PageIndex;
switch (e.CommandArgument.ToString().ToLower())
{
case "First":
GridView1.PageIndex = 0;
break;
case "Prev":
GridView1.PageIndex = intCurIndex - 1;
break;
case "Next":
GridView1.PageIndex = intCurIndex + 1;
break;
case "Last":
GridView1.PageIndex = GridView1.PageCount - 1;
break;
}
GridView1.DataBind();
}
告訴我們錯誤發生在哪一行,所以我們不必猜測。另外,我看到你有這樣一行'GridView1.DataSource = dset.Tables [0];'但你不會在任何地方顯示'dset'對象的初始化。 – mason 2014-08-29 13:48:26
我已編輯該問題,謝謝。 – 2014-08-29 13:52:26
擺脫'catch(Exception ex){throw ex;}'。所有這一切都搞亂了你的堆棧跟蹤。它看起來像是_that_行的異常。你沒有好處。擺脫它。 – 2014-08-29 13:54:59