共用方式為


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 引發。 您可以使用全域事件來存取 Personalize ASP.NET 應用程式的 Profile_Personalize Global.asax 檔案中 類別的事件 ProfileModule ,如本主題的範例所示。

您可以使用 Personalize 事件來指定自訂使用者設定檔。 ProfileEventArgs.Profile如果為 ProfileEventHandler 事件的事件處理常式 Personalize 所指定的屬性值設定為 nullPersonalize 不在事件結束時的值,則 ProfileModule 會使用 屬性的指定值 ProfileEventArgs.Profile 做為 Profile 目前 HttpContext 的 屬性值。

適用於