2013-03-04 76 views
2

我試圖使用數據集中的一些數據動態添加輸入複選框類型asp文本框到Asp表格單元格。我已經閱讀了幾篇關於這方面的文章,但沒有一篇希望達到。將動態用戶控件添加到Asp表格

這是我使用的代碼(如果DS是數據集和tblMeasuredChar是ASP表):

If ds.Tables(0).Rows.Count > 0 Then 

     For Each dr As DataRow In ds.Tables(0).Rows 
      Dim tr As New TableRow() 

      'defining input 
      Dim tc As New TableCell() 
      tc.Text = "<input type=" & Chr(34) & "checkbox" & Chr(34) & " name=" & Chr(34) & "chkMeasuredChars" & Chr(34) & " value=" & Chr(34) & dr("id") & Chr(34) & "/>" & dr("description") 

      'defining unique textbox 
      Dim txtbx As New TextBox() 
      txtbx.ID = "tbMeasuredChars" & dr("id") 
      'add it to the cell 
      tc.Controls.Add(txtbx) 

      'add the cell to the row 
      tr.Controls.Add(tc) 

      tblMeasuredChar.Rows.Add(tr) 
     Next 
    End If 

的問題是,剛剛過去的「東西」,我添加顯示到TableRow。我必須使用這種類型的輸入,它不可能使用一些asp複選框。是否可以添加一個用戶控件到已經有一些其他文本的TableCell?

我已經嘗試添加TableCell,如tr.Cells.Add(tc)和其他一些combins,但結果仍然相同。將控件添加到單元格會使複選框(以及任何早期定義的內容)消失。

謝謝大家。

+1

如果你用'Repeater'做了這個,你的生活會容易得多。如果您想探索此選項,請告知我,我很樂意爲您舉個例子。 – 2013-03-04 17:12:29

回答

1

您應該使用Literal control,而不是使用.Text屬性。就像這樣:

If ds.Tables(0).Rows.Count > 0 Then 

    For Each dr As DataRow In ds.Tables(0).Rows 
     Dim tr As New TableRow() 

     'defining input 
     Dim tc As New TableCell() 
     tc.Controls.Add(New LiteralControl("<input type=" & Chr(34) & "checkbox" & Chr(34) & " name=" & Chr(34) & "chkMeasuredChars" & Chr(34) & " value=" & Chr(34) & dr("id") & Chr(34) & "/>" & dr("description"))) 

     'defining unique textbox 
     Dim txtbx As New TextBox() 
     txtbx.ID = "tbMeasuredChars" & dr("id") 
     'add it to the cell 
     tc.Controls.Add(txtbx) 

     'add the cell to the row 
     tr.Controls.Add(tc) 

     tblMeasuredChar.Rows.Add(tr) 
    Next 
End If 

這聽起來像這將滿足您的需求很好,因爲它不是一個普通的ASP.NET SERV控制,它基本上只是靜態的HTML文本。從上面鏈接的文檔:

ASP.NET編譯所有的HTML元素和可讀文本不 需要服務器端處理這個類的實例。例如,對於 示例,在其開始標記中不包含runat =「server」 屬性/值對的HTML元素將編譯爲一個 LiteralControl對象。

所以你的文本基本上已經被編譯成文字控件了。我認爲這隻會解決您遇到的顯示問題,同時使用.Text屬性和.Controls集合。

+0

謝謝jadarnel,它像一個魅力工作!非常感謝,不僅僅是爲了答案,而是爲了解釋。 – weilah 2013-03-05 07:28:33

+0

@weilah我很高興我可以幫忙=) – jadarnel27 2013-03-05 14:27:16