点按钮事件dt对象为空引用,把Page_Load中if(!this.IsPostBack)条件去掉就好用,这是怎么回事啊,难道每次都得Fill ds,帮帮我啊
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
SqlConnection con=new SqlConnection("server=.;uid=sa;database=pubs");
SqlDataAdapter da=new SqlDataAdapter("select * from jobs",con);
ds=new DataSet();
da.Fill(ds,"jobs");
}
}
private void Button2_Click(object sender, System.EventArgs e)
{
DataTable dt=ds.Tables["jobs"];
this.DataGrid1.DataSource=dt;
this.DataGrid1.DataBind();
}

解决方案 »

  1.   

    很正常阿,你点击按钮提交给服务器,Page.IsPostBack是true,你的ds就没有初始化。
    把ds=new DataSet();写在if(!this.IsPostBack)判断的外面就好了。
    只有在postback为false的时候填充dataset就好了
      

  2.   

    第二次加载都已经刷新了。怎么可能还有上一次加载的信息呢,有也是再从客户端传过来的,或者SESSION之类。