Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在ASP.NET MVC中使用HTML标记转换字符串_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 在ASP.NET MVC中使用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

有没有一种方法可以在不更改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.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>
 }