Profile Editor

ASP.Net 2.0很貼心的提供了Profile這個機制,讓你在存使用者個人設定的時候可以不必再轉型來轉型去了。但美中不足的是還缺少了一個可以自動更新的控制項。下面就來說說我是怎麼讓使用者自己更改他們的profile的好了。

照順序來,一開始就是自己拉控制項,設定了幾個profile屬性,就拉幾個相對應的控制項出來,然後在按下儲存的時候,再把每個控制項的值指派給profile。這就像我最早期儲存windows應用程式的做法(但後來自己寫了一個使用reflection技術儲存所有相關設定之後,我的Windows程式就不用再擔心儲存設定這件事了)。缺點就是一旦新增了某個profile屬性之後,就必須再拉一個對應的控制項,然後在程式碼中加上get、set的CODE,很麻煩。

於是,第二種方式就想用auto bind的方式,可惜的是ASP.Net沒有自動支援,所以就要使用Object Data Source去做Get和Set的動作,這裡寫的CODE跟上面也是很像的,只是對象換成是List中而已,好處是可以使用一些Data類的控制項去顯示頁面,而且我覺得他們內定的顏色比較好調。

第三種就是最好有一個控制項可以自己列出所有的Profile屬性,然後儲存修改之類的,剛想自己寫而已,發現網路上已經有了,叫做ProfileView,於是很興奮的抓下來用用看,ㄜ,有點失望,因為可以設定的屬性有點少,而且沒有出現Smart Tag,只有支援最簡單的,儲存跟Reset而已,缺點還有就是不會根據屬性的型別拉出不同的控制項,像DateTime還是用TextBox,昏倒,而且也不能修改。所以我就放棄了。

我覺得將來有可能會有一個控制項可以出現自動Bind Profile的功能,應該就繼承現有的控制項就可以做了吧,所以,還是不要輕舉妄動好了XD

This entry was posted in 電腦和網際網路. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s