|
微軟的AJAXControlToolKit提供了很容易的擴展方式,小弟我也是初學ajaxcontroltoolkit的擴展,所以這里舉個例子,一起來學習,如果有什么好的建議和例子請?zhí)岢鰜硪黄鸱窒?
其實Microsoft的ajax官網(wǎng)給出的擴展說明已經(jīng)很詳細了,而且有個例子,嚴格來說確實有點簡單,但是總結一下每個擴展控件大致需要注意如下幾點:
1. 必須添加的dll: System.Web.dll , System.Web.Extensions.dll, System.Design.dll, System.Web.Extensions.Design.dll.最后也就是最重要的是AjaxControlToolKit這個dll。
2. 需要有一個類是繼承ExtenderControlBase這個類的。
很多基本的規(guī)定和一些必須有的屬性都在哪個ExtenderControlBase這個類中,比如每個控件都需要有的targerconrolID。
另外一點就是封裝好WebResource和CliendtScriptResource。
如下代碼所示:
復制代碼 代碼如下:
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)建了一個自定義的控件Progress bar。
說了這么多理論沒啥意思,大家需要的還是一個復雜的且好用的例子。下面就給出個例子:
先看看運行效果:
按照上面給出的理論我們一步一步實現(xiàn)吧:
1. 引用dll:
如上圖所示我們添加了需要的幾個dll在新的project中。在哪個assets包中是用到的css和images。
2. 創(chuàng)建派生類:
最重要的是封裝webResource和ClientResource,封裝代碼如下:
,然后就是屬性的添加,所有的屬性添加如下所示:
3. 寫Javascript,
這里不貼代碼了。
在前臺頁面使用這個控件:
AspNet技術:如何創(chuàng)建一個AJAXControlToolKit的擴展控件,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。