使用Web方式编辑web.config文件的方法

原创 2004年08月07日 00:17:00

一、添加控件

    一个ListBox保存appSettings节中的内容。控件的AutoPostBack属性要设置成True。

   <asp:ListBox id="ListBox1" AutoPostBack="True" OnSelectedIndexChanged="SelectedIndexChanged" Height="184px" runat="server"/>

两个TextBox用来填写键名和键值。

<asp:TextBox  id="txtKey" runat="server"  />

<asp:TextBox  id="txtValue" runat="server"  />

三个Button分别是保存用于保存修改后的键值。添加添加新的键。删除删除不用的键。

<asp:Button  id="cmd_modify" runat="server" Text="保存" OnClick="cmd_modify_Click"/>

<asp:Button  id="cmd_Add" runat="server" Text="添加"  OnClick="cmd_Add_Click"/>

<asp:Button  id="cmd_Del" runat="server" Text="删除"  OnClick="cmd_Del_Click"/>

二、添加函数

    1. 读取现有配置。因为web.config为xml格式的文档。所以用一个XmlDocument对象把它读到内存。然后把appSettings节中的所有节放到一个XmlNodeList中。最后添加到ListBox。

      void BindData(){

     XmlDocument xd=new XmlDocument();

     xd.Load(Server.MapPath("web.config"));  //加载文件

     XmlNodeList xnl=xd.SelectNodes("configuration/appSettings/add");  //选择小节。

     ListBox1.Items.Clear();

       foreach(XmlNode xn in xnl)   //添加到ListBox

       {

      ListItem li=new ListItem();

      li.Text=xn.Attributes["key"].Value;

      li.Value=xn.Attributes["value"].Value;

      ListBox1.Items.Add(li);

       }

     }

    2.修改数据。当一个现有的配置项被选定时,两个TextBox会分别显示键名和键值。此时可以修改键值。

      private void cmd_modify_Click(object sender, System.EventArgs e)

      {

     XmlDocument xd=new XmlDocument();

     xd.Load(Server.MapPath("web.config"));

     XmlNodeList xnl=xd.SelectNodes("configuration/appSettings/add");

     foreach(XmlNode xn in xnl)  //遍历所有键,修改相应的键。

     {

           if(xn.Attributes["key"].Value==txtKey.Text)

           xn.Attributes["value"].Value=txtValue.Text;

     }

     xd.Save(Server.MapPath("web.config"));  //将修改的结果存回文件。

     txtKey.Text="";txtValue.Text="";

     BindData();

      }

    3.添加键。直接在两个TextBox填入键名和键值可添加一个新的键。

      private void cmd_Add_Click(object sender, System.EventArgs e)

      {

     XmlDocument xd=new XmlDocument();

     xd.Load(Server.MapPath("web.config"));

     XmlNode father=xd.SelectSingleNode("configuration/appSettings");  //此次选择的是父节点

     XmlNode xn=father.FirstChild.Clone();  //创建一个新的字节点。

     xn.Attributes["key"].Value=txtKey.Text;

     xn.Attributes["value"].Value=txtValue.Text;

     father.AppendChild(xn);   //添加子节点

     xd.Save(Server.MapPath("web.config"));  //存回文件

     txtKey.Text="";txtValue.Text="";

     BindData();

      }

    4.删除键。

      private void cmd_Del_Click(object sender, System.EventArgs e)

      {

     XmlDocument xd=new XmlDocument();

     xd.Load(Server.MapPath("web.config"));

     XmlNode father=xd.SelectSingleNode("configuration/appSettings");  //选择父节点

     XmlNodeList xnl=father.ChildNodes;    //获取子节点的一个集合

     foreach(XmlNode xn in xnl)   //遍历子节点

        {

         if(xn.Attributes["key"].Value==txtKey.Text)  //找到选择的节点删除掉

              father.RemoveChild(xn);

        }

     xd.Save(Server.MapPath("web.config"));    //存回文件

     txtKey.Text="";txtValue.Text="";

     BindData();

      }

 

    5. 页面首次加载时在载入现有的设置项,选择已有项时显示键值。

      private void Page_Load(object sender, System.EventArgs e)

      {

         if(!IsPostBack)

           BindData(); //调用函数将数据读入ListBox

      }

      private void SelectedIndexChanged(object sender, System.EventArgs e)

      {

     txtKey.Text=ListBox1.Items[ListBox1.SelectedIndex].Text;

     txtValue.Text=ListBox1.Items[ListBox1.SelectedIndex].Value;

      }

Web.config配置文件详解(新手必看)

花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法。很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点。所以这里只介绍一些比较常用的节点。 xml ...
  • macleer
  • macleer
  • 2016年07月14日 11:27
  • 575

Web.config配置文件详解(新手必看)

花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法。很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点。所以这里只介绍一些比较常用的节点。 xm...
  • u014194763
  • u014194763
  • 2016年07月04日 14:42
  • 4945

Web.config引用外部配置文件,实现模块化配置

大型项目中,可能有多个Service,也就是会有一堆配置,而这些配置文件如果散落在各个项目的web.config里,那维护量将是非常巨大的,所以有人使用configSource将各咱文件分开放,然后C...
  • xxdddail
  • xxdddail
  • 2015年07月20日 14:57
  • 1842

web.config中数据库、文件路径的配置

  • qq_31971935
  • qq_31971935
  • 2015年12月23日 10:30
  • 761

通过web.config文件配置项目中文件夹的访问权限

该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。 新建一个web运用程序,项目结构如下:   其中Manager文件夹的ASP.NET页面属于管理员操作页面,所有只...
  • nuptsv_ice
  • nuptsv_ice
  • 2014年06月26日 10:15
  • 597

Asp.net中web.config配置文件最全面详解

web.config是一个XML文件,用来储存Asp.net Web应用程序的配置信息,包括数据库连接字符、身份安全验证等,可以出现在Asp.net Web应用程序服务器上的任何目录中,每个Web.c...
  • u011966339
  • u011966339
  • 2017年03月22日 09:52
  • 2040

vs发布项目webconfig替换语法

关于vs发布项目时webconfig替换语法也是最近才学到的东西,写这篇文章就当是作个备忘录吧,如果能帮助别人能够学习到webconfig如何替换那就再好不过了。...
  • kebi007
  • kebi007
  • 2017年03月04日 12:56
  • 1410

Web.config 加密及解密

Web应用通常使用web.config存储数据库连接信息及应用的一些基础配置信息。为了安全性,我们采用一些加密手段来加密一些敏感信息,比如数据库连接字符串。 .NET 自带了一个aspnet_reg...
  • afandaafandaafanda
  • afandaafandaafanda
  • 2015年09月01日 22:04
  • 1728

web.config主要配置浅析

1、 节 作用:配置ASP.NET身份验证支持(为Windows、Forms、PassPort、None四种)。该元素只能在计算机、站点或应用程序级别声明。 元素必需与 节配合使用。 示例: 特...
  • yuewei19
  • yuewei19
  • 2016年06月26日 15:36
  • 412

史上最全web.xml配置文件元素详解

史上最全web.xml配置文件元素详解 一、web.xml配置文件常用元素及其意义预览 1 2 3 ...
  • z3881006
  • z3881006
  • 2017年02月17日 13:24
  • 371
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Web方式编辑web.config文件的方法
举报原因:
原因补充:

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