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");
    }
}

我会尽量每天回到这里回答评论,所以如果你需要什么,请随时问!欢迎所有的想法,谢谢!

ASP.. NET配置文件不更新某些值?可能是代码问题

改变系统。您的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();