利用程序动态管理Web.config文件

原创 2006年06月24日 10:33:00

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

  }

程序 操作 web.config(配置文件)

由于项目中多处需要对配置文件进行操作,如配置信息的读取、更改和写入,需要一个通用的类来对其进行操作和处理。这次的任务就是配置节的一些用法。     这次升级后的开发工具是基于VS2005的,分析了V...

ASP.NET中的Web.config应用程序配置文件简介

转贴:http://hi.baidu.com/raincloud_msn/blog/item/36f7201ff7269364f624e48d.html   Web.config文件是一个标准...

利用微软自带aspnet_regiis.exe工具加密web.config文件

1.首先找到aspnet_regiis.exe工具的目录(一般在C:\Windows\Microsoft.NET\Framework\v2.0.50727),也可以搜索一下 这是加密前的配置文件co...
  • hi_dzj
  • hi_dzj
  • 2011年12月07日 19:30
  • 1161

用flask开发个人博客(26)—— 利用config.py配置文件动态的创建不同的Flask对象

对配置进行封装的目的是根据不同的使用场景,给flask的app赋予不同的config,最经典的用法就是把开发、测试和生成分开,通过配置文件使用不同的数据库。 config.py代码如下:      ...

利用 ssh 的用户配置文件 config 管理 ssh 会话

http://dhq.me/use-ssh-config-manage-ssh-session 利用 ssh 连接远程服务器,一般都要输入以下类似命令: ...
  • newjueqi
  • newjueqi
  • 2015年08月05日 11:03
  • 30841

JavaWeb之Servlet学习-----实现文件动态下载功能 手写servlet 手动构建web程序

说明: 本次的任务是将等待下载的文件放在非Web目录下(在web.xml中配置),使客户端无法直接访问待下载 文件。然后通过一个servlet进行中转,如果带下载的文件存在,通过FileInputSt...

配置文件Web.config

  • 2011年04月22日 14:50
  • 5KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用程序动态管理Web.config文件
举报原因:
原因补充:

(最多只允许输入30个字)