亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET中Literal與Label的區別是什么

發布時間:2021-01-19 16:56:58 來源:億速云 閱讀:186 作者:Leah 欄目:開發技術

ASP.NET中Literal與Label的區別是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

一、方案和背景

Literal 控件表示用于向頁面添加內容的幾個選項之一。對于靜態內容,無需使用容器,可以將標記作為 HTML 直接添加到頁面中。但是,如果要動態添加內容,則必須將內容添加到容器中。典型的容器有 Label 控件、Literal 控件、Panel 控件和 PlaceHolder 控件。

Literal 控件與 Label 控件的區別在于 Literal 控件不向文本中添加任何 HTML 元素。(Label 控件呈現一個 span 元素。)因此,Literal 控件不支持包括位置屬性在內的任何樣式屬性。但是,Literal 控件允許指定是否對內容進行編碼。

Panel 和 PlaceHolder 控件呈現為 div 元素,這將在頁面中創建離散塊,與 Label 和 Literal 控件進行內嵌呈現的方式不同。

通常情況下,當希望文本和控件直接呈現在頁面中而不使用任何附加標記時,可使用 Literal 控件。

在 Literal 控件中編碼內容

Literal 控件支持 Mode 屬性,該屬性用于指定控件對您所添加的標記的處理方式。可以將 Mode 屬性設置為以下值:

·Transform. 將對添加到控件中的任何標記進行轉換,以適應請求瀏覽器的協議。如果向使用 HTML 外的其他協議的移動設備呈現內容,此設置非常有用。

·PassThrough. 添加到控件中的任何標記都將按原樣呈現在瀏覽器中。

·Encode. 將使用 HtmlEncode 方法對添加到控件中的任何標記進行編碼,這會將 HTML 編碼轉換為其文本表示形式。例如,<b> 標記將呈現為 &lt;b&gt;。當希望瀏覽器顯示而不解釋標記時,編碼將很有用。編碼對于安全也很有用,有助于防止在瀏覽器中執行惡意標記。顯示來自不受信任的源的字符串時推薦使用此設置。

二、Literal和Label到底有什么區別

  label在經服務器處理后轉換成客戶端網頁時候使用html的<span>標記為住控件,而Literal則是什么標記都不帶 。

  例如:<span id="Label1">Label</span>(label的客戶端代碼)
        <b>億速云</b>(Literal的客戶端代碼)

  literal不可以運用樣式。定位布局比較麻煩。在您要以編程方式設置文本而不添加額外的 HTML 標記時,可以向頁面添加 Literal Web 服務器控件。在要向頁面動態添加文本而不添加任何不屬于該動態文本的元素時,Literal 控件非常有用。例如,您可以使用Literal 控件來顯示從文件或流中讀取的 HTML。如果要顯示靜態文本,則可以使用 HTML 呈現它;不需要 Literal 控件。只有在需要以編程方式呈現文本時才使用 Literal 控件。

三、如何:向 Web 窗體頁添加 Literal Web 服務器控件

  在您要以編程方式設置文本而不添加額外的 HTML 標記時,可以向 Web 窗體頁添加 Literal Web 服務器控件。在要向頁面動態添加文本而不添加任何不屬于該動態文本的元素時,Literal 控件是一種很有用的方式。例如,您可以使用 Literal 控件來顯示您從一個文件或者流中讀取的 HTML。

  說明: 如果想顯示靜態文本,可以使用 HTML 呈現它;不需要 Literal 控件。只有在需要動態更改服務器代碼中的內容時才使用 Literal 控件。

  1、從工具箱的“標準”選項卡中,將 Literal 控件拖動到頁面上。

  2、或者,在“屬性”窗口的“行為”類別下,將 Mode 屬性設置為 Transform、PassThrough 或者 Encode。Mode 屬性指定該控件如何處理向其添加的任何標記。下面的示例顯示一個簡單網頁,該頁在運行時顯示標題新聞。該頁的主體(包括 Literal 控件)類似于下面的代碼。

復制代碼 代碼如下:


<body>
  <form runat="server">
    <h2><asp:Literal id="Headline" runat=server mode="PassThrough"/></h2>
  </form>
</body>

  3、將代碼添加到頁面上以在運行時設置控件的 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.";
        if (radioEncode.Checked == true)
        {
            Literal1.Mode = LiteralMode.Encode;
        }
        if(radioPassthrough.Checked == true)
        {
            Literal1.Mode = LiteralMode.PassThrough;
        }
    }
</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 類

在網頁上保留顯示靜態文本的位置。

  使用 System.Web.UI.WebControls.Literal 控件在網頁上保留顯示文本的位置。Literal 控件與 Label 控件類似,但 Literal 控件不允許對所顯示的文本應用樣式。可以通過設置 Text 屬性,以編程方式控制在控件中顯示的文本。

  警告: 此控件可用來顯示用戶輸入,而該輸入可能包含惡意的客戶端腳本。在應用程序中顯示從客戶端發送來的任何信息之前,請檢查它們是否包含可執行腳本、SQL 語句或其他代碼。ASP.NET 提供輸入請求驗證功能以阻止用戶輸入中的腳本和 HTML。還提供驗證服務器控件以判斷用戶輸入。


下面的示例說明如何使用 Literal 控件顯示靜態文本。

  說明: 下面的示例使用單文件代碼模型,如果將它直接復制到代碼隱藏文件中,則它可能無法正常工作。此代碼示例必須被復制到具有 .aspx 擴展名的空文本文件中。

復制代碼 代碼如下:


<%@ Page Language="C#" AutoEventWireup="True" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html>
<head>
    <title>Literal Example</title>
<script runat="server">
      void ButtonClick(Object sender, EventArgs e)
      {
         Literal1.Text="Welcome to ASP.NET!!";
      }
   </script>
</head>
<body>
   <form id="form1" runat="server">
      <h4>Literal Example</h4>
      <asp:Literal id="Literal1"
           Text="Hello World!!"
           runat="server"/>
      <br /><br />
      <asp:Button id="Button1"
           Text="Change Literal Text"
           OnClick="ButtonClick"
           runat="server"/>
   </form>
</body>
</html>

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台北县| 祥云县| 锦屏县| 阳泉市| 邵武市| 无为县| 客服| 子洲县| 沾益县| 万州区| 闽清县| 临海市| 阿克陶县| 绵阳市| 江都市| 延安市| 义马市| 嵊州市| 德昌县| 宁晋县| 东海县| 正阳县| 黔江区| 保定市| 滁州市| 泰兴市| 股票| 永清县| 怀来县| 定远县| 广灵县| 高雄县| 阿克陶县| 曲松县| 玉溪市| 遂昌县| 太仆寺旗| 伊通| 绥阳县| 德清县| 宁南县|