javascript - Asp.Net Web 表单有时会在 Internet Explorer 中奇怪地混合 HTML 和 JavaScript 响应

标签 javascript html asp.net internet-explorer webforms

我是从头开始开发新的 asp.net 网络表单应用程序的新手。

问题:在本地和测试服务器上一切正常。在客户服务器上部署应用程序有一些奇怪的行为。

仅使用 Internet Explorer,并且仅在某些情况下,浏览器中的响应会被错误地呈现。我看到 HTML 重复出现,JavaScript 直接呈现在屏幕上,在错误的地方与 HTML 混合在一起。

一切似乎都是随机发生的。

为 Damon 编辑:我需要 10 个声望来放置图像,这就是糟糕的 html 有时在 ie 中呈现的方式:

    //]]>
</script>
??c?cr??|?04?*?9|u? ?*B?T߮?+mDp??}:?-?؉Ч????H?????:?t??dH$??D" disabled="disabled" class="aspNetDisabled txtSolaLettura" disabled="disabled" style="display:none">
            <option selected="selected" value=""></option>
            <option value="M">M</option>
            <option value="F">F</option>

        </select><input name="ctl00$cpHolderBody$GHOSTIndice§STRINGA§SD" type="text" maxlength="1" id="GHOSTIndice§STRINGA§SD" class="txtSolaLettura" readonly="readonly" /></td><td>Cognome Dichiarante</td><td class="STRINGA"><input type="hidden" name="ctl00$cpHolderBody$CTRLIndice§STRINGA§CD" id="CTRLIndice§STRINGA§CD" value="TextBox§Cognome Dichiarante§strtfrmtndfrmt§strtdcml0nddcml" /><input name="ctl00$cpHolderBody$JSONIndice§STRINGA§CD" type="text" maxlength="30" id="JSONIndice§STRINGA§CD" class="txtSolaLettura" readonly="readonly" /></td>
    </tr><tr>
        <0

TM??OG?[?
@K??a?6%\?
J????-?????
???^??y;hK?2cD?>?pK?O?tl00$cpHolderBody$CTRLIndice§STRINGA§ND"id="CTRLIndice§STRINGA§ND"value="TextBox§Nome Dichiarante§strtfrmtndfrmt§strtdcml0nddcml"/>Codice Dichiarazione Anagrafica


为 Paul 编辑:wcf 是休息,发送和接收的数据是 json

不知道这是否重要:
  • 在应用程序中,我经常使用 ajax-jQuery 调用 WCF 服务
  • 我(例如在其他页面上进行 ajax 调用以重定向之后)有时手动发布表单(document.forms[0].submit())。
  • 我有时在页面内有时在外部 JS 文件中也有很多 jQuery 代码。
  • 我也使用母版页。

  • 我认为这可能涉及服务器或客户端缓存......或服务器端缓冲......

    任何想法将不胜感激。

    最佳答案

    我将对此进行尝试,并猜测这与未在 http header 中正确设置字符编码以及服务器在渲染时设置错误编码有关。

    从此page :

    You should always specify the encoding used for an HTML or XML page. If you don't, you risk that characters in your content are incorrectly interpreted. This is not just an issue of human readability, increasingly machines need to understand your data too. You should also check that you are not specifying different encodings in different places.



    您可以使用 fiddler 进行检查并检查正在发送的 http header 。

    我建议按照 here 的描述指定一个编码。在 MSDN 中。

    从该页面:
    <configuration>
      <system.web>
        <globalization
          fileEncoding="utf-8"
          requestEncoding="utf-8"
          responseEncoding="utf-8"
          culture="en-US"
          uiCulture="de-DE"
        />
      </system.web>
    </configuration>
    

    关于javascript - Asp.Net Web 表单有时会在 Internet Explorer 中奇怪地混合 HTML 和 JavaScript 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22063362/

    相关文章:

    javascript - 更改预览中的图片描述

    java - 如何解析来自 CNBC 市场页面的表格数据?

    c# - 验证电话号码以允许 () 和空格,但我使用的正则表达式不允许输入这些。

    javascript - 击中 Canvas x边框时向后移动一个圆圈

    javascript - 太多的事件处理程序会影响 React 应用程序的性能吗?

    javascript - 如何根据按钮删除数据

    html - 使用位置 : relative 操作后删除 block /空间

    javascript - React TestUtils,在文本框中输入不起作用

    c# - 可以制作的最简单的访问计数器是什么?

    .net - 为什么加密 Web.config 文件可以在不提供 keyContainerName 的情况下工作?