|
微軟的AJAXControlToolKit提供了很容易的擴(kuò)展方式,小弟我也是初學(xué)ajaxcontroltoolkit的擴(kuò)展,所以這里舉個(gè)例子,一起來學(xué)習(xí),如果有什么好的建議和例子請(qǐng)?zhí)岢鰜硪黄鸱窒?
其實(shí)Microsoft的ajax官網(wǎng)給出的擴(kuò)展說明已經(jīng)很詳細(xì)了,而且有個(gè)例子,嚴(yán)格來說確實(shí)有點(diǎn)簡(jiǎn)單,但是總結(jié)一下每個(gè)擴(kuò)展控件大致需要注意如下幾點(diǎn):
1. 必須添加的dll: System.Web.dll , System.Web.Extensions.dll, System.Design.dll, System.Web.Extensions.Design.dll.最后也就是最重要的是AjaxControlToolKit這個(gè)dll。
2. 需要有一個(gè)類是繼承ExtenderControlBase這個(gè)類的。
很多基本的規(guī)定和一些必須有的屬性都在哪個(gè)ExtenderControlBase這個(gè)類中,比如每個(gè)控件都需要有的targerconrolID。
另外一點(diǎn)就是封裝好WebResource和CliendtScriptResource。
如下代碼所示:
復(fù)制代碼 代碼如下:
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using AjaxControlToolkit;
[assembly: System.Web.UI.WebResource("CustomExtenders.MyControlBehavior.js", "text/Javascript")]
namespace CustomExtenders
{
[ClientScriptResource("CustomExtenders.MyControlBehavior", "CustomExtenders.MyControlBehavior.js")]
[TargetControlType(typeof(TextBox))]
public class MyControlExtender : ExtenderControlBase
{
[ExtenderControlProperty]
[DefaultValue("")]
public string MyProperty
{
get
{
return GetPropertyValue("MyProperty", "");
}
set
{
SetPropertyValue("MyProperty", value);
}
}
}
}
3. 用到的js文件:
上面這幾步完成后就創(chuàng)建了一個(gè)自定義的控件Progress bar。
說了這么多理論沒啥意思,大家需要的還是一個(gè)復(fù)雜的且好用的例子。下面就給出個(gè)例子:
先看看運(yùn)行效果:
按照上面給出的理論我們一步一步實(shí)現(xiàn)吧:
1. 引用dll:
如上圖所示我們添加了需要的幾個(gè)dll在新的project中。在哪個(gè)assets包中是用到的css和images。
2. 創(chuàng)建派生類:
最重要的是封裝webResource和ClientResource,封裝代碼如下:
,然后就是屬性的添加,所有的屬性添加如下所示:
3. 寫Javascript,
這里不貼代碼了。
在前臺(tái)頁面使用這個(gè)控件:
AspNet技術(shù):如何創(chuàng)建一個(gè)AJAXControlToolKit的擴(kuò)展控件,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。