.NET Core配置URL中&符号被编码:如何禁止该编码操作?
解决.NET对appsettings.json中URL配置的编码问题
我在appsettings.json中保留了如下URL配置:
"MapLookupURL": "https://www.google.com/maps/search/?api=1&query=",
随后通过以下代码获取该字符串:
window.open("@(Configuration.MapLookupURL)" +
问题在于.NET会对该字符串进行编码(包括&query=中的&符号),导致&符号之后的内容失效。以下是几种阻止编码的方法:
使用
Html.Raw()方法:直接让Razor引擎输出原始字符串,跳过HTML编码步骤,修改后的代码如下:window.open("@Html.Raw(Configuration.MapLookupURL)" +这个方法最直接有效,能确保URL里的&符号保持原始状态,不会被转义成
&。确认配置文件格式:确保appsettings.json中的URL不需要额外转义&符号,JSON语法里&属于普通字符,直接写入即可,不需要写成
\&或者&。
内容的提问来源于stack exchange,提问作者McMurphy
相关产品推荐
相关产品推荐

