如何为 ASP.net/C# 应用程序配置文件值中的值添加与号
Posted
技术标签:
【中文标题】如何为 ASP.net/C# 应用程序配置文件值中的值添加与号【英文标题】:How can I add an ampersand for a value in a ASP.net/C# app config file value 【发布时间】:2008-12-17 21:45:28 【问题描述】:我有一个 C# 程序,其值在配置文件中。我想要的是为像这样的 url 值存储 &
<appSettings>
<add key="myurl" value="http://www.myurl.com?&cid=&sid="/>
</appSettings>
但我在构建网站时遇到错误。 & 号是不允许的。我尝试了各种形式的转义&符号无济于事。有人知道这样做的正确形式吗?欢迎所有建议。
【问题讨论】:
【参考方案1】:使用“&amp;
”代替“&”。
【讨论】:
我真的以为我已经尝试过了。我想我错过了尾随的“;”在末尾。无论如何,它确实有效,所以感谢 Eric 的反馈。 这行得通,但是我必须在我访问此设置的任何地方放置一个 string.Replace("&","&") ,否则当您单击时浏览器将无法正确检测到它链接:/ 嗯...这很令人失望。我的意思是,ConfigurationManager 不会自动取消转义这些 &xyl;从配置文件中获取字符时。 @Efrain 不确定 DLeh 到底在说什么,但 unescape 肯定可以正常工作。刚刚使用标准appSettings
和自定义NameValueCollection
部分对此进行了测试:& 符号在两者上都没有正确转义。【参考方案2】:
你试过了吗?
<appSettings>
<add key="myurl" value="http://www.myurl.com?&cid=&sid="/>
<appSettings>
【讨论】:
【参考方案3】:我认为您应该能够使用 html 转义字符 (&)。可以在http://www.theukwebdesigncompany.com/articles/entity-escape-characters.php找到它们
【讨论】:
此链接目前未显示任何文章。 链接仍然失效。【参考方案4】:尽管此处接受的答案在技术上是正确的,但基于 cmets 的用户之间似乎存在一些混淆。在 .cshtml 文件中使用 ViewBag 时,您必须使用 @Html.Raw
否则您的数据在被 ConfigurationManager 转义后将再次重新转义。使用Html.Raw()
来防止这种情况发生。
【讨论】:
以上是关于如何为 ASP.net/C# 应用程序配置文件值中的值添加与号的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Spring Boot 应用程序的 gradle 构建设置活动配置文件?