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

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

<webControls clientScriptsLocation="/aspnet_client/{0}/{1}/"/>

上述代码就是<webControls>的默认内容。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脚本的引用

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

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

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

于是自己也尝试了一下

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

文件 的属性是这样设置

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

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

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

webControls与客户端脚本路径的更多相关文章

  1. PHP漏洞全解(三)-客户端脚本植入

    本文主要介绍针对PHP网站的客户端脚本植入攻击方式.所谓客户端脚本植入攻击,是指将可以执行的脚本插入到表单.图片.动画或超链接文字等对象内.当用户打开这些对象后,黑客所植入的脚本就会被执行,进而开始攻 ...

  2. js前台与后台数据交互-后台调前台(后台调用、注册客户端脚本)

    转自:http://blog.csdn.net/wang379275614/article/details/17049721 客户端脚本一般都在前台,这里讲的是(1)在后台调用前台定义的脚本(2)在后 ...

  3. 更改QTP默认测试脚本路径

    QTP的默认测试脚本路径为安装路径下的Tests文件夹下, 如果你安装在D:,那么默认脚本路径为D:\Program Files\HP\QuickTest Professional\Tests 但是因 ...

  4. 教你50招提升ASP.NET性能(八):检查你使用了什么客户端脚本

    (14)Review what client scripts you are using 招数14: 检查你使用了什么客户端脚本 Out of the box, many ASP.NET projec ...

  5. 客户端脚本语言javascript

    2015.11.27  客户端脚本语言javascript. (叫这个名字的原因.想要攀高枝,希望变得和他一样通用.关于名字之间的关系类似于雷锋和雷峰塔,巴基斯坦和卡巴斯基,苏格拉底跟格拉苏蒂的关系一 ...

  6. 【ASP.NET】从服务器端注册客户端脚本

    一.在Asp.net 服务端处理脚本,一般都用 ClientScriptManager ,即web窗体服务端的this.ClientScript.该对象比较常用的方法: 1.RegisterArray ...

  7. ASP.NET AJAX入门系列(7):使用客户端脚本对UpdateProgress编程

    在本篇文章中,我们将通过编写JavaScript来使用客户端行为扩展UpdateProgress控件,客户端代码将使用ASP.NET AJAX Library中的PageRequestManager, ...

  8. ASP.NET 网页动态添加客户端脚本

    在System.Web.UI.Page类中包含了RegisterStarupScript()和RegisterClientScriptBlock()两个方法,使用这两个方法可以实现向Web页面动态添加 ...

  9. Bash:获取当前脚本路径

    可以使用readlink命令必须加上-f参数,readlink用于读取链接文件所指向的文件,这样对于一些建立了软连接的脚本文件的话非常适用,而对于一般的脚本文件需要加上-f参数否则readlink文件 ...

随机推荐

  1. ASP.NET Core 十种方式扩展你的 Views

    原文地址:http://asp.net-hacker.rocks/2016/02/18/extending-razor-views.html 作者:Jürgen Gutsch 翻译:杨晓东(Savor ...

  2. 在 Azure 上使用 Docker运行 Mono

    Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方 ...

  3. 使用Akka.net开发第一个分布式应用

    系列主题:基于消息的软件架构模型演变 既然这个系列的主题是"基于消息的架构模型演变",少不了说说Actor模型.Akka.net是一个基于Actor模型的分布式框架.如果你对分布式 ...

  4. Hadoop学习笔记—12.MapReduce中的常见算法

    一.MapReduce中有哪些常见算法 (1)经典之王:单词计数 这个是MapReduce的经典案例,经典的不能再经典了! (2)数据去重 "数据去重"主要是为了掌握和利用并行化思 ...

  5. .Net开发笔记(十九) 创建一个可以可视化设计的对象

    阅读本篇博客之前需要了解VS窗体设计器的工作原理,详细可参见本系列博客(十).(十一).(十二).必须需要知道的一条结论就是:处于窗体设计器(Form Designer)中的任何组件(包含控件,下同) ...

  6. 大话JS面向对象之开篇万物皆对象------(ATM取款机引发的深思)

    一,总体概要 OO(面向对象)概念的提出是软件开发工程发展的一次革命,多年来我们借助它使得很多大型应用程序得以顺利实现.如果您还没有掌握并使用OO进行程序设计和开发,那么您无疑还停留在软件开发的石器时 ...

  7. madplay播放控制

    管理madplay的主程序,包括播放,暂停播放,恢复播放,停止播放system("madplay north.mp3 &");//利用system函数调用madplay播放 ...

  8. dofile执行ANDROID APK里面的文件

    我使用dofile执行APK文件是不行的,比如 dofile("assets/res/flist")只能先拷贝到writablePath然后再dofile拿到数据后再清除这个临时文 ...

  9. 在SqlServer2008R2中,根据分隔符把一列的值切割成多列

    近期工作中,有个如上图效果的需求:将一个字段里面的值,以“,"切割成多列 通过思考.搜索,在网上找到了博主Microshaoft的文章: 妙用 T-SQL: PARSENAME 函数 (也可 ...

  10. Atitit图像处理的用途

    Atitit图像处理的用途 1.1. 分类识别 (人脸检测,肤色识别,人类检测:1 1.2. 炫丽的动态按钮生成:色相旋转+自己的草书等图片合成,图片自动裁剪1 1.3. 集成调用自绘gui接口:识别 ...