MVC Note (2) HtmlHelper Encode

摘要:MVC Note (2) HtmlHelper Encode

 ViewPage 內顯示回傳值,不論是用 ViewData 或 直接丟回自行寫好的物件,在看 MVC 相關的書籍

或教材時,大致是用 HtmlHelper.Encode() 方法包住回傳的值,當然在這裡指的只是單純顯示用。

 

上圖中我用同樣的資料來源作為示範,原始資料內有套用一些 CSS 的樣式,在使用 HtmlHelper.Encode

方法後,忠實地呈現出原來的資料面貌,但這個應該不是我們想要看的,於是我把 HtmlHelper.Encode

拿掉,呈現出來的才是我們想看到的。

 

HtmlHelper.Encode 備註指出 : 

如果空格或標點符號之類的字元被傳入 HTTP 資料流,則在處理這類字元時可能無法正確解譯。

URL 編碼方式會將 URL 中不允許的字元轉換成字元實體的對等用法。例如,當嵌入至文字區塊中

以便在 URL 中傳輸時,< 和 > 字元會編碼為 %3c 和 %3e。

,可想而知資料來源內含有一些符號時會以 Html 編碼的方式進行輸出,這也就是為什麼包裝樣式的文字輸出時

,連同樣式也變成文字一併輸出了。

 

題外話 : 或許這有可能是為了防範 XSS 

===================

大家好  , 我叫芋宅宅

我很菜 , 請各位前輩指教