如何为 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;amp;”代替“&”。

【讨论】:

我真的以为我已经尝试过了。我想我错过了尾随的“;”在末尾。无论如何,它确实有效,所以感谢 Eric 的反馈。 这行得通,但是我必须在我访问此设置的任何地方放置一个 string.Replace("&","&") ,否则当您单击时浏览器将无法正确检测到它链接:/ 嗯...这很令人失望。我的意思是,ConfigurationManager 不会自动取消转义这些 &xyl;从配置文件中获取字符时。 @Efrain 不确定 DLeh 到底在说什么,但 unescape 肯定可以正常工作。刚刚使用标准appSettings 和自定义NameValueCollection 部分对此进行了测试:& 符号在两者上都没有正确转义。【参考方案2】:

你试过了吗?

<appSettings>  
  <add key="myurl" value="http://www.myurl.com?&amp;cid=&amp;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# 应用程序配置文件值中的值添加与号的主要内容,如果未能解决你的问题,请参考以下文章

如何为 .NET 控制台应用程序设置配置文件?

如何为 Spring Boot 应用程序的 gradle 构建设置活动配置文件?

如何为现有应用启用 Apple 登录? “配置文件不支持使用 Apple 登录功能”

如何为生产和开发环境 iOS 设置不同的证书和配置文件?

如何为 .NET 应用程序域重新加载程序集?

如何为滚动文件系统日志配置 uber-go/zap 记录器?