다음을 통해 공유


방법: Web Forms 페이지에 Literal 웹 서버 컨트롤 추가(Visual Studio)

업데이트: 2007년 11월

다른 HTML 태그를 추가하지 않고 프로그래밍 방식으로 텍스트를 설정하려면 Web Forms 페이지에 Literal 웹 서버 컨트롤을 추가합니다. Literal 컨트롤은 동적 텍스트에 포함되지 않는 요소를 추가하지 않고 페이지에 텍스트를 동적으로 추가하려는 경우에 유용한 방법입니다. 예를 들어, Literal 컨트롤을 사용하여 파일이나 스트림에서 읽어 온 HTML을 표시할 수 있습니다.

참고:

정적 텍스트를 표시하려면 HTML을 사용하는 것이 좋으며 반드시 Literal 컨트롤을 사용할 필요는 없습니다. Literal 컨트롤은 서버 코드의 내용을 동적으로 변경해야 할 때만 사용하십시오.

Web Forms 페이지에 Literal 웹 서버 컨트롤을 추가하려면

  1. 도구 상자의 표준 탭에서 Literal 컨트롤을 페이지로 끌어 옵니다.

  2. 선택적으로, 속성 창의 동작 범주에서 Mode 속성을 Transform, PassThrough 또는 Encode로 설정합니다. Mode 속성은 컨트롤에 추가된 태그가 처리되는 방식을 지정합니다. 자세한 내용은 Literal 웹 서버 컨트롤 개요를 참조하십시오.

    다음 예제에서는 런타임에 헤드라인을 표시하는 간단한 웹 페이지를 보여 줍니다. Literal 컨트롤을 포함하는 페이지의 본문은 다음과 같이 나타납니다.

    <body>
      <form >
        <h1><asp:Literal id="Headline" runat=server 
          mode="PassThrough"/></h1>
      </form>
    </body>
    
  3. 런타임에 컨트롤의 Text 속성을 설정하는 코드를 페이지에 추가합니다.

    다음 예제에서는 Literal 컨트롤의 텍스트 및 인코딩을 프로그래밍 방식으로 설정하는 방법을 보여 줍니다. 이 페이지에는 인코딩된 텍스트 또는 통과 텍스트 중에서 선택하는 데 사용할 수 있는 라디오 단추가 포함되어 있습니다.

    참고:

    Text 속성에 설정하는 텍스트가 출처를 신뢰할 수 없는 텍스트이면 해당 태그가 실행 태그가 되지 않도록 컨트롤의 Mode 속성을 Encode로 설정합니다.

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

참고 항목

참조

Literal 웹 서버 컨트롤 개요