共用方式為


ProfileModule.Personalize 事件

定義

這發生在使用者設定檔建立之前。

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會提出這個事件。 你可以在 Profile_Personalize ASP.NET 應用程式的 Global.asax 檔案中使用全域事件存取Personalize該類別的事件ProfileModule,如本主題範例所示。

你可以利用這個 Personalize 活動來指定自訂的使用者設定檔。 如果ProfileEventArgs.Profile事件處理Personalize程序指定的ProfileEventHandler屬性值設定為事件結束時Personalizenull值,則ProfileModule將使用該屬性指定的值ProfileEventArgs.Profile作為當前HttpContext屬性的Profile屬性值。

適用於