当你执行了   Sub DgdRole_Delete(ByVal Sender As Object, ByVal e As DataGridCommandEventArgs) 后页面就提交了一会
即 IsPostBack = ture ;
可是你取得DataSet 是放在 IsPostBack = false 中;
当页面提交后,DataSet当然为空了.
使用全局变量,不能保存状态的,必须用this.ViewState保存DataSet
或者在PageLoad中再查询一次,不要放在IsPostBack = false中

解决方案 »

  1.   

    定义为
    private dataset dstRole;
      

  2.   

    Public dstRole As New DataSet
    不要定义为全局变量。将它定义为局部变量就可以解决了。
     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    dim dstrole as dataset=new dataset
    end sub
      

  3.   

    只能使用一个DataSet 实例,多了就出现错误:未将对象引用设置到对象的实例
      

  4.   

    raike(云中帆) 请问怎么把dataset保存了viewstate啊
      

  5.   

    在 每个函数里都定义一次
    Public dstRole As New DataSet