webControls与客户端脚本路径

网上有用的资料不多,在一本电子书中摘抄了内容如下

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的澄江网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

webControls与客户端脚本路径

webControls与客户端脚本路径

   

webControls配置节只有一个clientScriptsLocation属性,此属性用于指定ASP.NET客户端脚本的默认存放路径。这些文件是包含在HTML代码生成的ASPX页面时这些需要的客户端功能,如智能导航和客户端控件验证。

上述代码就是的默认内容。clientScriptsLocation的内容就是用于搜索被包含的脚本。aspnet_client文件夹是当你安装ASP.NET是在Web服务器的跟目录下自动生成的。两个占位符用于代表子文件夹的名字,这个名字有可能在将来的ASP.NET版本中会更改。第一个占位符总是设置成system_web。第二个占位符是.NET Framework的版本号。

ASP.NET 4不使用这个文件夹来储存客户端脚本文件。实际上客户端脚本文件以资源的形式嵌入到system.web程序集中。并且通过webresource.axd HTTP handler注入到页面中。

你可以使用客户端脚本文件夹来保存给自定义的ASP.NET控件使用的脚本文件。

感觉这个真的已经被废弃了,并且在.NET Framework4.6的源码中查看webControlsSection类时也没发现有任何代码对这个类进行调用了,鄙人尝试过在一个WebForm页面中拖了一个验证控件RequiredFieldValidator,在生成的html代码中多了两个js脚本的引用

webControls与客户端脚本路径

可以得出已经把脚本文件嵌入到程序集里面,通过webresource.axd来获取到对应的资源。实际上这里可嵌入的资源不单指js了,还可以是图片文件。

出于好奇我就看了一下RequiredFieldValidator的代码,

发现里面有一行代码是把js文件注册进去

webControls与客户端脚本路径

于是自己也尝试了一下

webControls与客户端脚本路径

ClientScript是ClientScriptManager的一个实例,js的文件名是js2.js,前面需要附带设这个程序集的默认命名空间 这里用到的,js2.js文件是放在网站根目录下。

webControls与客户端脚本路径

文件 的属性是这样设置

webControls与客户端脚本路径

运行了页面看看生成的html多了一个js的引用

webControls与客户端脚本路径

疑惑的是为啥ValidatorBase里面的嵌入js时不需要用到不需要命名空间,MSDN上的例子也是中规中矩地加上了命名空间。难道还有别的方式给它加命名空间?

但是还是有点不服气,看看原有的aspnet_client怎么弄出来,后来又发现了通过aspnet_regiis,可以添加aspnet_client。尝试了确实可以加,但是没啥效果,当初还猜想会不会是配置文件的webControls配置会影响生成文件夹的名字,后来发现我的猜想错了,还是生成aspnet_client。看来还是在.NET 1.0版本中使用,后续版本就换用webresource.axd。而且现在也用ASP.NET MVC,这个属于在webForm中使用,现在鄙人还是感觉把js放出来不嵌入到程序集里面还是不方便,修改了js又要编译代码。


网页标题:webControls与客户端脚本路径
转载来源:http://bzwzjz.com/article/psjgip.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 营销型网站建设 成都网站建设 成都网站建设推广 成都商城网站建设 成都商城网站制作 成都网站设计 成都网站建设 成都企业网站设计 重庆企业网站建设 成都做网站建设公司 网站建设方案 定制网站建设多少钱 网站建设推广 成都网站设计 定制网站制作 营销型网站建设 网站设计制作报价 高端网站设计 成都网站设计公司 营销网站建设 成都网站建设 品牌网站建设