【问题标题】:chars like: ' or " in header script code become: ' or "头脚本代码中的字符如:'或“变为:'或”
【发布时间】:2010-10-28 22:05:44
【问题描述】:

我最近安装了 Visual-Web-Developer 10 并在其中打开我的旧 asp.net 3.5 解决方案 并将其转换为 asp.net 4 解决方案。 除了一个奇怪的问题外,一切都运行良好: 突然所有的字符都像:'或"在头脚本代码中变成:' or " 这使得我所有的 javascript 都不起作用并在我的所有解决方案页面中出错。

我尝试以不同的编码保存页面,但没有帮助: 这是发生的事情的示例: 在服务器端代码中:

HtmlGenericControl Include = new HtmlGenericControl("script");
    Include.Attributes.Add("type", "text/JavaScript");
    Include.InnerText = "browser = \"ie\"; browserVer = '8'; bodyDir = 'rtl'; adverID = '123'; webKind = 'adver';";
    Page.Header.Controls.Add(Include);
    Include.Dispose();

在用户端我得到:

<script type="text/JavaScript">browser = &quot;ie&quot;; browserVer = &#39;8&#39;; bodyDir = &#39;rtl&#39;; adverID = &#39;123&#39;; webKind = &#39;adver&#39;;</script>

非常感谢任何暂停 链子

【问题讨论】:

    标签: javascript .net asp.net-3.5 asp.net-4.0


    【解决方案1】:

    改用InnerHtml 属性来添加脚本的内容。 InnerText 被转换..

    引用InnerText

    与 InnerHtml 属性不同, InnerText 属性自动 将特殊字符编码为往返 HTML 实体。 ...

    【讨论】:

    • 你知道格式化代码和引用的区别,不是吗? ;)
    • @Marcel,我愿意 :) .. 但是我想发布的初始报价里面有编码实体,报价转换它们,而代码没有..有点像 OP 问题..
    • 在 asp.net 4 中,您也可以在标题部分使用文字控制
    【解决方案2】:

    使用InnerHtml 属性而不是InnerText。

    *"InnerHtml 属性不会自动编码特殊字符与 HTML 实体之间。HTML 实体允许您显示特殊字符,例如 &lt;。

    【讨论】:

      猜你喜欢
      • 2012-01-17
      • 1970-01-01
      • 2011-11-03
      • 2011-08-27
      • 2019-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多