ASP.. NET配置文件不更新某些值?可能是代码问题
本文关键字:问题 代码 配置文件 NET 更新 ASP | 更新日期: 2023-09-27 18:18:54
好的,所以我一直在尝试做一个ASP。. NET网站,使用基本分析功能,到目前为止,我遇到了麻烦的代码,我必须显示和编辑配置文件信息。
基本上,在我的页面的顶部,它显示你的"Screenname"answers"Bio" -两者在网络中以相同的方式定义。配置(下图)。在我的页面中,我有两个文本框和一个保存按钮,标识为AssignScreenname, AssignBio和ChangeProfileSaveButton。当保存按钮被点击时,和if &如果每个运行检查框是否为空或空字符串,如果不是,则将其值分配给配置文件。然后,代码调用Profile.save()并将您重定向到相同的页面,以确保整个页面的完全刷新。
我的问题是当你分配一个值时,另一个值会被划掉。例如,分配一个Bio值意味着任何预先存在的Screenname值将被删除。我不明白为什么它这样做,因为它应该只分配框的配置文件是没有文本在他们。
我还发现有趣的是,删除Profile.Save()没有做任何,所以也许这个问题与此有关?
代码:我的网络元素。配置:
<profile>
<properties>
<add name="Username"/>
<add name="Screenname" />
<add name="Bio" />
<add name="ProfilePictureURL" />
</properties>
</profile>
我的c#赋值:
protected void ChangeProfileSaveButton_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
if (AssignScreenName.Text != "" || AssignScreenName.Text != null)
{
Profile.Screenname = AssignScreenName.Text;
}
if (AssignBio.Text != "" || AssignBio.Text != null)
{
Profile.Bio = AssignBio.Text;
}
}
Profile.Save();
Response.Redirect("MyProfile.aspx");
}
}
我会尽量每天回到这里回答评论,所以如果你需要什么,请随时问!欢迎所有的想法,谢谢!
改变系统。您的Web的Web部分。配置文件设置automaticSaveEnabled = false;
。
<profile enabled="true" automaticSaveEnabled="false">
清洁代码:
if (Page.IsValid)
{
if (!String.IsNullOrEmpty(AssignScreenName.Text) Profile.Screenname = AssignScreenName.Text;
if (!String.IsNullOrEmpty(AssignBio.Text) Profile.Bio = AssignBio.Text;
}
Profile.Save();
Response.Redirect("MyProfile.aspx");
也可以使用:
Profile.SetPropertyValue("propertyname",newvalue);
Profile.Save();
的例子:
Profile.SetPropertyValue("Screenname",assignscreenname.Text);
Profile.Save();