在ASP.NET Razor中格式化字符串

前端之家收集整理的这篇文章主要介绍了在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,但是我想以某种方式逃避它们,以便它们可以.当然,我已经看了互联网的答案,但由于剃须刀是相当新的,没有什么可以帮助我.

任何人都有这样做的想法?

解决方法

您需要创建一个持有HTML源的 IHtmlString实现.

Razor计划有一个帮忙的方法为你做这个,但是,AFAIK还没有,所以我相信你需要创建自己的类实现接口,并从GetHtmlString()方法返回你的HTML.
编辑:您可以使用HtmlString类.

您可以将topHeader字典更改为保存IHtmlStrings而不是字符串,也可以将代码留下,但将其包装在Razor视图中的HtmlString中:

<tag>@new HtmlString(topHeader[x])</tag>

确保正确地转义任何非HTML特殊字符.

原文链接:https://www.f2er.com/aspnet/246569.html

猜你在找的asp.Net相关文章