2012-10-16 20 views
0

我需要根據另一個選擇創建多個GridViews。在代碼後面創建可變數字網格視圖

我猜我只能在頁面後面的代碼上做這件事。但是,我是否需要在.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. 
+0

是的,您不需要在.aspx頁面中指定ASP:GridView控件。你有指定嗎? .aspx文件的外觀如何? –

回答

0

檢查您的形式標記包含RUNAT =「服務器」?

0

找到修復...我創建了一個ASP.NET面板中的aspx頁面,並在名爲Panel1的代碼後面,而不是Page我把Panel1。

感謝您的幫助!