ProfileModule.Personalize 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在使用者設定檔建立之前發生。
public:
event System::Web::Profile::ProfileEventHandler ^ Personalize;
public event System.Web.Profile.ProfileEventHandler Personalize;
member this.Personalize : System.Web.Profile.ProfileEventHandler
Public Custom Event Personalize As ProfileEventHandler
事件類型
範例
下列程式碼範例顯示 Personalize 應用程式在 Global.asax 檔案中宣告的事件。 事件程式碼會根據角色成員資格載入使用者的使用者設定檔。
public void Profile_Personalize(object sender, ProfileEventArgs args)
{
ProfileCommon userProfile;
if (User == null) { return; }
userProfile = (ProfileCommon)ProfileBase.Create(User.Identity.Name);
if (User.IsInRole("Administrators"))
userProfile = userProfile.GetProfile("Administrator");
else
if (User.IsInRole("Users"))
userProfile = userProfile.GetProfile("User");
else
userProfile = userProfile.GetProfile("Guest");
if (userProfile != null)
args.Profile = userProfile;
}
Public Sub Profile_Personalize(sender As Object, args As ProfileEventArgs)
Dim userProfile As ProfileCommon
If User Is Nothing Then Return
userProfile = CType(ProfileBase.Create(User.Identity.Name), ProfileCommon)
If User.IsInRole("Administrators") Then
userProfile = userProfile.GetProfile("Administrator")
Else
If User.IsInRole("Users") Then
userProfile = userProfile.GetProfile("User")
Else
userProfile = userProfile.GetProfile("Guest")
End If
End If
If Not userProfile Is Nothing Then _
args.Profile = userProfile
End Sub
備註
事件 Personalize 會在 事件期間 HttpApplication.AcquireRequestState 引發。 您可以使用全域事件來存取 Personalize ASP.NET 應用程式的 Profile_Personalize
Global.asax 檔案中 類別的事件 ProfileModule ,如本主題的範例所示。
您可以使用 Personalize 事件來指定自訂使用者設定檔。
ProfileEventArgs.Profile如果為 ProfileEventHandler 事件的事件處理常式 Personalize 所指定的屬性值設定為 null
Personalize 不在事件結束時的值,則 ProfileModule 會使用 屬性的指定值 ProfileEventArgs.Profile 做為 Profile 目前 HttpContext 的 屬性值。