利用程序动态管理Web.config文件(作者:海雅)

王朝asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有