2016-05-20 8 views
0

私はasp.net C#を使用しており、データベースからテキストボックスを生成したいと考えています。私は私のテーブルに4レコードがあるので、実行時に4つのテキストボックスが必要です。 しかし、チェックイン時に1つのテキストボックスしか表示されないInsepct Element 4つのテキストボックスが表示されますが、ページに表示されません。ASP.NET C#動的コントロールを生成する方法

どこが間違っているかわかりません。

私はこの

OracleConnection obj_Conn = new OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["OracleConn"].ToString()); 
    Table table = new Table(); 
    table.ID = "table1"; 
    string Query = "SELECT * FROM XXCUS.MASTER_VERIFICATION"; 
    OracleDataAdapter da = new OracleDataAdapter(Query, obj_Conn); 
    //DataSet ds = new DataSet(); 
    DataTable dt = new DataTable(); 
    da.Fill(dt); 
    var Count = dt.Rows.Count; 
    if (Count > 0) 
    { 
     TableRow row = new TableRow(); 
     TextBox txt = new TextBox(); 
     for (int i = 0; i < Count; i++) 
     { 
      TableCell cell = new TableCell(); 
      txt.ID = "txt" + i.ToString(); 
      cell.ID = "cell" + i.ToString(); 

      cell.Controls.Add(txt); 

      row.Cells.Add(cell); 
     } 
     table.Rows.Add(row); 
     dvGenerateCntrl.Controls.Add(table); 
    } 

のようなコードを使用してページの読み込みにこのメソッドを呼び出してい

答えて

1

まずデバッグの内側に新しいTextBoxを宣言行を置きますあなたのコードとあなたのdatatableの4行を取得し、このコードを使用することを確認してください。

コードでは、毎回TextBoxのオブジェクトを作成しません。 私はそれがあなたを助けると思う。

2

forループ

for (int i = 0; i < Count; i++) 
    { 
     TextBox txt = new TextBox(); 
     TableCell cell = new TableCell(); 
     txt.ID = "txt" + i.ToString(); 
     cell.ID = "cell" + i.ToString(); 

     cell.Controls.Add(txt); 

     row.Cells.Add(cell); 
    } 
関連する問題