mscorlib.dll中发生了System.StackOverflowException类型的未处理异常

时间:2011-07-11 02:50:31

标签: .net asp.net

我在ASP.NET中编写了一个代码,用于从SQL表中读取数据并在网格视图中显示它并使用行数据绑定事件。但是当我运行程序时,出现这种异常“类型为'System.StackOverflowException的未处理异常” '发生在mscorlib.dll中“在代码的声明中:

    private void BindAllUsers()
    {
        SqlDataAdapter da = new SqlDataAdapter("SELECT ID, Name, Email, Password, Contact, CreatedOn, CreatedBy,CreatedIP From tbl_Users",con);
        DataSet ds = new DataSet();
        da.Fill(ds);       <------(Error occurs in this line)
        gdv_Users.DataSource = ds;
        gdv_Users.DataBind();

    }

RowDataBoundEvent处理程序是:

    protected void gdv_Users_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        e.Row.Cells[0].Style["Cursor"] = "hand";
        e.Row.Cells[0].ToolTip = "Click Here";
        e.Row.Cells[0].Attributes.Add("onclick","window.open('Details.aspx'?ID=" + e.Row.Cells[0].Text.ToString()+"'Details';'width = 735,height= 350,left = 220,top = 300,resizable = 0,scrollbars = 0,status = no')");
    }

这里调用BindAllUser函数:

 protected void Page_Load(object sender, EventArgs e)
{
    BindAllUsers();
    BindDropDown();

}

1 个答案:

答案 0 :(得分:0)

试试这个:

        private void BindAllUsers()
    {
        using (SqlConnection con = new SqlConnection("connection string"))
        {
            con.Open();
            SqlCommand command = new SqlCommand();
            command.Connection = con;
            command.CommandText = "SELECT ID, Name, Email, Password, Contact, CreatedOn, CreatedBy,CreatedIP From tbl_Users";
            SqlDataReader dr = command.ExecuteReader();
            if (dr.HasRows)
            {
                gdv_Users.DataSource = ds;
                gdv_Users.DataBind();
            }
        }

    }