我目前正在 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>";
or
topHeader[x] = "They think it's all over. <a title="Football News" href="URL">It is now!</a>";
如果你现在将这些东西添加到字符串中,它们不会被格式化为 HTML,但我想以某种方式转义它们,以便它们可以。当然,我在互联网上寻找答案,但由于 Razor 相当新,所以没有太多可以帮助我的。
有人知道如何做到这一点吗?
您需要创建一个IHtmlString http://msdn.microsoft.com/en-us/library/system.web.ihtmlstring.aspx保存您的 HTML 源代码的实现。
Razor 计划有一个辅助方法来为您执行此操作,但是,据我所知,它还没有,所以我相信您需要创建自己的类来实现该接口并从GetHtmlString()
方法。
EDIT: 您可以使用HtmlString
class.
您可以更改您的topHeader
字典要持有IHtmlString
s 而不是String
s,或者您可以按原样保留代码,但将其包装在HtmlString
在剃刀视图中:
<tag>@new HtmlString(topHeader[x])</tag>
确保正确转义所有非 HTML 特殊字符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)