当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 如何创建一个AJAXControlToolKit的扩展控件

ASP.NET
asp.net下将图片保存到XML文件的方法
asp.net 通过aspnetpager为DataList分页
Asp.Net 动态页面转静态页面主要代码
asp.net下检测远程URL是否存在的三种方法
asp.net(C#)把汉字转化成全拼音函数(全拼)
asp.net下xml当作导航数据源实现动态权限
asp.net Cookie操作类
先装VS再装IIS时出错的解决方法
asp.net 选择excel类型文件,利用Dos命令成批复制文件
Asp.net XML文档进行添加删改操作的实例代码
ASP.NET 页面间数据传递方法小结
asp.net 文件上传与刷新与asp.net页面与iframe之间的数据传输
asp.net Urlrewriter在虚拟主机上的使用方法
Repeater的FooterTemplate中控件内容设置方法
asp.net(c#)做一个网页数据采集工具
ASP.NET调用javascript脚本的常见方法小结
asp.net AutoCompleteExtender的一个简单例子代码
asp.net 光棒效应实现代码
asp.net 数据访问层 存储过程分页语句
Asp.Net Oracle数据的通用操作类

ASP.NET 中的 如何创建一个AJAXControlToolKit的扩展控件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-11   浏览: 131 ::
收藏到网摘: n/a

相信熟悉Microsoft提供的AJAXControlToolKit的朋友已经感觉到它的强大了。但是如果我们需要其它一些控件,或者是我们碰到一些很好的javascript然后需要把它们整合到ajaxcontroltoolkit中,如何来做。???

微软的AJAXControlToolKit提供了很容易的扩展方式,小弟我也是初学ajaxcontroltoolkit的扩展,所以这里举个例子,一起来学习,如果有什么好的建议和例子请提出来一起分享.
其实Microsoft的ajax官网给出的扩展说明已经很详细了,而且有个例子,严格来说确实有点简单,但是总结一下每个扩展控件大致需要注意如下几点:
1. 必须添加的dll: System.Web.dll , System.Web.Extensions.dll, System.Design.dll, System.Web.Extensions.Design.dll.最后也就是最重要的是AjaxControlToolKit这个dll。
2. 需要有一个类是继承ExtenderControlBase这个类的。
很多基本的规定和一些必须有的属性都在哪个ExtenderControlBase这个类中,比如每个控件都需要有的targerconrolID。
另外一点就是封装好WebResource和CliendtScriptResource。
如下代码所示:

复制代码 代码如下:

using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using AjaxControlToolkit;
[assembly: System.Web.UI.WebResource("/upload/tech/20091011/20091011144959_1be3bc32e6564055d5ca3e5a354acbef.js", "text/javascript")]
namespace CustomExtenders
{
[ClientScriptResource("CustomExtenders.MyControlBehavior", "/upload/tech/20091011/20091011144959_1be3bc32e6564055d5ca3e5a354acbef.js")]
[TargetControlType(typeof(TextBox))]
public class MyControlExtender : ExtenderControlBase
{
[ExtenderControlProperty]
[DefaultValue("")]
public string MyProperty
{
get
{
return GetPropertyValue("MyProperty", "");
}
set
{
SetPropertyValue("MyProperty", value);
}
}
}
}

3. 用到的js文件:

上面这几步完成后就创建了一个自定义的控件Progress bar。

说了这么多理论没啥意思,大家需要的还是一个复杂的且好用的例子。下面就给出个例子:

先看看运行效果:

按照上面给出的理论我们一步一步实现吧:

1. 引用dll:

如上图所示我们添加了需要的几个dll在新的project中。在哪个assets包中是用到的css和images。

2. 创建派生类:

最重要的是封装webResource和ClientResource,封装代码如下:

,然后就是属性的添加,所有的属性添加如下所示:

3. 写javascript,

这里不贴代码了。

在前台页面使用这个控件: