如:
</system.web>
<appSettings>
<add key="strConn" value="server=back10.dhcn.net;database=telesales_net;user=sa;"/>
<add key="regno" value="213333333324949376"/>
</appSettings></configuration>读时这样可以:string regno=ConfigurationSettings.AppSettings["regno"].Trim();现在我想把"regno" 的value 改为另一个数字,如何实现呢?
</system.web>
<appSettings>
<add key="strConn" value="server=back10.dhcn.net;database=telesales_net;user=sa;"/>
<add key="regno" value="213333333324949376"/>
</appSettings></configuration>读时这样可以:string regno=ConfigurationSettings.AppSettings["regno"].Trim();现在我想把"regno" 的value 改为另一个数字,如何实现呢?
解决方案 »
- VS2008里的Xml控件有什么作用呢?
- 页面如何接收POST传来的值
- ASP.NET AJAX 局部刷新 和 局部不刷新
- 紧急求救!!!!关于MSPluh.TabControl的问题
- 怎样让ASP.net进程运行在其它用户下,而不是在ASPNET用户下?
- DataGrid中如何实现颜色交替呢?网上找的方法有问题哦!
- 关于获取用户在DataGrid中选定的行(记录)在数据库对应ID值的问题
- 求助自定义模版控件
- if(!IsPostBack),什么回事??
- 能不能用一句SQL语句同时DELETE或UPDATE两个数据表里的记录?
- 关于这样得东西怎么生成?
- 急救,ASP.NET中DataGrid分页返回如何做?
http://news.dvbbs.net/infoview/Article_2627.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:DropDownList id="DropDownList1" style="Z-INDEX: 101; LEFT: 344px; POSITION: absolute; TOP: 136px" runat="server"></asp:DropDownList>
<asp:TextBox id="TextBox1" style="Z-INDEX: 102; LEFT: 344px; POSITION: absolute; TOP: 88px" runat="server"></asp:TextBox>
<asp:Button id="Writebtn" style="Z-INDEX: 103; LEFT: 192px; POSITION: absolute; TOP: 136px" runat="server" Text="修改Web.config"></asp:Button>
<asp:Label id="Label1" style="Z-INDEX: 105; LEFT: 208px; POSITION: absolute; TOP: 96px" runat="server" Font-Size="X-Small">替代当前列表选项的值:</asp:Label>
</form>
</body>
</HTML>using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
namespace Writeconfig
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.Button Writebtn;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.TextBox TextBox1;
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
read();
}
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Writebtn.Click += new System.EventHandler(this.Writebtn_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Writebtn_Click(object sender, System.EventArgs e)
{
write();
read();
} public void read()
{
string filename=Server.MapPath("") + @"\Web.config";
XmlDocument xmldoc= new XmlDocument();
xmldoc.Load(filename); XmlNodeList topM=xmldoc.DocumentElement.ChildNodes;
foreach(XmlElement element in topM)
{
if(element.Name=="appSettings")
{
XmlNodeList node=element.ChildNodes;
if ( node.Count > 0 )
{
DropDownList1.Items.Clear();
foreach(XmlElement el in node)
{
DropDownList1.Items.Add(el.Attributes["key"].InnerXml);
}
}
}
}
} public void write()
{
string filename=Server.MapPath("") + @"\Web.config";
XmlDocument xmldoc= new XmlDocument();
xmldoc.Load(filename); XmlNodeList topM=xmldoc.DocumentElement.ChildNodes;
foreach(XmlElement element in topM)
{
if(element.Name=="appSettings")
{
XmlNodeList node=element.ChildNodes;
if ( node.Count > 0 )
{
foreach(XmlElement el in node)
{
if(el.Attributes["key"].InnerXml.ToLower()==this.DropDownList1.SelectedItem.Value.ToLower())
{
el.Attributes["key"].Value=this.TextBox1.Text;
}
}
}
}
}
xmldoc.Save(filename);
}
}
}
{
try
{
string path=WebConfigDirectory+"\\web.config";
XmlDocument xd=new XmlDocument();
xd.Load(path); //如果没有appSetting,则添加
if(xd.SelectNodes("//appSettings").Count==0)
{
xd.DocumentElement.AppendChild(xd.CreateElement("appSettings"));
} //判断节点是否存在,如果存在则修改当前节点
bool addNode=true;
foreach(XmlNode xn1 in xd.SelectNodes("/configuration/appSettings/add"))
{
if(xn1.Attributes["key"].Value==appSettingsAddkey)
{
addNode=false;
xn1.Attributes["value"].Value=keyvalue;
// xn1.ParentNode.RemoveChild(xn1);
break;
}
} //当前节点不存在,则添加新节点
if(addNode)
{
//创建新节点
XmlNode xn2=xd.CreateElement("add"); //添加key
XmlAttribute xa=xd.CreateAttribute("key");
xa.Value=appSettingsAddkey;
xn2.Attributes.Append(xa); //添加value
xa=xd.CreateAttribute("value");
xa.Value=keyvalue;
xn2.Attributes.Append(xa);
xd.SelectSingleNode("/configuration/appSettings").AppendChild(xn2);
}
//保存web.config
xd.Save(path);
return true;
}
catch
{
return false;
}
}
{
string sDataSource = System.Configuration.ConfigurationSettings.AppSettings.Get(KeyValue);
return sDataSource;
} public string writeWebConfig(string KeyName,string KeyValue)
{
System.Configuration.ConfigurationSettings.AppSettings.Set(KeyName,KeyValue);
}
System.Configuration.ConfigurationSettings.AppSettings.Set(KeyName,KeyValue);
出错!“集合是只读的”
什么意思!!!我已经把web.config的权限里面+了个asp.net的用户,用户有所有权限。
还有一个问题
比如我的web.config里面
<appSettings>
<add key="RegName" value="444"/>
<add key="RegCode" value="222"/>
<add key="Phone" value="138000000"/>
<add key="PhonePass" value="123456"/>
</appSettings>
我用 LaoDai_Net(老代.Net『学无止境』) 提供的代码
xn1.Attributes["key"].Value这个值可以得到RegName
我应该怎么把RegName 的value “444”改成“555”呢 ??
谢谢大家指教一下