前一段時間做的一個項目中,要用到類似於igoogle這樣的效果,因為項目工期比較緊,所以便想到了用ASP.Net中的WebPart來處理這部分功能,這樣既快又省事。但是後來在實際開發過程中,發現webpart並不適合,因為webpart是微軟的產品,所以繼承了微軟一貫的作風,幾乎所有的東西都封裝起來了,能讓程序員自己控制的地方太少了。比如說,我想要調整一下AppearanceEditorPart的外觀就很難實現(是不是有較好的實現,只是我不知道呢?)。
於是乎,後來我便決定利用Javascript+AJax+SQL Server自己來實現,這樣雖說沒有像webpart那樣的現成控件可以利用,但是在網上也有許多的利用JS來實現拖拽的demo可以參考,更重要的是,利用這種方式來實現,幾乎所有的一切自己都可以控制,可以得到最大限度的靈活性。
最後,來比較一下兩種實現方法吧:
1 用webpart來實現igoogle效果,可以利用許多現成的控件,比如前面提到的AppearanceEditorZone以及PageCatalogPart等,這在一定程度上可以加快項目的進度,但是WebPart有一個缺點,就是要想實現控件的自定義,比較麻煩,這方面的資料也較少。有關WebPart的資料大家可以看使用用戶控件和定制的Web部件個人化你的門戶網站 。
1 利用js + Ajax + SQL Server 來實現igoogle效果,就不能像webpart那樣利用現成的控件,所有的一切都要自己去處理,比如你要用JS去控制拖拽,要用AJax技術異步讀取和設置在SQL Server數據庫中存儲的設置。但是這樣雖說麻煩一點,但是在網上有許多的文章可以參考,這在一定程度上降低了開發難度。