2013-06-02 93 views
2

我遇到了ASP.NET的問題。 我正在使用C#。asp.net從Code Behind頁面插入HTML

對於SQL查詢,我具有數據庫中行的精確數量,我需要編寫相同數量的div標記以顯示結果。

這是代碼

count是一個包含行數的變量。

項目是一個List

for (int i = 0; i < count; i++) 
{ 
    form1.Controls.Add(new Literal() { 
     ID = "ltr" + i, 

     Text = "<div class= 'container' >Name = " + Projects[i].Name + " ;</div>" }); 
} 

但是有一個問題,我必須把這些DIV與ID =容器內部的div。

這樣

文字控件不放入DIV#集裝箱

我該怎麼辦放置對於結果轉換成一個div?

+0

可以顯示預期結果HTML將是什麼樣子? –

+0

用PHP結果它在這種情況下http://d.pr/i/QMWe count = 2 –

回答

9

相反Literal控制,其目的是使文本,而不是HTML標籤,您可以使用HtmlGenericControl

HtmlGenericControl div = new HtmlGenericControl(); 
div.ID = "div" + i; 
div.TagName = "div"; 
div.Attributes["class"] = "container"; 
div.InnerText = string.Format("Name = {0} ;", Projects[i].Name); 
form1.Controls.Add(div); 

Panel控制,這是它裏面渲染成格,與Literal

Panel div = new Panel(); 
div.ID = "panel" + i; 
div.CssClass = "container";  
div.Controls.Add(new Literal{Text = string.Format("Name = {0} ;", Projects[i].Name)});  
form1.Controls.Add(div); 
1

取而代之的是U應該使用中繼控制,這將是非常容易的工作。

步驟

  1. 拿一個SqlDataSource。
  2. 以轉發器控制。
  3. 將其數據源設置爲。
  4. 只要你喜歡設計itemTemplate。
  5. 完成..!

如果有任何疑問,按照這個LINK