[Sharepoint Web Part] 如何定義 Web Part 屬性 - 動態下拉式選單 /How to Custom property of Webpart - Dynamic DropDownList

[Sharepoint Web Part] 如何定義 Web Part 屬性 - 動態下拉式選單 /How to Custom property of Webpart - Dynamic DropDownList

上篇有介紹如何自訂Web Part的屬性 [Sharepoint Web Part] 如何定義 Web Part 屬性 / Define Web Part Attribute,還記得下拉式選單是要用enmu來設定吧,今日來介紹如何在使用DropDownList 取代掉enmu

2009-11-6 上午 12-40-41 

以下就來介紹步驟

第一步:開啟專案,定義命名空間CustomToolParts及類別名稱DynamicDropDownList ,類別繼承 Microsoft.SharePoint.WebPartPages.WebPart類別

2009-11-6 下午 12-42-50

第二步:定義屬性

2009-11-6 下午 12-30-17

第三步:決定屬性的呈現方式,在此我選擇直接顯示在PAGE上,所以直接複寫 Render 方法

2009-11-6 下午 12-31-41

第四步:決定使用控制項顯示在Web Part上,複寫 GetToolParts 方法

2009-11-6 下午 12-37-32

第五步:建立CustomToolPart 類別

加入一個新類別CustomToolParts→定義命名空間CustomToolPart→定義類別名稱→繼承 Microsoft.SharePoint.WebPartPages.ToolPart 類別

2009-11-6 下午 12-49-29

第六步:加入你想要顯示的控制項,本篇介紹的是 DropDownList 重點當然是 DropDownList 控制項,另外再加入一個事件把選到的值帶到TextBox控制項裡

PS.我試了半天,卻沒有辦法動態的將DropDownList的值,動態的顯示在TextBox上,即使用SelectIndexChanged事件也是沒有用,希望知道的人可以跟我講一下阿。

解決了,加ddl.AutoPostBack=true; 老是忘了要PostBack

2009-11-6 下午 12-53-14

第七步:複寫ApplyChanges方法,ToolPart.ParentToolPane屬性中的SelectedWebPart 屬性,將Web Part屬性的值套用到DynamicDropDownList 類別(自訂),再由第三步的Renger方法顯示在網頁上。

2009-11-6 下午 01-45-53

第八步:發佈

操作畫面

2009-11-6 下午 02-02-25

參考連結

Creating a Web Part with a Custom Tool Part

http://dev-tips.blogspot.com/2007/06/custom-property-of-webpart-dynamic.html

範例下載

AttributeToolBar.rar

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo