给定 url /Page.aspx?a=b&title=apples+%26+pears
,Request.Url
属性返回 /Page.aspx?a=b&title =苹果+&+梨
请注意,第二个键值对中的 url 编码的 & 符号已被自动解码。 其他 url 编码的保留字符不会自动解码。
这种行为正确吗?
编辑:问题是 Request.Url 属性在我不期望的情况下自动解码编码的&符号。
答案: string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Host, Sitecore.Context. Request.RawUrl)
最佳答案
Request
的
Url
属性在名为 CollapsePercentUFromStringInternal
的内部方法中进行解码。
您可以在反射器中看到这一点。无论如何,我认为这是默认行为。
更新
您可以使用 RawUrl 属性来获取未解码的 URL。
关于.net - 带有 url 编码和符号的查询字符串在 Request.Url 中过早解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3986736/