如何将 C# 循环中的 html 编辑文本转换为页面上的完全格式化文本
Posted
技术标签:
【中文标题】如何将 C# 循环中的 html 编辑文本转换为页面上的完全格式化文本【英文标题】:how do i convert html edited text in C# loop to fully formatted text on the page 【发布时间】:2021-12-10 02:46:29 【问题描述】:我有一个字符串列表,我想在 cshtml 页面(Asp.net C#)中显示,问题是我不想在我的文本中包含 html 标记,我想在我运行时在页面上显示格式化的文本网站。
输出为:<p><strong>some </strong><i>data</i></p>
它应该是:一些 数据
这是cshtml页面中的C#代码:
@foreach (var item in Model)
<div>@item.content</div>
【问题讨论】:
文档中指出的code
标签不起作用? developer.mozilla.org/en-US/docs/Web/HTML/Element/code
【参考方案1】:
您需要使用Html.Raw()
,以便它在HTML 中呈现为IHtmlString
,而不是string
。
<div>@Html.Raw(item.content)</div>
渲染的 HTML
<div><p><strong>some </strong><i>data</i></p></div>
【讨论】:
感激不尽,谢谢。【参考方案2】:您可以使用正则表达式将 HTML 代码和标签替换为空文本。 Click here to verify regex
@foreach (var item in Model)
<div>@Regex.Replace(item.content, "<.*?>", String.Empty)</div>
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于如何将 C# 循环中的 html 编辑文本转换为页面上的完全格式化文本的主要内容,如果未能解决你的问题,请参考以下文章
c#如何使一个文本框变为不可编辑?但是又可以复制里面的数据?