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 引发。 可以使用全局事件ProfileModule在 ASP.NET 应用程序的 Profile_Personalize Global.asax 文件中访问 Personalize 类的事件,如本主题的示例所示。

可以使用 Personalize 事件来指定自定义用户配置文件。 ProfileEventArgs.Profile如果为ProfileEventHandler事件Personalize事件处理程序指定的属性值设置为事件结束时未nullPersonalize指定的值,则将ProfileModule使用 属性的ProfileEventArgs.Profile指定值作为当前 HttpContext的 属性的值Profile

适用于