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

ASP.NET
赫赫大名的A*寻路算法(vb.net版本)
asp.net(c#)下Jmai去说明 使用与下载
[原创]完美解决Could not load file or assembly ''AjaxPro.2'' or one of its dependencies. 拒绝访问。
asp.net下gridview 批量删除的实现方法
用CSS实现图片倾斜 只支持IE
.net get set用法小结
vs 不显示行号的操作方法
ASP.NET页面进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
ASP.Net不执行问题一解
asp.net 无限分类
让VS2008对JQuery语法的智能感知更完美一点
扩展方法ToJSON() and ParseJSON()
asp.net下PageMethods使用技巧
Linq to SQL Delete时遇到问题的解决方法
实现ASP.NET多文件上传程序代码
ASP.NET AJAX 1.0 RC开发10分钟图解
asp.net get set用法
ASP.NET下使用WScript.Shell执行命令
asp.net2.0实现邮件发送(测试成功)
Asp.net 无限级分类实例代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-11   浏览: 102 ::
收藏到网摘: 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,

这里不贴代码了。

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