asp.net(C#)动态修改Web.config文件

    技术2025-12-23  7

    //Web.config文件假设有如下需要管理的配置信息:      <appSettings>     <add key="SiteTitle" value="站点名称" />     <add key="SiteUrl" value="主页网址" />     <add key="SiteLogo" value="站点Logo" />     <add key="SiteBanner" value="站点Banner" />     <add key="SiteEmail" value="联系Email" />     </appSettings>           //实现的c#核心代码:           //一、将Web.config中的相关信息读入TextBox           private void Page_Load(object sender, System.EventArgs e)     {     if(!Page.IsPostBack)     {     //将Web.config中的相关值填入TextBox     this.txtTitle.Text=System.Configuration.ConfigurationSettings.AppSettings["SiteTitle"];     this.txtUrl.Text=System.Configuration.ConfigurationSettings.AppSettings["SiteUrl"];     this.txtLogo.Text=System.Configuration.ConfigurationSettings.AppSettings["SiteLogo"];     this.txtBanner.Text=System.Configuration.ConfigurationSettings.AppSettings["SiteBanner"];     this.txtEmail.Text=System.Configuration.ConfigurationSettings.AppSettings["SiteEmail"];     }           }           //二、将修改后的内容写入Web.config           private void btnSave_Click(object sender, System.EventArgs e)     {     string filename=Server.MapPath("web.config");     string KeyName;//键名称           XmlDocument xmldoc= new XmlDocument();     try    {     xmldoc.Load(filename);     }     catch    {     Response.Write("<script>alert('读文件时错误,请检查 Web.config 文件是否存在!')</script>");     return;     }           XmlNodeList DocdNodeNameArr=xmldoc.DocumentElement.ChildNodes;//文档节点名称数组     foreach(XmlElement DocXmlElement in DocdNodeNameArr)     {     if(DocXmlElement.Name.ToLower()=="appsettings")//找到名称为 appsettings 的节点     {     XmlNodeList KeyNameArr=DocXmlElement.ChildNodes;//子节点名称数组     if ( KeyNameArr.Count >0 )      {     foreach(XmlElement xmlElement in KeyNameArr)     {     KeyName=xmlElement.Attributes["key"].InnerXml;//键值     switch(KeyName)     {     case "SiteTitle":     xmlElement.Attributes["value"].Value=this.txtTitle.Text;     break;     case "SiteUrl":     xmlElement.Attributes["value"].Value=this.txtUrl.Text;     break;     case "SiteLogo":     xmlElement.Attributes["value"].Value=this.txtLogo.Text;     break;     case "SiteBanner":     xmlElement.Attributes["value"].Value=this.txtBanner.Text;     break;     case "SiteEmail":     xmlElement.Attributes["value"].Value=this.txtEmail.Text;     break;           }     }     }     }     }     try    {     xmldoc.Save(filename);     Response.Write("<script>alert('OK,信息已保存!')</script>");     }     catch    {     Response.Write("<script>alert('写文件时错误,请检查 Web.config 文件是否存在!')</script>");     return;     }     }  
    最新回复(0)