asp.net中Literal與label的區別
一.Literal Web 伺服器控制元件概述(摘於MSDN)
可以使用 Literal Web 伺服器控制元件作為頁面上其他內容的容器。Literal 最常用於向頁面中動態新增內容。
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>。當希望瀏覽器顯示而不解釋標記時,編碼將很有用。編碼對於安全也很有用,有助於防止在瀏覽器中執行惡意標記。顯示來自不受信任的源的字串時推薦使用此設定。
二.Literal和Label到底有什麼區別
label在經伺服器處理後轉換成客戶端網頁時候使用html的標記為住控制元件,而Literal則是什麼標記都不帶 。
例如:Label(label的客戶端程式碼)
李隆傑(Literal的客戶端程式碼)
literal不可以運用樣式。定位佈局比較麻煩。
在您要以程式設計方式設定文字而不新增額外的 HTML 標記時,可以向頁面新增 Literal Web 伺服器控制元件。在要向頁面動態新增文字而不新增任何不屬於該動態文字的元素時,Literal 控制元件非常有用。例如,您可以使用 Literal 控制元件來顯示從檔案或流中讀取的 HTML。
如果要顯示靜態文字,則可以使用 HTML 呈現它;不需要 Literal 控制元件。只有在需要以程式設計方式呈現文字時才使用 Literal 控制元件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-536500/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Javascript中“==”與“===”的區別JavaScript
- Python中 ‘==‘ 與‘is‘的區別Python
- 【ASP.net】Equals 和 == 的區別ASP.NET
- Java中(==)與equals的區別Java
- ASP.NET Core中GetService()和GetRequiredService()之間的區別ASP.NETUI
- js中 let 與 var 的區別JS
- vue中sass與SCSS的區別VueCSS
- js中!和!!的區別與用法JS
- JavaScript 中substr與 substring 的區別JavaScript
- Vue 中ref()與 reactive() 的區別VueReact
- spring中的FactoryBean與ObjectFactory的區別SpringBeanObject
- Java中類與物件的關係與區別Java物件
- vue中 lang="ts"與js的區別VueJS
- StringUtils類中isEmpty與isBlank的區別
- Vue的mode中 hash 與 history 的區別Vue
- ??與?:的區別
- Javascript中的label語句JavaScript
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- asp.net 中兩種不同方式檔案流下載的區別?ASP.NET
- JPA中PersistenceUnit與PersistenceContext區別Context
- devexpress中 cxTreeList 與 cxVirtualTreeList 區別devExpress
- Java中replace與replaceAll區別Java
- jQuery中onload與ready區別jQuery
- Node中Exports與module.export的使用與區別Export
- 資料庫中where與having的區別資料庫
- sklearn 中fit_tansform 與 transform的區別ORM
- Python中eval與exec的使用及區別Python
- Spring中ref local=""與ref bean=""的區別SpringBean
- springdatajpa 中get××方法與find××方法的區別Spring
- Linux中檔案與目錄的區別Linux
- table中cesllspacing與cellpadding的區別詳解padding
- CSS中 offsetLeft 與style.left 的區別CSS
- CSS中的class與id區別及用法CSS
- JavaScript中apply、call、bind的區別與用法JavaScriptAPP
- Nodejs中process.cwd()與__dirname的區別NodeJS
- jquery中append()方法與after()方法的區別jQueryAPP
- erc721中safeMint與mint的區別
- ScheduledExecutorService中scheduleAtFixedRate方法與scheduleWithFixedDelay方法的區別
- ES6中的let與var的區別