這節我們學習三個控件,他們分別是:HiddenField,Literal,LinkButton
我們這裡的演示用LinkButton ,因為這個控件在用法上和BUTTON 差不多,就長相有點希奇,也許是控件們性開放,HyperLink和Button整,結果就有了LinkButton ,可你別說,他雖然這樣名不正言不順的出來了,可他的貢獻是很不錯的,所以,得表揚!
我們是首先學習HiddenField ,他提供了一種方式實現在頁面存儲信息,並且與其他的控件信息用法差不多,但是他不顯示出來,說到這,順便說下,不要以為他不顯示就怎麼樣了,你仍然不要往裡面存放類似密碼等敏感訊息,因為在頁面HTML來源中是可以看見的.
LinkButton
接下來我們說Literal: 這個控制我們用得不多,甚至是很少,但是既然微軟作出來了,我們就有義務說說.免得被人說我不厚道.何況這也是2.0才出來的一個新玩意,哈哈!!!
我懶得打字了,複製MSDN 上的東西了
Literal 控製表示用於向頁面添加內容的幾個選項之一。對於靜態內容,無需使用容器,可以將標記作為HTML 直接新增到頁面中。但是,如果要動態新增內容,則必須將內容新增至容器。典型的容器有Label控制、Literal 控制、Panel控制和Placeholder 控制。
Literal 控制項與Label 控制項的差異在於Literal 控制項不會在文字中新增任何HTML 元素。 (Label 控制項呈現一個span 元素。)因此,Literal 控制項不支援包括位置屬性在內的任何樣式屬性。但是,Literal 控制項允許指定是否對內容編碼。
Panel 和Placeholder 控制項呈現為div 元素,這將在頁面中建立離散區塊,與Label 和Literal 控制項進行內嵌呈現的方式不同。
通常情況下,當希望文字和控制項直接呈現在頁面中而不使用任何附加標記時,可使用Literal 控制項。
Literal 控制項支援Mode 屬性,該屬性用於指定控制項對您所新增的標記的處理方式。可以將Mode 屬性設定為以下值:
Transform 。新增至控制項中的任何標記都會進行轉換,以適應請求瀏覽器的協定。如果向使用HTML 外的其他協定的行動裝置呈現內容,此設定非常有用。
PassThrough 。新增到控制項中的任何標記都會按原樣呈現在瀏覽器中。
Encode 。新增到控制項中的任何標記都會使用HtmlEncode 方法進行編碼,該方法將把HTML 編碼轉換為其文字表示形式。例如,<b> 標記將呈現為<b>。當希望瀏覽器顯示而不解釋標記時,編碼將很有用。編碼對於安全性也很有用,有助於防止在瀏覽器中執行惡意標記,顯示來自不受信任的來源的字串時建議使用此設定。
使用了Transform模式
-------------------------------------------------- ------------------------------
[fdsf](desf);"hahah"
使用了PassThrough 模式
-------------------------------------------------- ------------------------------
[fdsf](desf);"hahah"
使用了Encode 模式
<hr><i>[fdsf](desf);"hahah"<br><p></i>
這是正常模式的Label
-------------------------------------------------- ------------------------------
[fdsf](desf);"hahah"
這是使用了Server.HtmlEncode方法解碼的方式
<hr><i>[fdsf](desf);"hahah"<br><p></i>