2010-12-09 65 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";