zoukankan      html  css  js  c++  java
  • 利用程序动态管理Web.config文件的配置

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

     }
  • 相关阅读:
    心灵絮语(一)
    JavaScript基础之对象
    asp.net多线程(收藏)
    详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名
    凡事求个合理
    坐班一族快速消除疲劳七妙招
    电脑前保健攻略
    《孔子》都曰了些啥?
    幸福的来源不是财富的增长,而是欲望的降低
    [转]从一个男人关注的事情上 可以看出他的修养和抱负
  • 原文地址:https://www.cnblogs.com/ghd258/p/257688.html
Copyright © 2011-2022 走看看