加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 19:15:53 所属栏目:asp.Net 来源:网络整理
导读:我正在ASP.NET中编写一个小型模板系统,以允许用户添加内容.例如,用户可以输入字符串(变量类型为字符串). topHeader[x] = "They think it's all over. It is now!"; 但是,需要进行一项更改是在此内容中添加一些基本HTML标签的功能,因此可以进行以下操作 topHe
我正在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特殊字符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读