C#String.Format将转义引号替换为&;引用;
我正试图使用String.format函数格式化字符串,但我的双引号一直被HTML安全版本的替换(C#String.Format将转义引号替换为&;引用;,c#,string,format,escaping,quotes,C#,String,Format,Escaping,Quotes,我正试图使用String.format函数格式化字符串,但我的双引号一直被HTML安全版本的替换(“)。 不用说,这不是我所期望的结果 我当前的代码如下所示 string String= String.Format("{0}: {{ name: \"{1}\"}}", node.Category, node.Name); // Output ==> SomeCategory: { name: "SomeName" } 我试着用输出中的实际引号替换“,但
“
)。
不用说,这不是我所期望的结果
我当前的代码如下所示
string String= String.Format("{0}: {{ name: \"{1}\"}}", node.Category, node.Name);
// Output ==> SomeCategory: { name: "SomeName" }
我试着用输出中的实际引号替换“
,但也不起作用。有什么巫术可以解决这个问题吗提前谢谢 尝试使用HTML解码和编码 这样你就可以用实际的引号把它们转过来 HttpUtility.HtmlDecode 资料来源:
Stackoverflow source:这不是由
String.Format()
引起的,更可能是由您用来查看数据的任何内容或在查看数据之前发生的某些事情引起的
从您的格式字符串判断,您似乎正在尝试创建一个JSON字符串以返回(可能来自服务)。有一个很大的机会,一些东西将HTML编码您的字符串的方式,以客户端。问题就在那里,而不是字符串格式,因此尝试在那里修复它是不起作用的。请显示一些有关此问题的代码,因为问题不是由
format
调用引起的。此字符串放在使用Razor的ViewBag传递的列表中。在视图中,我遍历列表并显示字符串。尝试使用@Html.Raw(…)
帮助程序来显示字符串。@Willem,正如您在回答中所评论的,我目前正在使用此选项。如果替换“
不起作用,这也不起作用。这将解释很多问题(因为我在任何其他StackOverflow问题中都找不到这个特殊问题,format函数不应该替换特殊字符)。问题在于您已经提出的,view.Razor的显示将自动对HTML进行编码。使用HTML.Raw()函数将禁用此功能,并且不会替换引号。