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

     }
  • 相关阅读:
    2017年7月10日 20:34:02 简易博客记录组
    Oracle审计表AUD$处理方法 (Z)
    Oracle中trace的几种(Z)
    查看oracle数据库是否归档和修改归档模式(转)
    oracle exp-000991
    基于公司级平台封装的SqlserverHelper
    pycharm运行测试程序提示no tests were found
    10-13 验证用户
    10-11 喜欢的数字
    10-1 Python 学习笔记
  • 原文地址:https://www.cnblogs.com/ghd258/p/257688.html
Copyright © 2011-2022 走看看