Ajax Control Toolkit這個控件庫內包含一些擴展控件,利用這些擴展控件,可以非常方便的為普通的控件添加Ajax效果,例如,利用AutoCompleteExtender控件,可以為文本框添加自動完成的ajax效果。當然,這并不是本文想討論的內容。
將Ajax Control Toolkit加入到Visual Studio 2008的工具箱中,并打開一個新的aspx文件,向里面拖入一個TextBox。這時,有趣的事情發生了,在TextBox的SmartTasks面板里,竟然出現了一個“添加擴展程序…”的鏈接!我又試著拖入一個Button,一個Panel,無一例外的,每個控件的SmartTasks面板的底部都出現了“添加擴展程序…”的鏈接。
下一步是如何使component的Site變成自己寫的SiteProxy。一種方法是新增一種自定義控件,在該控件的ControlDesigner的Initialize方法中改變Container中其他控件的Site,只需要向WebForm中拖入該控件,就可以改變其他控件的Site;另外一種方法是寫一個vs package,在package中捕獲web form designer的相應事件。下面介紹第一種做法: