无法将void类型转为object类型

本来想在pageload中调用了这个DataBind()的方法用以显示数据库中的数据,但是结果会出现 “无法将void类型转为object类型”。

public void DataBind()
    {
        SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnString"].ToString());
        string sqlstr = "select * from Forum_Column";
        DataSet ds = new DataSet();
        SqlDataAdapter da = new SqlDataAdapter(sqlstr,conn);
        conn.Open();
        da.Fill(ds);
        conn.Close();
    }

这是由于void不是一个对象不能转为object,如果想要在pageload中调用这种方法,需要把原来的方法改为:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            GridView1.DataSource = DataBind();
            GridView1.DataBind();
        }
    }
    public DataSet DataBind()
    {
        SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnString"].ToString());
        string sqlstr = "select * from Forum_Column";
        DataSet ds = new DataSet();
        SqlDataAdapter da = new SqlDataAdapter(sqlstr,conn);
        conn.Open();
        da.Fill(ds);
        conn.Close();
        return ds;
    }

这样就可以成功显示数据了!

原文地址:https://www.cnblogs.com/songxxu/p/3209928.html