RegisterClientScriptInclude 与 RegisterClientScriptResource 的区别

作者:vkvi 来源:ITPOW(原创) 日期:2009-12-6

RegisterClientScriptInclude 用于产生一个 <script src="..." 这样的代码。

ClientScript.RegisterClientScriptInclude("script1", "js/common.js");

RegisterClientScriptResource 也是产生一个 <script src="..." 这样的代码,但是,它的 src 中不是直接跟的 js 文件,而是 /WebResource.axd?... 这样的东西。

ClientScript.RegisterClientScriptResource(this.GetType(), "js/common.js");

上面生成的 script 标签的 src 对应的地址就是形如 /WebResource.axd?... 的,等于:ClientScript.GetWebResourceUrl(this.GetType(), "js/common.js")。

WebResource.axd

上面提到了 WebResource.axd,它并不是您网站中实际存在的一个文件,它是一个映射出来的,直接在浏览器中输入地址访问是找不到的。实际上在这里用 WebResource.axd 并没有什么多大意义,其正有效的用法请参照:http://support.microsoft.com/kb/910442(机器翻译的,有点拙)。

在哪里注册?body 最前面?最后面?

RegisterClientScriptInclude、 RegisterClientScriptResource 以及前一节说的 RegisterClientScriptBlock 都是在 body 最前面添加脚本,他们三个之间就没有优先级了,谁最先执行,谁注册的脚本就在更前面。

相关文章