ASP.NET

Knowledge Base

ASP.NET > WebControls

Literal

Das Literal Web-Control ist ein Platzhalter für einfachen Text und erlaubt keine Formatierungen. Der Text wird als einfacher Text auf der HTML-Seite wiedergegeben (ohne z. B.  <span>-Tag wie z. B. beim Label-Control). Damit sind zwangsläufig auch keine Formatierungen möglich.

<asp:Literal runat="server">Text</asp:Literal>

<asp:Literal runat="server" Text="Text" />

Ein Literal-WebControl hat keine eingebetteten (nested) (Web-)Controls.


Neben dem Text kann zusätzlich auch der Mode Eigenschaft eingestellt werden:

  • Transform (default): Gemäß Angaben von Microsoft wird der Text hier nicht verändert, wenn das Rendering auf einem Browser durchgeführt wird, der HTML / XHTML unterstützt.
  • PassThrough: Der Text wird nicht verändert.
  • Encode: Der Text wird in HTML-Text umgewandelt.

Entgegen den offiziellen Angaben sind Transform und PassThrough identisch - prüft man den Quellcode der Render-Methode des Literal Web-Controls (z. B. mit dem .NET Reflector) wird offensichtlich, dass nur im Mode Encode eine andere Routine (HttpUtility.HtmlEncode) aufgerufen wird - für Transform/PassThrough wird der Text 1:1 gerendert (die offiziellen Angaben sind damit falsch).