it-swarm.com.de

ASP.Net: Literal vs Label

Ich wollte nur ein paar Behörden hören, wann und wo Sie eine LITERAL-Kontrolle über eine LABEL verwenden sollten.

Soweit ich weiß, ist der Unterschied folgender: Ein LABEL kann über das <SPAN> Tags, die hinzugefügt werden.

Ich persönlich finde den Zusatz von <SPAN>-Tags in meinem HTML-Code sind sehr ärgerlich und wenden Stile niemals über ASP an. Daher sollten LITERALs anscheinend die meiste Zeit verwendet werden ... aber ich mache mir Sorgen, dass es other Überlegungen oder Vorteile, ein LABEL darüber zu verwenden, das mir nicht bekannt ist.

Ist es 100% in Ordnung, LABELs durch LITERALs zu ersetzen, vorausgesetzt, wir wenden keine Stile auf sie an? Gibt es KEINE anderen Überlegungen?

98
Chuck Le Butt

Ja, der Hauptunterschied besteht darin, dass Literal-Steuerelemente nur Text rendern, aber Label-Steuerelemente ihn mit <span> - Tags umgeben (es sei denn, Sie verwenden die Eigenschaft AssociatedControlID. In diesem Fall rendert ein Label-Steuerelement einen <label>. Etikett).

So können Beschriftungen einfacher gestaltet werden, aber wenn Sie nur Text einfügen, sind Literale der richtige Weg. Literal-Steuerelemente haben auch eine praktische Eigenschaft Mode , die regelt, wie der Text gerendert wird. Sie können es HTML-codieren lassen, ohne Änderungen rendern oder "nicht unterstützte markup-language-Elemente" entfernen lassen.

Wenn Sie keine Stile anwenden (z. B. die Eigenschaft Label von CssClass), können Sie Label-Steuerelemente durch Literal-Steuerelemente ersetzen.

123
Graham Clark

Wenn Sie Code ähnlich wie haben

<asp:Label EnableViewState="false" ID="Label8" runat="server" 
        AssociatedControlID="txtEmail">Email Address:</asp:Label>

<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>

Es ist optimal, ein Beschriftungselement zu verwenden, da es korrekt in ein HTML label -Element mit dem korrekten for -Attribut umgewandelt wird, das auf Ihr Textfeld abzielt Setzt den Cursor in das Textfeld.

Verwenden Sie andernfalls das Literal, es sei denn, der Text ist in span eingeschlossen, was für das CSS-Styling von Vorteil ist.

33
Chris Marisic

enter image description here

Um einfachen Text, formatierten Text oder HTML-Text so anzuzeigen, wie er ist, beginne ich mit Literal als Leichtgewicht und gebe keine zusätzlichen SPAN-Tags aus.

Siehe dieses Video , das diese zusätzlichen Tags demonstriert.

Wir können CSS jedoch nicht auf ein Literal anwenden, wir können keine Attribute wie Label1.Attributes.Add zu einem Literal hinzufügen. Container-orientierte Dinge können nicht erreicht werden, da Literal nicht von einem SPAN-Tag umgeben ist.

Es ist auch traurig zu sehen, dass viele ASP.NET Webform-Mitarbeiter standardmäßig Beschriftungen auswählen, um Text anzuzeigen, ohne zu wissen, dass dadurch zusätzliche SPAN-Tags generiert werden, die Ihr HTML schwer machen können, wenn Sie viele Beschriftungen haben.

19