• 利用程序动态管理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;
      }

     }
  • 相关阅读:
    CSS基础
    HTML基础
    JavaScript基础目录
    python 面向对象的基本概念(未完待续)
    python核心编程笔记(转)
    转: cJSON的使用方法
    转: C语言交换两个变量数值的几种方法
    转: 100个gdb小技巧项目
    转:C语言中的typeof关键字
    转:安全起见,小心使用C语言realloc()函数
  • 原文地址:https://www.cnblogs.com/ghd258/p/257688.html
Copyright © 2020-2023  润新知