我是做的一个带水晶报表的网页,网页上按一个按钮就向水晶报表赋一个DataSet值,但是一按水晶报表上的翻页按钮,之前赋给的DataSet就丢了。所以要把这个DataSet存成类成员,但是还是不行,谁有什么好办法?DataSet ds = null;
protected void Page_Load(object sender, EventArgs e)
{
        RefreshCrystalReport();//更新水晶报表
}
protected void Button1_Click(object sender, EventArgs e)
{       
        a();//取得DataSet ds
        RefreshCrystalReport();//更新水晶报表
}
 private void RefreshCrystalReport()
{
   
        if (ds != null)
        {
             //把ds赋给水晶报表
        }else
        {
             //不显示
             CrystalReportViewer1.Visible = false;
        }
}

解决方案 »

  1.   

    服务器事件,,实际上就是一个新的请求,只不过通过ViewState 来区别是不是第一次加载页面,而每次请求页面 都会生成新的页面实例,,你的DataSet是属于具体页面实例的清楚了吧? ViewState Session 看着办吧
      

  2.   

    DataSet ds = null;
    你每次点击,都把ds清空了
      

  3.   

    DataSet ds = null;
    因为你每次点击按钮都会执行上面的代码
      

  4.   

    美女,可这是类成员阿,又不在Page_Load里面,为什么会清空呢?
      

  5.   

    新的页面实例这样阿。。不过ViewState Session到底是什么一时半会我也弄不清楚什么意思..有没有什么快捷的好办法?