ASP.NET Literal控件用法

ASP.NET Literal控件用法_华为金山网
在您要以编程方式设置文本而不添加额外的 HTML 标记时,可以向页面添加 Literal Web 服务器控件。在要向页面动态添加文本而不添加任何不属于该动态文本的元素时,Literal 控件非常有用。例如,您可以使用 Literal 控件来显示从文件或流中读取的 HTML。

注意
如果要显示静态文本,则可以使用 HTML 呈现它;不需要 Literal 控件。只有在需要以编程方式呈现文本时才使用 Literal 控件。


向 Web 窗体页添加 Literal 控件
将 <asp:Literal> 元素键入页面。

下面的示例显示一个简单页,该页在运行时显示标题新闻。该页的主体(包括 Literal 控件)类似于下面的代码:

<body>
  <form runat="server">
      <h1> <asp:Literal runat=server /> </h1>
  </form>
</body>


或者,将 Mode 属性设置为 Transform、PassThrough 或 Encode。Mode 属性指定控件如何处理您添加到该控件中的标记。

将代码添加到页面上以在运行时设置控件的 Text 属性。

下面的示例演示如何以编程方式设置 Literal 控件的文本和编码。该页包含一组单选按钮,允许用户在编码文本和传递文本之间选择。

注意
如果您正将 Text 属性设置为来自不受信任源的文本,则应将控件的 Mode 属性设置为 Encode,这样标记才不会形成可执行标记。

<%@ Page Language="C#" %>

<script runat="server">
    protected void Page_Load(object sender ,EventArgs e)
    {
        // Literal1.Text = "This <b>text </b> is inserted dynamically.";

        Literal1.Text = " <script language='javascript'>alert('你中彩了!'); <"+"/script>";
        if(radioEncode.Checked == true)
        {
         
            Literal1.Mode = LiteralMode.Encode;
        }
        if(radioPassthrough.Checked == true)
        {
            Literal1.Mode = LiteralMode.PassThrough;
        }
    }
</script>

<html>
<head runat="server">
</head>
<body>
    <form runat="server">
        <div>
            <br />
            <asp:RadioButton runat="server" GroupName="LiteralMode" Checked="True"
                Text="Encode" AutoPostBack="True" />
            <br />
            <asp:RadioButton runat="server" GroupName="LiteralMode" Text="PassThrough"
                AutoPostBack="True" />
            <br />
            <br />
            <asp:Literal runat="server"> </asp:Literal>&nbsp; </div>
    </form>
</body>
</html>

当你选择PassThrough时跳出窗体,选择Encode时原样输出

在页上显示静态内容并允许您以编程方式对其进行操作。

<asp:Literal
      EnableTheming="True|False"
      EnableViewState="True|False"
     
      Mode="Transform|PassThrough|Encode"
      event handler"
      event handler"
      event handler"
      event handler"
      event handler"
      event handler"
      runat="server"
      SkinID="string"
      Text="string"
      Visible="True|False"
/>使用 Literal 控件在 Web 窗体页上显示静态文本。与 Label控件不同的是,Literal 不允许您向其内容应用样式。文本在 Literal 控件中显示之前并非 HTML 编码形式。这使得可以在文本中的 HTML 标记中嵌入脚本。如果控件的值是由用户输入的,请务必要对输入值进行验证以防止出现安全漏洞。 示例下面的示例演示如何使用 Literal 控件显示静态文本。 <%@ Page Language="C#" AutoEventWireup="True" %>

<html>
<head>

  <script runat="server">

      void ButtonClick(Object sender, EventArgs e)
      {
        Literal1.Text="Welcome to ASP.NET!!";
      }

  </script>

</head>
<body>
  <form runat="server">
      <h3>Literal Example </h3>

      <asp:Literal
          Text="Hello World!!"
          runat="server"/>

      <br> <br>

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

  </form>
</body>
</html>


引文来源  ASP.NET Literal控件用法_华为金山网

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值