我有以下代码可以触发OnCreatedUser
并且不会引发任何错误。Profile.Title
在分配后检查时被设置为正确的值。
public void CreateUserForm_CreatedUser(object sender, EventArgs e)
{
var ddlTitle = (DropDownList)CreateUserWizardStep1.ContentTemplateContainer.FindControl("Title");
Profile.Title = ddlTitle.SelectedValue;
Profile.Save();
}
但是,当我Profile.Title
在后续页面上进行测试时(用户肯定已登录),它是== ""
;
我猜这是用户旧的匿名个人资料,而不是与他们新注册的用户帐户关联的新个人资料。
我尝试向我的 Global.asax 添加一个Profile_MigrateAnonymous
方法(如此处所建议的),但这段代码没有被命中。
如何将标题保存到新用户帐户配置文件?
更新
这是代码
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();
}