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

 } 

转载于:https://www.cnblogs.com/ioricc/archive/2005/11/10/272994.html

利用程序动态管理Web.config文件相关推荐

  1. 利用程序动态管理Web.config文件的配置

    Web.config文件假设有如下需要管理的配置信息: <appSettings>    <add key="Sitetitle" value="站点名 ...

  2. 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transformations

    1. 综述 大多数程序里都会在Web.config里设置参数,并且在部署的时候需要更改.每次都手工更改这些配置很乏味,也容易出错.该章节将会告诉你如果通过自动化更新Web.config文件来避免这些问 ...

  3. VS2005 ASP.NET2.0安装项目的制作(包括数据库创建、站点创建、IIS属性修改、Web.Config文件修改)

    站点: 如果新建默认的Web安装项目,那它将创建的默认网站下的一个虚拟应用程序目录而不是一个新的站点.故我们只有创建新的安装项目,而不是Web安装项目.然后通过安装类进行自定义操作,创建新站如下图: ...

  4. Web.Config文件配置之数据库连接配置

    Web.Config文件以XML形式存在于ASP.NET应用程序中,是ASP.NET应用程序的配置文件,包含程序调试.会话和全球化设置等配置信息,可以直接用记事本打开进行编辑.下面通过实例说明如何配置 ...

  5. Web.Config文件配置之限制上传文件大小和时间

    在邮件发送系统或者其他一些传送文件的网站中,用户传送文件的大小是有限制的,因为这样不但可以节省服务器的空间,还可以提高传送文件的速度.下面介绍如何在Web.Config文件中配置限制上传文件大小与时间 ...

  6. Web.Config文件配置之连接默认错误页

    在一些网站中,当网络地址发生错误时,通常会自动跳转到一个页面,并在该页面显示错误信息,此功能叶可以通过配置Web.Config文件配置实现.例如访问者在访问网站时出现错误,程序将跳转到默认页面erro ...

  7. Web.config文件使用

    一.认识Web.config文件 Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式), ...

  8. 认识Web.config文件

    Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中 ...

  9. web.config文件之自定义错误节

    web.config文件之自定义错误节 大家都知道,在开发asp.net应用程序时,通过web.config文件可以配置在执行 Web 请求期间发生未处理的错误时,ASP.NET 显示信息的方式.下面 ...

最新文章

  1. WinForm 读写配置文件
  2. 《中国大数据产业白皮书及百强榜单》:一览中国大数据产业发展全局
  3. linux服务器间文件夹拷贝
  4. 0-1背包问题暴力递归
  5. CentOS查看CPU信息
  6. java.sql找不到_java.sql.SQLException:找不到适用于jdbc:microsoft:
  7. JavaStuNote 5
  8. FreeRTOS 教程指南 学习笔记 第四章 队列管理
  9. 蓝奏(lanzous)解析工具
  10. Shell脚本调用阿里云API实现DDNS动态域名解析
  11. 惠普打印机安装驱动 无法注册字体
  12. 色彩搭配 — 总结1
  13. Pycharm下载库出错ERROR: Could not find a version that satisfies the requirement
  14. catch小说内容-从gui到爬虫(2)
  15. Qt-利用fmod库显示声音波形
  16. 数据库连接10060_MySQL错误:Can't connect to MySQL server (10060)
  17. GBDT,XGBoost和LightBoost对比
  18. 【数学】C037_有效的回旋镖(三角形面积公式 | 直线斜率)
  19. 控制IRQ和FIQ中断的编译器内部函数 - 基于Keil MDK
  20. 合理用药功能在医院信息系统(HIS)中的应用

热门文章

  1. ice 服务java连接,java - ICE中的连接计数 - 堆栈内存溢出
  2. linux ibus中文,Ubuntu 14.10系统中IBUS 中文输入法安装的图文教程
  3. IAR软件中直接查看编译后代码大小
  4. ElasticSearch索引的基本操作命令
  5. liunx下pytorch(python2.7)先前几个版本的安装(由于官网点击先前版本进不去)
  6. Android学习笔记(六)——CheckBox复选框
  7. 车萝卜CEO马斌斌:真正自动驾驶的时候你更需要HUD和ARHUD...
  8. Android--序列化XML数据
  9. 稳扎稳打Silverlight(25) - 2.0线程之Thread, Timer, BackgroundWorker, ThreadPool
  10. 细究STP根端口和指定端口的选举过程