2010-12-09 10 views
3

Ich habe den folgenden Code, die ein Label und ein gridview zu einer asp.net Seite ergänzt:Dynamisch Hinzufügen eines gestylt Etikett an eine ASP.Net Web-Seite

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); 

Zwei Fragen wirklich:

  1. Da die Seite mehrere und unbekannte Mengen von Label + Grid-Paaren haben wird, gehe ich den obigen Code durch, ist dies der beste Weg, die Steuerelemente zur Seite hinzuzufügen?

  2. Ich kann das Etikett nicht stylen? Wie machst du das? Betrachtet man den HTML-Code, der erstellt wird, erweist sich das Label als SPAN.

Vielen Dank im Voraus,

Jim

+0

wo Sie Ihre Stile definieren? – Saar

Antwort

4

l.CssClass nur Wirkung haben, wenn Sie den Namen der Klasse von einem Stil hineingesteckt. Zum Beispiel:

<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> 


Wenn Sie wollen einfach nur Styling direkt hinzufügen möchten, dann können Sie folgendes tun:

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

Ich hoffe, das hilft. Viel Spaß beim Programmieren!


PS:
<asp:Literal> erzeugt immer Klartext
<asp:Label> erzeugt <SPAN>
<asp:Panel> erzeugt <DIV>



geändert am 2010.12.09 - behobene Fehler in Beispiel Code-Basis d auf Jims Kommentar

+0

+1 Gute Antwort :) – Saar

+0

danke für Ihre Antwort. Attribute war die Antwort, die ich suchte - mentale Blockade. Nur eine Sache, Ihr Code ist etwas falsch und sollte l.Attributes.Add lesen ("style", "color: Red; font-weight: bold;") – BIDeveloper

1

ändern sie RED BOLD:

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

ändern es BLACK NORMAL:

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