在ASP.net页面引用js时的注意事项
在ASP.NET页面中经常需要链入一些JS文件,如:
如果在JS里有中文的话,在一般情况下,在浏览器里会报错脚本错误.
如果不信可以自己试一试。
其实是这样的:
由VS.NET自动生成的项目里,Web.Config中有这么一段:
<
globalization
requestEncoding
="utf-8"
responseEncoding
="utf-8"
/
>
它定义了该应用发送和接收的流都以utf-8
来编码。
然而问题就出在这里,由于我们大家使用的都是中文版的Windows,中文版的VS.NET,所以保存文件的默认编码都是
gb2313
,所以当ASP.NET把JS文件发送到客户端时,就会发生编码的错误,从而导致发送了不正确的脚本代码到客户端。
解决的方法很简单,把Web.config里的编码定义改为gb2312即可。
补充:
js文件中escape 方法处理编码
对 String
对象编码以便它们能在所有计算机上可读,
escape(
charString
)
必选项 charstring
参数是要编码的任意 String
对象或文字。
说明
escape
方法返回一个包含了 charstring
内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他
非 ASCII
字符都用 %
xx
编码代替,其中 xx
等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。
字符值大于 255 的以 %u
xxxx
格式存储。
注意
? escape
方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI
和encodeURIComponent
方法。
在
ASP.NET中要支持UTF-8您必须要将web.config中的语系设定,设为支持UTF-8
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
另外在数据库的部份也必须改使用支持
Unicode的资料格式,如nvarchar、ntext等。
资料在传送上建议使用POST的方式传送资料,如果要使用QueryString的方式传送,最好要加上Server.UrlEncode
如果页面上一部份文字编码正常,一部份文字的编码却出现问题,如
Label
上的文字正常,而
textbox
上的文字却变成乱码。除了上述设定外每一支
aspx
的存盘编码方式最好也一致,都是使用
UTF-8
的编码方式
相关文档:
ScriptManager 控件管理支持 AJAX 的 ASP.NET 网页的客户端脚本。默认情况下,ScriptManager 控件会向页面注册 Microsoft AJAX Library 的脚本。这将使客户端脚本能够使用类型系统扩展并支持部分页呈现和 Web 服务调用这样的功能。
必须在页上使用 ScriptManager 控件,以启用下 ......
本教程创建使用 ASP.NET 的 AJAX 功能的基本示例应用程序。您可以了解到有关 ASP.NET 的 AJAX 功能的更多信息,将知道这些功能旨在解决哪些技术问题,以及以下介绍性文档将涉及哪些重要的 AJAX 组件:
·ASP.NET AJAX Overview
·添加 AJAX 和客户端功能
在本教程中,您将 ......
ASP.NET清除页面缓存
(1) Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
Res ......
200X年12月23日的一次面试经历(共六轮),至此9-X周年之际,和各位朋友分享,希望对各位朋友有用,有些自己的答案贴出来也仅仅是抛砖引玉,希望各位朋友不吝赐教,说句老实话,面试的时候时间很紧,很难考虑最优算法。
起因是朋友推荐我去W公司应聘Senior SDE这个职位,应该算是内部推荐了,下面是招聘要求
Title: Senio ......
ASP.NET对请求处理的过程
当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过http管道(Http PipeLine)将请求发送给ASPNET_WP.exe进程,在ASPNET_WP.exe进程中通过HttpRuntime来处理这个请求,处理完毕将结果返回 ......