昨天研究URL的傳值問題時,我就在思考HtmlEncode和UrlEncode的用法區別是什麼,查了些資料,它們的區別是這樣的。(我們接著昨天的例子來描述這個問題,大家可以參看下我的前一篇“URL的傳遞字符串問題小研究”)。
HtmlEncode 方法對指定的字符串應用 Html 編碼。
語法
Server.HtmlEncode( string )
參數
string
指定要編碼的字符串。
1.1示例
string name = "DK51700中繼站";
注:(我們為了簡單,去掉了昨天的例子裡字符串中的“+”)
Code
string url;
string name;
url = "Default2.ASPx?Name=";
name = "DK51700中繼站";
HyperLink1.NavigateUrl = url + Server.HtmlEncode(name);
1.2頁面源代碼中
<form name="form1" method="post" action="Default2.ASPx?Name=DK51700%u4e2d%u7ee7%u7ad9" id="form1">
1.3地址欄中
http://localhost:8690/WebSite1/Default2.ASPx?Name=DK51700中繼站
1.4 HtmlDecode後輸出
DK51700中繼站
注意 我們看到地址欄中的Name的內容,好像沒變化。我們加個Html的符號呢?
2.1示例
string name = "DK51700中繼站<p>";
2.2頁面源代碼中
<form name="form1" method="post" action="Default2.ASPx?Name=DK51700%u4e2d%u7ee7%u7ad9&lt%3bp&gt%3b" id="form1">
2.3地址欄中
http://localhost:8690/WebSite1/Default2.ASPx?Name=DK51700中繼站<p>
2.4 HtmlDecode後輸出
DK51700中繼站
們主要對比下兩者在地址欄中的不同“<p>” 結果就是把<>用Html表述了。恩,我們還注意到了字符串中的“<p>”不見了,為什麼?這又是個新問題了。