我有一个非常简单的C#函数,它构建一个将写入html文档的字符串 - 该字符串包含一旦构建完最终页面就会被浏览器执行的javascript代码。我收到错误 - 常量中的新行。我已经完成了1000多次此类事情。我没有尝试过使用StringBuilder类 - 字符串应该也能正常工作。我尝试将单引号转换为引号(全部用'/替换) - 没有运气。我错过了什么?
这是功能:
public string TranslateButtons()
{
string html = "";
html += "<div style='float:right;'>";
html += "<div id='translate-this'><a style='width:180px; height:18px; display:block;' class='translate-this-button' href='http://www.translatecompany.com/'>Translate Company</a></div>";
html += "<script type='text/javascript' src='http://x.translateth.is/translate-this.js'></script>";
html += "<script type='text/javascript'>";
html += "TranslateThis();";
html += "</script>";
html += "</div>";
return html;
}
包含<script>
或</script>
的违规行 - 我甚至尝试逐行删除第1行 - 如果我在脚本标记中包含任何行,则会收到错误。
运行:IIS 8.0 - Windows 8 - .NET Framework 4.0
答案 0 :(得分:4)
我做了一些实验。
如果我用“Double Acute Accent”替换代码中的双引号之一,我会不断出现新行。
所以你需要确保你所有的双引号都是标准类型,而不是'Double Acute Accent'或'Double Grave Accent'
当您从某些地方(例如富文本编辑器或网站)复制粘贴代码时,它们会进入。
尝试删除双引号并在IDE中重新输入。
或,尝试从stackoverflow问题中复制代码(就像我一样)并将其粘贴到IDE中的“本身”上。这可能会用正常的双引号代替奇怪的双引号。