在 ASP.NET MVC 中使用 HTML 标签转换字符串

问题描述 投票:0回答:4

有没有一种方法可以在不更改 Razor 代码的情况下传递带有 HTML 标签的字符串?

场景(当前代码):

string msg = "<a href='http://www.google.com/html/'>Google</a>";

输出:

<a href='http://www.google.com/html/'>Google</a> on the page.

目标结果:

无需更改代码“@msg”即可链接至 Google。

asp.net-mvc
4个回答
18
投票

尝试@Html.Raw(HttpUtility.HtmlDecode(msg));


4
投票

你可以尝试使用

HtmlString msg = new HtmlString("<a href='http://www.google.com/html/'>Google</a>");

而不是

string msg = "<a href='http://www.google.com/html/'>Google</a>";

4
投票

嘿,您可以将剃刀代码编辑为:

@{

     HtmlString msg = new HtmlString("Hello <br> Hello Again");
     <p style="text-align:justify;"> @msg  </p>
 } 

很简单


0
投票

我将其放在这里,以防将来节省某人的时间 - 使用 Html.Raw 似乎对 .Net 8 上的剃刀组件没有帮助。 使用转换为 MarkupString 确实解决了问题

<p>Your text msg: @((MarkupString) msg) </p>
© www.soinside.com 2019 - 2024. All rights reserved.