一、方案和背景
Literal 控件表示用于向頁面添加內(nèi)容的幾個(gè)選項(xiàng)之一。對于靜態(tài)內(nèi)容,無需使用容器,可以將標(biāo)記作為 HTML 直接添加到頁面中。但是,如果要?jiǎng)討B(tài)添加內(nèi)容,則必須將內(nèi)容添加到容器中。典型的容器有 Label 控件、Literal 控件、Panel 控件和 PlaceHolder 控件。
Literal 控件與 Label 控件的區(qū)別在于 Literal 控件不向文本中添加任何 HTML 元素。(Label 控件呈現(xiàn)一個(gè) span 元素。)因此,Literal 控件不支持包括位置屬性在內(nèi)的任何樣式屬性。但是,Literal 控件允許指定是否對內(nèi)容進(jìn)行編碼。
Panel 和 PlaceHolder 控件呈現(xiàn)為 div 元素,這將在頁面中創(chuàng)建離散塊,與 Label 和 Literal 控件進(jìn)行內(nèi)嵌呈現(xiàn)的方式不同。
通常情況下,當(dāng)希望文本和控件直接呈現(xiàn)在頁面中而不使用任何附加標(biāo)記時(shí),可使用 Literal 控件。
在 Literal 控件中編碼內(nèi)容
Literal 控件支持 Mode 屬性,該屬性用于指定控件對您所添加的標(biāo)記的處理方式。可以將 Mode 屬性設(shè)置為以下值:
·Transform. 將對添加到控件中的任何標(biāo)記進(jìn)行轉(zhuǎn)換,以適應(yīng)請求瀏覽器的協(xié)議。如果向使用 HTML 外的其他協(xié)議的移動(dòng)設(shè)備呈現(xiàn)內(nèi)容,此設(shè)置非常有用。
·PassThrough. 添加到控件中的任何標(biāo)記都將按原樣呈現(xiàn)在瀏覽器中。
·Encode. 將使用 HtmlEncode 方法對添加到控件中的任何標(biāo)記進(jìn)行編碼,這會(huì)將 HTML 編碼轉(zhuǎn)換為其文本表示形式。例如,<b> 標(biāo)記將呈現(xiàn)為 <b>。當(dāng)希望瀏覽器顯示而不解釋標(biāo)記時(shí),編碼將很有用。編碼對于安全也很有用,有助于防止在瀏覽器中執(zhí)行惡意標(biāo)記。顯示來自不受信任的源的字符串時(shí)推薦使用此設(shè)置。
二、Literal和Label到底有什么區(qū)別
label在經(jīng)服務(wù)器處理后轉(zhuǎn)換成客戶端網(wǎng)頁時(shí)候使用html的<span>標(biāo)記為住控件,而Literal則是什么標(biāo)記都不帶 。
例如:<span id="Label1">Label</span>(label的客戶端代碼)
<b>錯(cuò)新站長站</b>(Literal的客戶端代碼)
literal不可以運(yùn)用樣式。定位布局比較麻煩。在您要以編程方式設(shè)置文本而不添加額外的 HTML 標(biāo)記時(shí),可以向頁面添加 Literal Web 服務(wù)器控件。在要向頁面動(dòng)態(tài)添加文本而不添加任何不屬于該動(dòng)態(tài)文本的元素時(shí),Literal 控件非常有用。例如,您可以使用Literal 控件來顯示從文件或流中讀取的 HTML。如果要顯示靜態(tài)文本,則可以使用 HTML 呈現(xiàn)它;不需要 Literal 控件。只有在需要以編程方式呈現(xiàn)文本時(shí)才使用 Literal 控件。
三、如何:向 Web 窗體頁添加 Literal Web 服務(wù)器控件
在您要以編程方式設(shè)置文本而不添加額外的 HTML 標(biāo)記時(shí),可以向 Web 窗體頁添加 Literal Web 服務(wù)器控件。在要向頁面動(dòng)態(tài)添加文本而不添加任何不屬于該動(dòng)態(tài)文本的元素時(shí),Literal 控件是一種很有用的方式。例如,您可以使用 Literal 控件來顯示您從一個(gè)文件或者流中讀取的 HTML。
新聞熱點(diǎn)
疑難解答
圖片精選