Mik*_*e B 9 html asp.net string razor
我目前正在ASP.NET中编写一个小模板系统,以允许用户添加内容.例如,用户可以输入字符串(变量类型是字符串).
topHeader[x] = "They think it's all over. It is now!";
Run Code Online (Sandbox Code Playgroud)
但是,需要进行的一项更改是能够在此内容中添加一些基本HTML标记,因此可以执行以下操作
topHeader[x] = "They think it's all over. <strong>It is now!</strong>";
Run Code Online (Sandbox Code Playgroud)
要么
topHeader[x] = "They think it's all over. <a title="Football News" href="URL">It is now!</a>";
Run Code Online (Sandbox Code Playgroud)
如果你把这些东西添加到字符串中现在它们没有格式化为HTML,但我想以某种方式逃避它们以便它们可以.当然,我已经在互联网上寻找答案,但由于Razor相当新,所以没有太多可以帮助我.
任何人都知道如何做到这一点?
您需要创建一个包含IHtmlString
HTML源代码的实现.
Razor计划有一个帮助方法为你做这个,但是,AFAIK,它还没有,所以我相信你需要创建自己的类来实现接口并从GetHtmlString()
方法返回你的HTML .
编辑:您可以使用该HtmlString
课程.
您可以将topHeader
字典更改为IHtmlString
s而不是String
s,或者可以保留代码,但将其包装HtmlString
在Razor视图中:
<tag>@new HtmlString(topHeader[x])</tag>
Run Code Online (Sandbox Code Playgroud)
确保正确转义任何非HTML特殊字符.
他们添加的辅助方法称为Html.Raw(),它更清晰.
这是一个例子:
@Html.Raw("Hello <a>World</a>!")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9410 次 |
最近记录: |