public class test
{
     ....
     DataSet ds;
     private void Page_Load(object sender, System.EventArgs e)
     {
        ds=new DataSet ();
        da.Fill (ds,"CompactInfo");
        .....
      }
     public void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
       DataTable dt=ds.Tables["CompactInfo"];
    }
}
提示找不到对象ds,请问在imagebutton1_clieck中怎么访问上面的dataset呀

解决方案 »

  1.   

    are you doing the Fill inside if (!IsPostBack)block?? comment it out private void Page_Load(object sender, System.EventArgs e)
    {
          //if (!IsPostBack)
          {
            ds=new DataSet ();
            da.Fill (ds,"CompactInfo");
          }
    }otherwise, you should save the dataset in a Session variable
      

  2.   

    public class test
    {
         ....
         DataSet ds = new DataSet();
         private void Page_Load(object sender, System.EventArgs e)
         {
            da.Fill (ds,"CompactInfo");
            .....
          }
         public void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
        {
           DataTable dt=ds.Tables["CompactInfo"];
        }
    }
    另外你的代码应该都编译不过去呀,而且代码中有严重的问题,把获取数据放在Page_Load中,每次都页面的回传(PostBack)都会重新连接数据库重新取数据,严重影响性能,但是如果你加上!Page.IsPostBack判断,你在ImageButton1_Click事件中就不会取得ds的数据,我不知道你的目的是什么,这只是我的个人看法。
      

  3.   

    if (!IsPostBack)
          {
            ds=new DataSet ();
            da.Fill (ds,"CompactInfo");
          }
      

  4.   

    我在代码中回了ispostpack,正如 cancersyf(fengzhimei)所说,无法得到DS的数据,我怎么做才能得到DS的数据呢,如果有session 当不使用时怎么将session清除呢