Gewusst wie: Hinzufügen von Literal-Webserversteuerelementen zu einer Web Forms-Seite (Visual Studio)
Aktualisiert: November 2007
Fügen Sie der Seite ein Literal-Webserversteuerelement hinzu, wenn Sie Text programmgesteuert festlegen möchten, ohne zusätzliche HTML-Tags hinzufügen zu müssen. Das Literal-Steuerelement ist nützlich, wenn es darum geht, Text dynamisch in eine Seite einzufügen, ohne Elemente hinzuzufügen, die nicht Bestandteil des dynamischen Textes sind. Zum Beispiel können Sie mit dem Literal-Steuerelement HTML anzeigen, das Sie aus einer Datei oder einem Stream lesen.
Hinweis: |
---|
Zur Anzeige von statischem Text ist ein Literal-Steuerelement nicht erforderlich. Verwenden Sie dazu einfach HTML. Verwenden Sie das Literal-Steuerelement nur, wenn Sie den Inhalt im Servercode dynamisch ändern müssen. |
So fügen Sie einer Web Forms-Seite ein Literal-Webserversteuerelement hinzu
Ziehen Sie von der Registerkarte Standard der Toolbox ein Literal-Steuerelement auf die Seite.
Optional können Sie im Eigenschaftenfenster in der Kategorie Verhalten die Mode-Eigenschaft auf Transform, PassThrough oder Encode festlegen. Die Mode-Eigenschaft gibt an, wie das Steuerelement Markup behandelt, das Sie hinzufügen. Ausführliche Informationen finden Sie unter Übersicht über das Literal-Webserversteuerelement.
Das folgende Beispiel stellt eine einfache Webseite dar, die zur Laufzeit eine Headline anzeigt. Der Textkörper der Seite, einschließlich Literal-Steuerelement, könnte wie folgt aussehen.
<body> <form > <h1><asp:Literal id="Headline" runat=server mode="PassThrough"/></h1> </form> </body>
Fügen Sie der Seite Code hinzu, um die Text-Eigenschaft des Steuerelements zur Laufzeit festzulegen.
Im nachstehenden Beispiel wird gezeigt, wie Sie Text und Codierung des Literal-Steuerelements programmgesteuert festlegen. Die Seite enthält Optionsfelder, mit denen der Benutzer zwischen codiertem und Pass-Through-Text wählen kann.
Hinweis: Wenn Sie die Text-Eigenschaft auf Text festlegen, der aus einer nicht vertrauenswürdigen Quelle stammt, legen Sie die Mode-Eigenschaft auf Encode fest. Dadurch ist das entsprechende Markup nicht ausführbar.
<%@ Page Language="VB" %> <script > Protected Sub Page_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Literal1.Text = "This <b>text</b> is inserted dynamically." If radioEncode.Checked = True Then Literal1.Mode = LiteralMode.Encode ElseIf radioPassthrough.Checked = True Then Literal1.Mode = LiteralMode.PassThrough End If End Sub </script> <html> <head ></head> <body> <form id="form1" > <div> <br /> <asp:RadioButton ID="radioEncode" GroupName="LiteralMode" Checked="True" Text="Encode" AutoPostBack="True" /> <br /> <asp:RadioButton ID="radioPassthrough" GroupName="LiteralMode" Text="PassThrough" AutoPostBack="True" /> <br /> <br /> <asp:Literal ID="Literal1" ></asp:Literal> </div> </form> </body> </html>
<%@ Page Language="C#" %> <script > protected void Page_Load(object sender, EventArgs e) { Literal1.Text = "This <b>text</b> is inserted dynamically."; if (radioEncode.Checked == true) { Literal1.Mode = LiteralMode.Encode; } if(radioPassthrough.Checked == true) { Literal1.Mode = LiteralMode.PassThrough; } } </script> </script> <html> <head ></head> <body> <form id="form1" > <div> <br /> <asp:RadioButton ID="radioEncode" GroupName="LiteralMode" Checked="True" Text="Encode" AutoPostBack="True" /> <br /> <asp:RadioButton ID="radioPassthrough" GroupName="LiteralMode" Text="PassThrough" AutoPostBack="True" /> <br /> <br /> <asp:Literal ID="Literal1" ></asp:Literal> </div> </form> </body> </html>