我們在做項目的時候經常會遇到要做後臺管理界面,一般都是用Fram框架來實現,框架的左面是一個導航欄,關鍵就是這個導航欄,是用TreeView控件,還是自己寫JS腳本,用TreeView吧影響美觀,寫JS吧,太多了,麻煩。爲了不用TreeView又省去寫JS的麻煩,所以就有了
把以前寫好的JS腳本封裝成Asp.Net 服務器控件的想法。
2.實現效果
3. 屬性
CssFilePath :是如果用戶不喜歡內置的CSS樣式,可以選擇自己喜歡的CSS樣式來滿足自己的需求。
ListItems :是一個集合屬性,其內部也包含一個集合屬性。
4.設計時支持
增加設計時支持 , 主要是重寫下面的方法:
複製 保存
public override DesignerActionItemCollection GetSortedActionItems()
{
DesignerActionItemCollection list = new DesignerActionItemCollection();
list.Add(new DesignerActionTextItem("查看選擇面板", "ShowPanel"));
list.Add(new DesignerActionPropertyItem("CssFilePath", "Css文件路徑:", "NavMenu"));
list.Add(new DesignerActionPropertyItem("ListItems", "ListItems:", "NavMenu"));
return list;
}
ListItems在設計時的界面同屬性一樣,如下圖:
5.項目工程結構如下
6.小結
本控件主要有幾個重點。
(a).TypeConverter的實現。
(b).Editor的實現。
(c).NavMenuDesigner的實現.
7源代碼下載
http://files.cnblogs.com/herobeast/navmenu.rar
下載
http://www.xq168.cn/showtopic.aspx?topicid=73
歡迎大家加入 "小強控件園" ,有更多驚喜等着你,進入小強控件園
http://www.xq168.cn/showtopic.aspx?topicid=73