ASP.NET AJAX ExtenderControl and ScriptControl
public abstract class ExtenderControl : Control, IExtenderControl
public abstract class ScriptControl : WebControl, IScriptControl
public abstract class ScriptControl : WebControl, IScriptControl
虽然AJAX ExtenderControl 的Base Class是Control, 但它只能算是一种寄生Control, 特象那些验证控件(Validation Control, 例如RequiredFieldValidator),使用时必须指定目标控件ID,而不能单独使用. 一种Extender可以加载到不同种类的Server Control上,正如RequiredFieldValidator可以验证TextBox, DropdownList, RadioButtonList等等。使用Extender的目的是使目标控件(如TextBox等)在客户端更加生动,更有表现力。
ScriptControl 是用来开发AJAX Server Control的。从简单的Label衍生控件到复杂的HtmlEditor组合控件都可以借助它来实现。通常独立使用。开发组合控件(Composite Control)时对JavaScript要求偏高,依赖其完成子控件间的沟通。
二者语法上极象,知此必知彼。VS2008提供了二者的模板(Project Template):
IScriptControl Template is ASP.NET AJAX Server Control
ExtenderControl Template is
ASP.NET AJAX Server Control Extender
最近在做一个类似Message Box 的AJAX Composite Control. 在网上收集了一些关于如何使用ASP.NET AJAX ExtenderControl 和 IScriptControl的信息。
http://asp.net/ajax/documentation/live/tutorials/ExtenderControlTutorial1.aspx
http://asp.net/ajax/documentation/live/tutorials/IScriptControlTutorial1.aspx
http://www.asp.net/learn/ajax-videos/video-170.aspx
http://en.csharp-online.net/Creating_Custom_ASP.NET_AJAX_Client_Controls%E2%80%94Creating_ImageEx_web_server_control
http://www.winthusiasm.com/Articles/HtmlEditor/HtmlEditor.aspx
http://weblogs.asp.net/dwahlin/archive/2007/08/08/creating-an-asp-net-ajax-toolkit-extender-control.aspx
http://weblogs.asp.net/scottgu/archive/2007/08/19/using-asp-net-ajax-control-extenders-in-vs-2008.aspx
大部分链接提供源码下载。
http://asp.net/ajax/documentation/live/tutorials/IScriptControlTutorial1.aspx
http://www.asp.net/learn/ajax-videos/video-170.aspx
http://en.csharp-online.net/Creating_Custom_ASP.NET_AJAX_Client_Controls%E2%80%94Creating_ImageEx_web_server_control
http://www.winthusiasm.com/Articles/HtmlEditor/HtmlEditor.aspx
http://weblogs.asp.net/dwahlin/archive/2007/08/08/creating-an-asp-net-ajax-toolkit-extender-control.aspx
http://weblogs.asp.net/scottgu/archive/2007/08/19/using-asp-net-ajax-control-extenders-in-vs-2008.aspx
大部分链接提供源码下载。