构建包含JavaScript代码的C#字符串

时间:2014-01-18 23:00:12

标签: c# javascript string

我有一个非常简单的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

1 个答案:

答案 0 :(得分:4)

我做了一些实验。

如果我用“Double Acute Accent”替换代码中的双引号之一,我会不断出现新行。

enter image description here

所以你需要确保你所有的双引号都是标准类型,而不是'Double Acute Accent'或'Double Grave Accent'

当您从某些地方(例如富文本编辑器或网站)复制粘贴代码时,它们会进入。

尝试删除双引号并在IDE中重新输入。

,尝试从stackoverflow问题中复制代码(就像我一样)并将其粘贴到IDE中的“本身”上。这可能会用正常的双引号代替奇怪的双引号。