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

该博客为转载内容,转载自https://www.cnblogs.com/ioricc/archive/2005/11/10/272994.html ,涉及C#相关知识。
None.gif Web.config文件假设有如下需要管理的配置信息:  
None.gif
None.gif
< appSettings >
None.gif   
< add key = " SiteTitle "  value = " 站点名称 "   />
None.gif   
< add key = " SiteUrl "  value = " 主页网址 "   />
None.gif   
< add key = " SiteLogo "  value = " 站点Logo "   />
None.gif   
< add key = " SiteBanner "  value = " 站点Banner "   />
None.gif   
< add key = " SiteEmail "  value = " 联系Email "   />
None.gif
</ appSettings >
None.gif
None.gif实现的c#核心代码:
None.gif
None.gif一、将Web.config中的相关信息读入TextBox
None.gif
None.gif
None.gif
private   void  Page_Load( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif 
dot.gif {
InBlock.gif  
if(!Page.IsPostBack)
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   
//将Web.config中的相关值填入TextBox
InBlock.gif
   this.txtTitle.Text=System.Configuration.ConfigurationSettings.AppSettings["SiteTitle"];
InBlock.gif   
this.txtUrl.Text=System.Configuration.ConfigurationSettings.AppSettings["SiteUrl"];
InBlock.gif   
this.txtLogo.Text=System.Configuration.ConfigurationSettings.AppSettings["SiteLogo"];
InBlock.gif   
this.txtBanner.Text=System.Configuration.ConfigurationSettings.AppSettings["SiteBanner"];
InBlock.gif   
this.txtEmail.Text=System.Configuration.ConfigurationSettings.AppSettings["SiteEmail"];
ExpandedSubBlockEnd.gif  }

InBlock.gif
ExpandedBlockEnd.gif }

None.gif
None.gif二、将修改后的内容写入Web.config
None.gif
None.gif 
private   void  btnSave_Click( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif 
dot.gif {
InBlock.gif  
string filename=Server.MapPath("web.config");
InBlock.gif  
string KeyName;//键名称
InBlock.gif

InBlock.gif  XmlDocument  xmldoc
= new XmlDocument();
InBlock.gif  
try
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   xmldoc.Load(filename);
ExpandedSubBlockEnd.gif  }

InBlock.gif  
catch
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   Response.Write(
"<script>alert('读文件时错误,请检查 Web.config 文件是否存在!')</script>");
InBlock.gif   
return;
ExpandedSubBlockEnd.gif  }

InBlock.gif  
InBlock.gif  XmlNodeList DocdNodeNameArr
=xmldoc.DocumentElement.ChildNodes;//文档节点名称数组
InBlock.gif
  foreach(XmlElement DocXmlElement in DocdNodeNameArr)
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   
if(DocXmlElement.Name.ToLower()=="appsettings")//找到名称为 appsettings 的节点
ExpandedSubBlockStart.gifContractedSubBlock.gif
   dot.gif{
InBlock.gif    XmlNodeList KeyNameArr
=DocXmlElement.ChildNodes;//子节点名称数组
InBlock.gif
    if ( KeyNameArr.Count >0 ) 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif     
foreach(XmlElement xmlElement in KeyNameArr)
ExpandedSubBlockStart.gifContractedSubBlock.gif     
dot.gif{
InBlock.gif      KeyName
=xmlElement.Attributes["key"].InnerXml;//键值
InBlock.gif
      switch(KeyName)
ExpandedSubBlockStart.gifContractedSubBlock.gif      
dot.gif{
InBlock.gif       
case "SiteTitle":
InBlock.gif        xmlElement.Attributes[
"value"].Value=this.txtTitle.Text;
InBlock.gif        
break;
InBlock.gif       
case "SiteUrl":
InBlock.gif        xmlElement.Attributes[
"value"].Value=this.txtUrl.Text;
InBlock.gif        
break;
InBlock.gif       
case "SiteLogo":
InBlock.gif        xmlElement.Attributes[
"value"].Value=this.txtLogo.Text;
InBlock.gif        
break;
InBlock.gif       
case "SiteBanner":
InBlock.gif        xmlElement.Attributes[
"value"].Value=this.txtBanner.Text;
InBlock.gif        
break;
InBlock.gif       
case "SiteEmail":
InBlock.gif        xmlElement.Attributes[
"value"].Value=this.txtEmail.Text;
InBlock.gif        
break;
InBlock.gif
ExpandedSubBlockEnd.gif      }

ExpandedSubBlockEnd.gif     }

ExpandedSubBlockEnd.gif    }

ExpandedSubBlockEnd.gif   }

ExpandedSubBlockEnd.gif  }

InBlock.gif  
try
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   xmldoc.Save(filename);
InBlock.gif   Response.Write(
"<script>alert('OK,信息已保存!')</script>");
ExpandedSubBlockEnd.gif  }

InBlock.gif  
catch
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   Response.Write(
"<script>alert('写文件时错误,请检查 Web.config 文件是否存在!')</script>");
InBlock.gif   
return;
ExpandedSubBlockEnd.gif  }

InBlock.gif
ExpandedBlockEnd.gif }
 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值