新一代的Visual Studio 2010對於SharePoint 2010的專案撰寫,有非常另人讚賞的改進. 以往寫一個WebPart要搞好多雜七雜八的步驟,也要硬寫HTML輸出,當然有人說可以寫UserControl後再掛在其它的WebPart容器內, 但是也是須要不少工夫去處理它. 現在,這些問題都沒了,簡單的幾個步驟,就可以做出功能強大的WebPart,而且偵錯方法也非常簡單.
新一代的Visual Studio 2010對於SharePoint 2010的專案撰寫,有非常另人讚賞的改進. 以往寫一個WebPart要搞好多雜七雜八的步驟,也要硬寫HTML輸出,當然有人說可以寫UserControl後再掛在其它的WebPart容器內,但是也是須要不少工夫去處理它. 現在,這些問題都沒了,簡單的幾個步驟,就可以做出功能強大的WebPart,而且偵錯方法也非常簡單.
首先,在Visual Studio內,選擇新增一個SharePoint 2010的視覺化WebPart專案,
接下來選擇一個要做測試用的SharePoint 2010網站位址,在這裡可以選本機上的SharePoint 2010以方便偵錯. 或許你會問,那不就需要把Visual Studio 2010裝在Windows Server上了,其實新版的SharePoint 2010是可以裝在Windows 7上面的,對開發者來說相當的方便.
進入編輯畫面後,選到ASCX檔並切換到設計檢視畫面,我們可以把工具箱內的控制像拖放到畫面區上,在這裡我們放入一個按鈕與一個GridView控制項,我把按鈕取名為btnDateTime,GridView取名為gvResult,我想要做的Demo是按下按鈕後,GridView內就新增一筆按下的時間資料顯示在最上面. 所以接下來在按鈕上按兩下我們即可撰寫Code Behind的事件處理函式了. 當然我們要有一個List去存放時間資料,並且把它放在ViewState內.所以在Page_Load事件中撰寫了一個IsPostBack的判斷式,不是IsPostBack時就把ViewState["Data"]給建立起來,型別是 List<DateTime>. 然後在btnDateTime_Click事件中,把DateTime.Now的值加入到ViewState["Data"]內,之後用Linq把資料排序一下,新的資料放最上面,當做gvResult的DataSource,做DataBind()處理.
程式碼撰寫完後,直接按下功能表上的執行按鈕去執行,我們也可以設定斷點,讓WebPart執行時,可以停下來偵錯.第一次的執行Vistual Studio 2010跟以前一樣會問你是否要將Web.Config的偵錯選項開啟,在這裡我們選擇開啟,然後你就會看到測試的SharePoint 2010網站也被開起來了.
網站開起來後,我們需要進入頁面編輯模式,然後加入剛才做的WebPart.新的WebPart會暫時被放在Custom類別內.
加入新的WebPart後,我們可以按下剛才製做的按鈕,這時程式會在Visual Studio 2010內設定的斷點停下來讓我們進行偵錯.偵錯無誤的話,我們可以取消斷點,反覆的按下按鈕,這時我們就會看到時間的資料一筆筆被加入.
是不是很簡單,就完成一個WebPart了. 當然這只是在開發環境的上的測試,後續的包裝與部署到正式環境,還有一些細節要注意,部過Visual Studio的專案都幫我們準備好了,我們可以將Feature節點下的資料夾改名字,成為我們要顯示的Feature名稱,然後進入去修改 Feature所要包含與啟動的項目,在這裡我們只會有一個WebPart,相關描述WebPart安裝啟動的資料 Element.xml, .WebPart檔與ASCX檔案也都會準備好,接下來選好Feature的範圍到Site,然後調整好Package內相關的WSP檔案設定,就可以編譯包裝好 WSP檔,拿到正式環境去啟動的.可以說比起SharePoint 2007是相當的容易. 也相信對ASP.NET開發者投入SharePoint 2010開發會變得更輕鬆愉快了.