如果不能在客戶端進行自定義的話,Profile Service的自定義能力還是遠遠不夠的。雖然Profile Service沒有提供一種“官方”的客戶端自定義支持,不過事實上“自定義”能力“天然”地存在與客戶端裡。為什麼?因為整個客戶端是由JavaScript實現的,這種靈活的語言使得我們能夠在一定程度上自由地修改客戶端的行為。一般來說,在客戶端擴展Profile Service主要有兩種方法:
一、使用自定義類替換Sys.Services.ProfileService對象 一般來說,這是最容易想到的辦法。我們可以寫一個類繼承Sys.Services._ProfileService類(這個類完全通過prototype擴展,因此對於繼承非常友好),甚至完全重寫一個類,這個一般就看具體情況了。假設我們已經定義了這麼一個類“Jeffz.Services.ProfileService”,並將其包含在MyProfile.Service.JS中,就要開始使用了。那麼還要注意些什麼呢?
需要注意的就是順序,我們一般會使用ScriptManager引入該JS,如下:
<ASP:ScriptManager ID="ScriptManager1" runat="server"
EnablePartialRendering="false">
<Scripts>
<ASP:ScriptReference Path="MyProfileService.JS" />
Scripts>
<ProfileService LoadPropertIEs="ZipCode, Address.City"
Path="MyProfile.asmx"/>
ASP:ScriptManager>