我正在使用第三方库来显示工具提示,如下所示:
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 :(
如何在工具提示中转义html所需的引号,这样就不会破坏函数调用?
答案 0 :(得分:2)
将"
的任何实例替换为"
,如下所示:
test.Replace( "\"", """ )
答案 1 :(得分:2)
这是Microsoft Anti-Xss Library
的完美用法有了它,你可以调用JavaScriptEncode函数,它将构建一个这样的字符串:
Microsoft.Security.Application.AntiXss.JavaScriptEncode("ab'c\"d")
// 'ab\x27c\x22d'
请注意它包含引号。
你会接受,HTML编码,然后将它直接放到你的括号中。
这样的事情:
string tooltip = "<span style='color:red;'>test</span>";
output.Write("onmouseover=\"Tip(" + AntiXss.JavaScriptEncode(test) + ");\""); // working :)