Asp.net mvc 在ASP.NET MVC中使用HTML标记转换字符串
有没有一种方法可以在不更改Razor代码的情况下传递带有HTML标记的字符串 场景(当前代码):Asp.net mvc 在ASP.NET MVC中使用HTML标记转换字符串,asp.net-mvc,Asp.net Mvc,有没有一种方法可以在不更改Razor代码的情况下传递带有HTML标记的字符串 场景(当前代码): string msg=”“; 输出: <a href='http://www.google.com/html/'>Google</a> on the page. 页面上的。 目标结果: 链接到Google,但不更改代码“@msg”。您可以使用 HtmlString msg = new HtmlString("<a href='http://www.google.c
string msg=”“;
输出:
<a href='http://www.google.com/html/'>Google</a> on the page.
页面上的。
目标结果:
链接到Google,但不更改代码“@msg”。您可以使用
HtmlString msg = new HtmlString("<a href='http://www.google.com/html/'>Google</a>");
HtmlString msg=新的HtmlString(“”);
而不是
string msg = "<a href='http://www.google.com/html/'>Google</a>";
string msg=”“;
嘿,您可以将razor代码编辑为:
@{
HtmlString msg = new HtmlString("Hello <br> Hello Again");
<p style="text-align:justify;"> @msg </p>
}
@{
HtmlString msg=新HtmlString(“你好
再次你好”);
@msg
}
很简单试试@Html.Raw(HttpUtility.HtmlDecode(msg)) 试试
@Html.Raw(HttpUtility.HtmlDecode(msg))代码>这改变了Razor的代码,但是谢谢。@Amogh:没有必要先解码。事实上,除非您知道您正在处理编码的HTML字符串,否则这很可能会导致无效的HTML,如&代码>,应该按原样输出到页面,结果将是无效的&
。我道歉,我需要进一步澄清。由于我无法更改Razor代码,是否有方法构造字符串的内容,以便它将其内容转换为HTML标记/元素。您可以在控制器中使用HtmlString
,这样您就不会接触Razor代码。很抱歉,这应该是我最后添加的内容-除了字符串“msg”内容之外,没有代码更改。没有Razor或任何.NET/MVC代码更改。从外部源(数据库)检索字符串值。
@{
HtmlString msg = new HtmlString("Hello <br> Hello Again");
<p style="text-align:justify;"> @msg </p>
}