2010-12-09 25 views
1

J'ai le code suivant qui déclenche OnCreatedUser et ne jette aucune erreur. Profile.Title est réglé sur la valeur correcte lors de l'inspection après l'affectation.Page.Profile non enregistré après création d'un utilisateur dans CreateUserWizard

public void CreateUserForm_CreatedUser(object sender, EventArgs e) 
{ 
    var ddlTitle = (DropDownList)CreateUserWizardStep1.ContentTemplateContainer.FindControl("Title"); 
    Profile.Title = ddlTitle.SelectedValue; 
    Profile.Save(); 
} 

Cependant, quand je teste Profile.Title sur les pages suivantes, il est == "" (l'utilisateur est certainement connecté);

Je suppose que c'est le profil anonyme des utilisateurs, pas le nouveau profil associé à leur compte d'utilisateur nouvellement enregistré.

J'ai essayé d'ajouter une méthode Profile_MigrateAnonymous (comme suggested here) à mon Global.asax mais ce code n'est pas touché. Comment enregistrer le titre dans le nouveau profil de compte d'utilisateur?

MISE À JOUR
Voici le code

public void CreateUserForm_CreatedUser(object sender, EventArgs e) 
{ 
    var ddlTitle = (DropDownList)CreateUserWizardStep1.ContentTemplateContainer.FindControl("Title"); 
    var emailTextBox = (TextBox)CreateUserWizardStep1.ContentTemplateContainer.FindControl("UserName"); 
    UserProfile profile = (UserProfile)ProfileBase.Create(emailTextBox.Text.Trim()); 
    profile.Title = ddlTitle.SelectedValue; 
    profile.Save(); 
} 
+0

@Greg Vous avez raison. Poster comme une réponse et je vais marquer comme correct –

Répondre

2

Je pense que vous avez raison que l'utilisateur est toujours anonyme en cette méthode est appelée. Je ne connais pas Profile, mais je pense que vous devez regarder le profil par nom d'utilisateur au lieu de vous fier au profil actuel.

+1

B: Pourriez-vous poster le code pour accomplir cela? – Greg