在后面的代码中创建变量数网格视图

时间:2012-10-16 00:09:29

标签: c# asp.net gridview

我需要根据其他选择创建多个GridView。

我猜我只能在页面后面的代码上执行此操作。但是,我是否需要在.aspx页面中指定ASP:GridView控件?

以下是我的代码:

            if (dt.Rows.Count > 0)
        {
            for (int j = 0; j < dt.Rows.Count; j++)
            {
                    sqlStatement = "select table_name, column_name, [Description], data_type from INFORMATION_SCHEMA.COLUMNS WHERE tableName = '" + dt.Rows[j][0].ToString()+ "'";

                command = new SqlCommand(sqlStatement, conn);
                SqlDataAdapter adapter = new SqlDataAdapter(command);
                DataSet ds = new DataSet();
                adapter.Fill(ds);

                GridView gv = new GridView();
                gv.DataSource = ds;
                Page.Controls.Add(gv); 
            }
            Page.DataBind(); 
        }

我尝试运行上面的代码,但不断收到错误消息:

Control 'ctl01' of type 'GridView' must be placed inside a form tag with runat=server. 

3 个答案:

答案 0 :(得分:0)

检查您的表单标签是否包含runat =“server”?

答案 1 :(得分:0)

您应该始终将控件插入PlaceHolders

检查出来:

http://www.developerfusion.com/code/3826/adding-controls-to-placeholders-dynamically/

答案 2 :(得分:0)

找到修复程序...我在aspx页面和后面的代码中创建了一个名为Panel1的ASP.NET面板,而不是Page我放了Panel1。

感谢大家的帮助!