Asp.net
在 ASP.NET Razor 中格式化字元串
我目前正在用 ASP.NET 編寫一個小型模板系統,以允許使用者添加內容。例如,使用者可以輸入字元串(變數類型為字元串)。
topHeader[x] = "They think it's all over. It is now!";但是,需要進行的一項更改是能夠在此內容中添加一些基本的 HTML 標記,因此可以執行以下操作
topHeader[x] = "They think it's all over. <strong>It is now!</strong>";或者
topHeader[x] = "They think it's all over. <a title="Football News" href="URL">It is now!</a>";如果您現在將這些內容添加到字元串中,它們不會被格式化為 HTML,但我想以某種方式轉義它們以便它們可以。當然,我已經在 Internet 上尋找答案,但由於 Razor 相當新,所以沒有太多可以幫助我的方法。
任何人都知道如何做到這一點?
您需要創建一個包含
IHtmlString您的 HTML 原始碼的實現。Razor 計劃有一個輔助方法來為您執行此操作,但是,AFAIK,它還沒有,所以我相信您需要創建自己的類來實現介面並從該
GetHtmlString()方法返回您的 HTML。編輯:您可以使用該
HtmlString課程。您可以將
topHeader字典更改為保存IHtmlStrings 而不是Strings,或者您可以保留程式碼原樣,但將其包裝在HtmlStringRazor 視圖中:<tag>@new HtmlString(topHeader[x])</tag>確保正確轉義任何非 HTML 特殊字元。