Asp.net 完成使用(CreateUserWizard控件)创建用户后,在同一过程中添加配置文件信息
当我尝试此代码时,它会给出此错误消息 无法为匿名用户设置此属性Asp.net 完成使用(CreateUserWizard控件)创建用户后,在同一过程中添加配置文件信息,asp.net,login-control,Asp.net,Login Control,当我尝试此代码时,它会给出此错误消息 无法为匿名用户设置此属性 protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e) { Roles.AddUserToRole((sender as CreateUserWizard).UserName, "Admin"); Control ctrl = CreateUserWizard1.CreateUserStep.ContentTemplateCo
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
Roles.AddUserToRole((sender as CreateUserWizard).UserName, "Admin");
Control ctrl = CreateUserWizard1.CreateUserStep.ContentTemplateContainer;
TextBox txtAdminAddress= (TextBox)ctrl.FindControl("txtAdminAddress");
TextBox txtAdminCountry= (TextBox)ctrl.FindControl("txtAdminCountry");
TextBox txtAdminCity= (TextBox)ctrl.FindControl("txtAdminCity");
HttpContext.Current.Profile.GetProfileGroup("AdminGroup").SetPropertyValue("AdminAddress", txtAdminAddress.Text);
HttpContext.Current.Profile.GetProfileGroup("AdminGroup").SetPropertyValue("AdminCountry", txtAdminCountry.Text);
HttpContext.Current.Profile.GetProfileGroup("AdminGroup").SetPropertyValue("AdminCity", txtAdminCity.Text);
HttpContext.Current.Profile.Save();
}
string strUsername = (sender as CreateUserWizard).UserName;
ProfileCommon p = Profile.GetProfile(strUsername);
//update the field and save
p.AdminAddress= txtAdminAddress.Text;
p.Save();
配置:
<profile defaultProvider="AspNetSqlProfileProvider">
<properties>
<group name="AdminGroup">
<add name="AdminAddress" type="System.String"/>
<add name="AdminCountry" type="System.String"/>
<add name="AdminCity" type="System.String"/>
</group>
</properties>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="MyConnectionString" applicationName="/"/>
</providers>
</profile>
创建用户后,需要获取最近创建的用户的配置文件以开始更新值。由于未加载配置文件,因此不允许为匿名用户设置这些值
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
Roles.AddUserToRole((sender as CreateUserWizard).UserName, "Admin");
Control ctrl = CreateUserWizard1.CreateUserStep.ContentTemplateContainer;
TextBox txtAdminAddress= (TextBox)ctrl.FindControl("txtAdminAddress");
TextBox txtAdminCountry= (TextBox)ctrl.FindControl("txtAdminCountry");
TextBox txtAdminCity= (TextBox)ctrl.FindControl("txtAdminCity");
HttpContext.Current.Profile.GetProfileGroup("AdminGroup").SetPropertyValue("AdminAddress", txtAdminAddress.Text);
HttpContext.Current.Profile.GetProfileGroup("AdminGroup").SetPropertyValue("AdminCountry", txtAdminCountry.Text);
HttpContext.Current.Profile.GetProfileGroup("AdminGroup").SetPropertyValue("AdminCity", txtAdminCity.Text);
HttpContext.Current.Profile.Save();
}
string strUsername = (sender as CreateUserWizard).UserName;
ProfileCommon p = Profile.GetProfile(strUsername);
//update the field and save
p.AdminAddress= txtAdminAddress.Text;
p.Save();
ProfileBase
对象(由Page.Profile
属性提供)包括一个有用的GetProfile()
函数,该函数按用户名检索特定用户的配置文件信息
GetProfile()
返回一个ProfileCommon
对象
[注意:配置文件中设置的配置文件属性不允许为匿名用户设置值。如果要为匿名用户设置值,请使用:
<add name="AdminAddress" type="System.String" allowAnonymous="true"/>
]创建用户后,需要获取最近创建的用户的配置文件以开始更新值。由于未加载配置文件,因此不允许为匿名用户设置这些值
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
Roles.AddUserToRole((sender as CreateUserWizard).UserName, "Admin");
Control ctrl = CreateUserWizard1.CreateUserStep.ContentTemplateContainer;
TextBox txtAdminAddress= (TextBox)ctrl.FindControl("txtAdminAddress");
TextBox txtAdminCountry= (TextBox)ctrl.FindControl("txtAdminCountry");
TextBox txtAdminCity= (TextBox)ctrl.FindControl("txtAdminCity");
HttpContext.Current.Profile.GetProfileGroup("AdminGroup").SetPropertyValue("AdminAddress", txtAdminAddress.Text);
HttpContext.Current.Profile.GetProfileGroup("AdminGroup").SetPropertyValue("AdminCountry", txtAdminCountry.Text);
HttpContext.Current.Profile.GetProfileGroup("AdminGroup").SetPropertyValue("AdminCity", txtAdminCity.Text);
HttpContext.Current.Profile.Save();
}
string strUsername = (sender as CreateUserWizard).UserName;
ProfileCommon p = Profile.GetProfile(strUsername);
//update the field and save
p.AdminAddress= txtAdminAddress.Text;
p.Save();
ProfileBase
对象(由Page.Profile
属性提供)包括一个有用的GetProfile()
函数,该函数按用户名检索特定用户的配置文件信息
GetProfile()
返回一个ProfileCommon
对象
[注意:配置文件中设置的配置文件属性不允许为匿名用户设置值。如果要为匿名用户设置值,请使用:
<add name="AdminAddress" type="System.String" allowAnonymous="true"/>
]请在配置文件中显示您的配置文件属性集。请在配置文件中显示您的配置文件属性集。完美!。非常感谢:)。艾哈迈德,很高兴知道这个答案对你有帮助。如果这对您有帮助,请将其标记为答案。[答案左侧的右符号:)]完美!。非常感谢:)。艾哈迈德,很高兴知道这个答案对你有帮助。如果这对您有帮助,请将其标记为答案。[答案左侧的右符号:)]