与号 url 编码和查询字符串参数问题

Posted

技术标签:

【中文标题】与号 url 编码和查询字符串参数问题【英文标题】:Ampersand url encoding and query string parameter issue 【发布时间】:2017-07-22 13:02:22 【问题描述】:

我有一个 aspx 项目丢在我的腿上,我遇到了以下问题。

他们正在超链接的 NavigateUrl 中调用一个函数,并且正在对“&”进行编码

href="/products/automotive-glass/?position=whatever&brand=whatever"

但当点击此编码时,地址栏中会显示。然后当我尝试获取查询字符串参数的值时

<asp:QueryStringParameter Name="brand" QueryStringField="brand" />

传递给它没有找到它的函数,因为参数名称实际上是 amp;brand

有没有办法在地址栏中不包含编码或通过编码获取参数值?

【问题讨论】:

【参考方案1】:

使用内置的静态类实用方法HttpUtility.UrlEncodeHttpUtility.UrlDecode 对Url 进行编码和解码。您需要引用 System.Web 才能使用它们。这是一些文档的链接:https://msdn.microsoft.com/en-us/library/system.web.httputility.urlencode(v=vs.110).aspx

【讨论】:

以上是关于与号 url 编码和查询字符串参数问题的主要内容,如果未能解决你的问题,请参考以下文章

C# MVC 查询字符串编码和解码

使用 String addedPercentEncoding 将字符串编码为查询参数

简单的 PHP,显示字符串但已编码,受 URL 参数影响 [重复]

servlet 请求参数值包含与号?

使用 AWS API Gateway 访问原始 URL

URLEncode 中对 空格的编码有 “+”和“%20”两种