日期:2014-05-20  浏览次数:20387 次

页面再次加载 DataTable为空问题?????
点按钮事件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();
}

------解决方案--------------------
很正常阿,你点击按钮提交给服务器,Page.IsPostBack是true,你的ds就没有初始化。
把ds=new DataSet();写在if(!this.IsPostBack)判断的外面就好了。
只有在postback为false的时候填充dataset就好了
------解决方案--------------------
第二次加载都已经刷新了。怎么可能还有上一次加载的信息呢,有也是再从客户端传过来的,或者SESSION之类。