2012-03-10 26 views
0

ダイナミックに生成されたhtmlテーブルのテキストボックスの横にあるテキストボックスを使用して、データセットから質問を生成しました。私は5つの質問と5つのテキストボックスを持っています。 だから、私はいくつかのテキストボックスの値を取得する必要があります。動的に追加されたテキストボックスの値を見つける

私はデータセットをループし、一連の質問の隣にテキストボックスを追加しています。しかし、各テキストボックスに固有のIDを生成する必要がありますか?

private void GenerateTable(int colsCount, int rowsCount, DataSet ds, DataSet ds2) 
{ 
    if (!IsPostBack) 
    { 
     int counter = 0; 

     List<TableRow> tableRowList = new List<TableRow>(); 
     List<TableCell> tableCellList = new List<TableCell>(); 
     List<Control> controlsList = new List<Control>(); 

     foreach (DataTable dataTable in ds.Tables) 
     { 
      foreach (DataRow dataRow in dataTable.Rows) 
      { 
       TableRow tableRow = new TableRow(); 
       TableCell tableCell = new TableCell(); 
       TableCell tableCell2 = new TableCell(); 
       TextBox textbox = new TextBox(); 
       //textbox.ID = "TextBoxID"; 

       TableRow tableRow2 = new TableRow(); 
       TableCell tableCel2 = new TableCell(); 

       tableCell.Text = dataRow["QUESTIONTEXT"].ToString(); 


       if (dataRow["TYPEID"].ToString() == "1") 
       { 
        tableCell2.Controls.Add(textbox); 
        controlsList.Add(textbox); 
       } 


       tableRow.Cells.Add(tableCell); 
       tableRow.Cells.Add(tableCell2); 
       myTable.Rows.Add(tableRow); 

       tableRowList.Add(tableRow); 
       tableCellList.Add(tableCell); 
       tableCellList.Add(tableCell2); 

       counter++; 
      } 
     } 

     //TextBox tb = myTable.FindControl(TextBoxID) as TextBox;   

答えて

1

私は、各テキストボックスにいくつかのユニークなIDを生成する必要がありますか?

はい... idは一意である必要があります。

ID =名は[CS]は
この属性は、要素に名前を割り当てる:同じIDを持つ複数の要素を持つページが

spec invaliidあります。この名前は、ドキュメント内で一意である必要があります。

しかし、あなたはあなただけでは、すべてのIDを割り当てることはできませんすべてのidを使用していない場合は...

+0

私はそれをやって考えることができる唯一の方法は、カウンタを使用し、独特にそれを追加することですID名? –

+1

。正当なアイデアのように聞こえます... – gdoron

+0

IDを割り当てないと、どうすればそれにアクセスできますか?私はリストに追加しましたリスト controlsList =新しいリスト(); controlsList.Add(テキストボックス);だから、私はインデックスを持っています。 –

関連する問題