利用HttpHandler处理自定义控件中需要引用大量js文件问题
2006-11-15 16:33
786 查看
有时在做自定义控件时,可能需要包含很多js结合使用,特别是在线编辑器这种重量级的自定义控件,一般的控件可能也会包含很多javascript,我们通常的处理办法有大致有两种:
1.先构造脚本字符串,然后通过直接用RegisterClientScriptBlock或RegisterStartupScript注册到客户端脚本块
2.定义一个属性,用于用户指定js脚本路径,自定义控件通过获取这个路径注册脚本块
第1种方法当然不适合有大量的js的情况,第2种方法有它的优点,也是很常见的一种方式。
现在有一种新需求:控件会包含很多js文件,而且不需要用户去指定js的路径,而且可能会根据用户对控件属性不同的设置,选用不同的js。现在介绍一个简单的处理办法,提供一个思路。
这个控件很简单,结合DooIT同学的《输入自动完成类》中的javascript来完成一个简单的自动完成控件。
1.准备好autoComplete.js文件,并把这个js文件加入到自定义控件项目中,并设置它的"生成操作"属性为"嵌入的资源"。
2.设计一个处理HttpHandler的类JsHttpHandler,使它实现IHttpHandler接口,处理形如http://xxxx/js.axd这样的带扩展名为.axd的url,
using System;
using System.IO;
using System.Reflection;
using System.Text;
using System.Web;
namespace JrtControls
3.控件实现部分,主要是重写OnPreRender方法注册脚本块:
protected override void OnPreRender(EventArgs e)
<httpHandlers>
<add verb="*" path="js.axd" type="JrtControls.JsHttpHandler, JrtControls" />
</httpHandlers>
最后把控件加入到页面,
在后台给控件的AutoList属性:
AutoCompleteBox1.AutoList=new string[]{"123123","123","werewr"};
运行效果如下:
源代码下载/Files/jintan/JrtControls.rar
1.先构造脚本字符串,然后通过直接用RegisterClientScriptBlock或RegisterStartupScript注册到客户端脚本块
2.定义一个属性,用于用户指定js脚本路径,自定义控件通过获取这个路径注册脚本块
第1种方法当然不适合有大量的js的情况,第2种方法有它的优点,也是很常见的一种方式。
现在有一种新需求:控件会包含很多js文件,而且不需要用户去指定js的路径,而且可能会根据用户对控件属性不同的设置,选用不同的js。现在介绍一个简单的处理办法,提供一个思路。
这个控件很简单,结合DooIT同学的《输入自动完成类》中的javascript来完成一个简单的自动完成控件。
1.准备好autoComplete.js文件,并把这个js文件加入到自定义控件项目中,并设置它的"生成操作"属性为"嵌入的资源"。
2.设计一个处理HttpHandler的类JsHttpHandler,使它实现IHttpHandler接口,处理形如http://xxxx/js.axd这样的带扩展名为.axd的url,
using System;
using System.IO;
using System.Reflection;
using System.Text;
using System.Web;
namespace JrtControls
3.控件实现部分,主要是重写OnPreRender方法注册脚本块:
protected override void OnPreRender(EventArgs e)
<httpHandlers>
<add verb="*" path="js.axd" type="JrtControls.JsHttpHandler, JrtControls" />
</httpHandlers>
最后把控件加入到页面,
在后台给控件的AutoList属性:
AutoCompleteBox1.AutoList=new string[]{"123123","123","werewr"};
运行效果如下:
源代码下载/Files/jintan/JrtControls.rar
相关文章推荐
- 利用HttpHandler处理自定义控件中需要引用大量js文件问题
- 利用HttpHandler处理自定义控件中需要引用大量js文件问题
- [开源应用]利用HTTPHandler+resumableJs+HTML5实现拖拽上传[大]文件
- spring mvc与html中处理引用js等静态文件的问题
- spring mvc与html中处理引用js等静态文件的问题
- IIS7的集成模式下如何让自定义的HttpModule不处理静态文件(.html .css .js .jpeg等)请求
- spring mvc与html中处理引用js等静态文件的问题
- JS学习笔记——在浏览器中处理复杂运算需要注意的问题
- 利用Jquery中的clone对象解决JS中引用传值的问题
- js文件中获取服务端控件的问题
- 利用脚本文件引用解决跨域数据传递问题
- ASP.NET 2.0中母版页中引用文件路径的问题(对原处理方法中的bug进行了修改)
- HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- ASPX引用JS文件出现乱码问题
- javascript:引用js文件时的编码格式问题
- 背水一战 Windows 10 (64) - 控件(WebView): 加载指定 HttpMethod 的请求, 自定义请求的 http header, app 与 js 的交互
- 学习vue-cli时需要引入外部js库文件(如jquery)的问题,百度后解决了,再次备忘一下
- 解决自定义文件上传处理与Spring MultipartResolver的冲突问题
- DotNetNuke-DNN Module模块引用自定义CSS或者JS文件
- ASP.NET利用HttpHandler实现多扩展名文件下载