在View做HTML解碼(HtmlDecode)

在開始之前先來聊聊編碼(HtmlEncode)與解碼(HtmlDecode)的概念

什麼是HTML編碼?

所謂的編碼就是我想把HTML或JS相關Tag透過GET或POST方式傳送

並且寫入資料庫,如果我們沒有事先做編碼,在.NET上將會出現XSS錯誤(想了解在Controller如何處理XSS錯誤可以參考這篇文章:https://dotblogs.com.tw/PoNan/2020/08/25/170034)

當編碼完之後,Tag就會如同一般文字可以傳送或寫入資料庫

什麼是HTML解碼?

解碼就又跟編碼是相反的概念,我從資料庫獲取資料透過View展示給Client端,如果沒有解碼

Client端將會看到<br/><hr/><p>...等標籤,而不會顯示正確的格式


聊完概念後,我們來看一下解碼前與解碼後的差異

未解碼

解碼後(得到正確的格式)

解碼有很多種方式,我用最簡單又能符合需求的方式

程式碼

@Html.Raw(Model.欄位名稱)//一行完成解碼,So Easy