2010-12-09 66 views
3

我有下面的代碼還增加了一個標籤和一個GridView到一個asp.net頁面:動態添加一個風格的標籤,一個ASP.Net Web頁

GridView grd = CreateGridView(kvp.Key.Text); 
    Label l = new Label(); 
    l.Text = "some text"; 
    l.CssClass = "this has no effect"; 
    placeHolderResults.Controls.Add(l); 
    placeHolderResults.Controls.Add(grd); 

兩個問題真的:

  1. 由於頁面將有多個和未知數量的Label + Grid對,我正在循環上述代碼,這是將控件添加到頁面的最佳方式嗎?

  2. 我不能設計標籤樣式?你怎麼做呢?看看創建的HTML,標籤變成SPAN。

由於提前,

吉姆

如果你把類名從樣式到它
+0

lblMyLabel.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FF0000"); lblMyLabel.Style["font-weight"] = "bold"; 

它變成黑色正常嗎? – Saar 2010-12-09 10:55:06

回答

4

l.CssClass纔會有效果。例如:

<style type="text/css"> 
    .boldText {text-weight: bold} 
</style> 

// then the following should work 
l.CssClass = "boldText"; 

// this will generate: <span class="boldText">your text</span> 


如果你只是想直接添加樣式,那麼你就可以做到以下幾點:

l.Attributes.Add("style", "color:Red;font-weight:bold;"); 
// this will generate <span style="color:Red;font-weight:bold">your text</span> 

我希望這有助於。玩得開心編碼!


PS:
<asp:Literal>總是生成明文
<asp:Label>生成<SPAN>
<asp:Panel>生成<DIV>



EDITED上2010.12.09 - 在示例代碼基礎修復的錯誤吉姆的評論

+0

+1好答案:) – Saar 2010-12-09 10:56:29

1

將其更改爲紅色BOLD d:你在哪裏定義您的樣式

lblMyLabel.ForeColor = System.Drawing.ColorTranslator.FromHtml("#000000"); 
lblMyLabel.Style["font-weight"] = "normal";