2010-12-09 2 views
1

У меня есть следующий код, который вызывает OnCreatedUser и не вызывает никаких ошибок. Profile.Title получает заданное значение при проверке после назначения.Page.Profile не сохраняется после пользователя, созданного в CreateUserWizard

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

Однако, когда я проверить Profile.Title на последующих страницах (пользователь, безусловно, вошел в систему) это == "";

Я предполагаю, что это анонимный профиль пользователей, а не новый профиль, связанный с их недавно зарегистрированной учетной записью пользователя.

Я попытался добавить метод Profile_MigrateAnonymous (как suggested here) в мой Global.asax, но этот код не попадает.

Как сохранить заголовок для профиля новых пользователей?

UPDATE
Вот код

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 Вы правы. Опубликуйте как ответ, и я отметю как правильно – 2010-12-10 16:54:19

ответ

2

Я думаю, вы правы, что пользователь все еще анонимным в то время как этот метод называется. Я не знаком с профилем, но думаю, вам нужно посмотреть профиль вверх по имени пользователя вместо того, чтобы полагаться на текущий профиль.

+1

B: Не могли бы вы опубликовать код для этого? – Greg 2010-12-10 17:06:49

Смежные вопросы