更新web.config中的值

时间:2010-02-21 06:34:48

标签: asp.net .net-3.5 frameworks

我需要使用。将一个转义的html字符串存储在web.config中的一个键中 框架3.5中内置的KeyValueConfigurationElement.Save方法。但是当我尝试这样做时 它一直在逃避我的&符号。

代码如下所示:

strHTML = DecodeFTBInput(FTB1.Text)

FTB1.Text是一个HTML字符串,如下所示:<b><font color="#000000">Testing</font></b>

DecodeFTPInput使用String.Replace()方法更改&lt;和&gt;到&lt;&gt;,以及“到&quot;

鉴于上述字符串和函数,我们假设strHTML现在包含以下内容:

&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;Testing&lt;/font&gt;&lt;/b&gt;

当然我可以手动编辑web.config来存储正确的值,但是我需要经过身份验证的管理员用户才能自己更改html。

问题是,当我尝试将此字符串保存到web.config中的键时,它会逃脱所有的&符号 作为&amp;,它破坏了字符串。

我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

web.config是一个XML文件,因此当它在那里写入值时,.NET Framework使用HTML encoding存储字符串,替换< > &个字符&lt;&gt;&amp;等等。

如果您希望web.config文件中的HTML可编辑,则需要从HTML编码字符串中停止DecodeFTPInput方法。否则你将进行两次HTML编码,这不是你想要的结果!