我需要使用。将一个转义的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;到<
和>
,以及“到"
。
鉴于上述字符串和函数,我们假设strHTML
现在包含以下内容:
<b><font color="#000000">Testing</font></b>
当然我可以手动编辑web.config来存储正确的值,但是我需要经过身份验证的管理员用户才能自己更改html。
问题是,当我尝试将此字符串保存到web.config中的键时,它会逃脱所有的&符号
作为&
,它破坏了字符串。
我怎样才能解决这个问题?
答案 0 :(得分:1)
web.config
是一个XML文件,因此当它在那里写入值时,.NET Framework使用HTML encoding存储字符串,替换<
>
&
个字符<
,>
和&
等等。
如果您希望web.config文件中的HTML可编辑,则需要从HTML编码字符串中停止DecodeFTPInput方法。否则你将进行两次HTML编码,这不是你想要的结果!