Поделиться через


Практическое руководство. Добавление серверных веб-элементов управления Literal на страницу веб-форм

Обновлен: Ноябрь 2007

Серверный веб-элемент управления Literal используется, если требуется задать текст на страницу веб-форм программным способом без лишних тегов HTML. Элемент управления Literal — это удобный способ динамического добавления текста на страницу без добавления элементов, не являющихся частью динамического текста. Например, можно использовать элемент управления Literal для отображения HTML кода, который можно прочитать из файла или из потока.

yxtwx09e.alert_note(ru-ru,VS.90).gifПримечание.

Если требуется отображение статического текста, можно использовать HTML без элемента управления Literal. Используйте элемент управления Literal только в том случае, если требуется динамически изменять содержимое в коде приложения.

Добавление серверного веб-элемента управления Literal на страницу веб-форм

  1. Из вкладки Стандартные панели элементов перетащите на страницу элемент управления Literal.

  2. При необходимости в категории Поведение окна Свойства присвойте свойству Mode значения TransformPassThrough и Encode. Свойство Mode задает способ обработки элементом управления любой разметки, добавляемой к нему. Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления Literal.

    В следующем примере во время выполнения выводится заголовок простой веб-страницы. Основная часть страницы с элементом управления Literal может выглядеть следующим образом:

    <body>
      <form runat="server">
        <h1><asp:Literal id="Headline" runat=server 
          mode="PassThrough"/></h1>
      </form>
    </body>
    
  3. Добавьте код на страницу для задания свойства Text элемента управления во время выполнения.

    В следующем примере показано, как программно задать текст и кодировку элемента управления Literal. Страница содержит переключатели, позволяющие пользователю выбирать между кодированным и простым текстом.

    yxtwx09e.alert_note(ru-ru,VS.90).gifПримечание.

    Если для текста, который получен из непроверенного источника, задано свойство Text, задайте для свойства Mode элемента управления значение Encode, чтобы разметка не привела к исполняемой разметке.

    <%@ Page Language="VB" %>
    <script runat="server">
    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 runat="server"></head>
    <body>
    <form id="form1" runat="server">
    <div>
        <br />
        <asp:RadioButton 
            ID="radioEncode" 
            runat="server"
            GroupName="LiteralMode" 
            Checked="True" 
            Text="Encode" 
            AutoPostBack="True" />
        <br />
        <asp:RadioButton 
            ID="radioPassthrough" 
            runat="server" 
            GroupName="LiteralMode" 
            Text="PassThrough" 
            AutoPostBack="True" />
        <br />
        <br />
        <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    </div>
    </form>
    </body>
    </html>
    
    <%@ Page Language="C#" %>
    <script runat="server">
        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 runat="server"></head>
    <body>
        <form id="form1" runat="server">
        <div>
            <br />
            <asp:RadioButton 
                ID="radioEncode" 
                runat="server"
                GroupName="LiteralMode" 
                Checked="True" 
                Text="Encode" 
                AutoPostBack="True" />
            <br />
            <asp:RadioButton 
                ID="radioPassthrough" 
                runat="server" 
                GroupName="LiteralMode" 
                Text="PassThrough" 
                AutoPostBack="True" />
            <br />
            <br />
            <asp:Literal ID="Literal1" runat="server"></asp:Literal>&nbsp;</div>
        </form>
    </body>
    </html>
    

См. также

Ссылки

Общие сведения о серверном веб-элементе управления Literal