日期:2014-05-16  浏览次数:20677 次

JS包含在HTML文件中正常,包含在ASPX文件中就报错
今天用到了一段显示谷歌地图的JS代码,在Html中显示正常的,但是在Aspx页面中老是出现错误
提示:jquery.ui.spinner.js里面找不到对象

原因分析:

1、使用Html引用JS时,类似下面的头部样式

<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="ProgId" content="VisualStudio.HTML">
<meta name="Originator" content="Microsoft Visual Studio .NET 7.1">

2、使用Aspx调用JS时,类似下面的头部样式

<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META content="MSHTML 6.00.3790.2577" name=GENERATOR>
<META content=C# name=CODE_LANGUAGE>
<META content=JavaScript name=vs_defaultClientScript>

结论:是编码的问题,Aspx默认是utf-8的编码方式

备注:将aspx生成的html的头中的uft-8改为gb2312
<META http-equiv=Content-Type content="text/html; charset=gb2312">
直接打开该修改后的html,错误消失;但在aspx.cs中指定使用gb2312,页面的运行就会乱码。

解决问题:

在web.config中加入:

<system.web>
<globalization responseEncoding="gb2312" requestEncoding="gb2312" fileEncoding="gb2312"/>
<system.web>