我使用Server.HTMLEncode編碼我的HTML。ASP.NET Server.HtmlEncode限制
我注意到它不到風度逃避單引號,如果你在你的HTML中使用單引號,例如這是一個限制 <input type='text' .... />
(我檢查過這是有效的XHTML)。
是否有任何其他限制或要注意的事情有關Server.HTMLEncode,特別是無效的XHTML,此方法不到風度應對任何字符?
我使用Server.HTMLEncode編碼我的HTML。ASP.NET Server.HtmlEncode限制
我注意到它不到風度逃避單引號,如果你在你的HTML中使用單引號,例如這是一個限制 <input type='text' .... />
(我檢查過這是有效的XHTML)。
是否有任何其他限制或要注意的事情有關Server.HTMLEncode,特別是無效的XHTML,此方法不到風度應對任何字符?
MSDN says Server.HTMLEncode僅執行以下操作:
我測試過的HTMLEncode對這裏listsed http://www.ascii.cl/htmlcodes.htm
看來它的所有字符代碼轉義字符最多,和那些它不到風度逃避不打破XHTML遵守
HTML編碼應確保字符串中所有不符合HTML的字符都轉換爲其等效實體。正如您發現的那樣,單引號等在(X)HTML中完全有效,並且不需要編碼。如果你需要這個,你可以使用UrlEncode/UrlDecode,或者使用Replace來滾動你自己的函數。
我來到這裏尋找相同的答案。在我的情況下,解決辦法是在你周圍的HTML實際...用雙引號..
要包括單引號編碼,我使用(在VB.Net):
Server.HTMLEncode("Here's a string with a single quote").Replace("'", "'")