Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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
C# 处理由c生成的html中的嵌套引号#_C#_Html_Formatting_Quotes - Fatal编程技术网

C# 处理由c生成的html中的嵌套引号#

C# 处理由c生成的html中的嵌套引号#,c#,html,formatting,quotes,C#,Html,Formatting,Quotes,我正在使用第三方库显示工具提示,如下所示: string tooltip = "test"; output.Write("onmouseover='Tip(\"" + test + "\");'"); // work fine :) 我在以下情况下遇到问题,我需要引号来进行格式设置: string tooltip = "<span style='color:red;'>test</span>"; output.Write("onmouseover='Tip(\"" +

我正在使用第三方库显示工具提示,如下所示:

string tooltip = "test";
output.Write("onmouseover='Tip(\"" + test + "\");'");  // work fine :)
我在以下情况下遇到问题,我需要引号来进行格式设置:

string tooltip = "<span style='color:red;'>test</span>";
output.Write("onmouseover='Tip(\"" + test + "\");'");  // no working :(
string tooltip=“test”;
output.Write(“onmouseover='Tip(\“”+test+\“”;')”)//禁止工作:(

如何在工具提示中转义html所需的引号,使其不会中断函数调用?

的任何实例替换为
,如下所示:

test.Replace( "\"", "&quot;" )

这是微软的完美应用

使用它,您可以调用JavaScriptEncode函数,该函数将构建如下字符串:

Microsoft.Security.Application.AntiXss.JavaScriptEncode("ab'c\"d")
// 'ab\x27c\x22d'
string tooltip = "<span style='color:red;'>test</span>";
output.Write("onmouseover=\"Tip(" + AntiXss.JavaScriptEncode(test) + ");\"");  // working :)
请注意,它包括引号

你可以把它用HTML编码,然后直接把它放到括号里

大概是这样的:

Microsoft.Security.Application.AntiXss.JavaScriptEncode("ab'c\"d")
// 'ab\x27c\x22d'
string tooltip = "<span style='color:red;'>test</span>";
output.Write("onmouseover=\"Tip(" + AntiXss.JavaScriptEncode(test) + ");\"");  // working :)
string tooltip=“test”;
output.Write(“onmouseover=\”提示(“+AntiXss.JavaScriptEncode(test)+”);\”;//工作:)

这仍然会导致XSS攻击。我认为您错误地认为字符串测试来自最终用户,这不是我在上面的示例中看到的。对我来说,很明显,他控制着工具提示。