我有一个要求,我必须通过querystring将一些值传递到下一页。 这个查询字符来自第三方,他们需要在另一个页面上进行分析。
我只是做一个response.redirect并将我从他们那里收到的查询字符串添加到另一页面。我的问题是.net环境正在编码/加密他们使用的一些特殊字符,我不想要它,因为它不会在新页面中带回正确的值。
示例:
传递了网址:
abcd.efgh=testing|value1=rtedf%20value2%202010-04-07%207pm|value3=aaaa
这会改为
abcd.efgh=testing|value1%3drtedf+value2+2010-04-07+7pm|value3%3daaaa
看起来“=”变成“%3d”而“%20”变成“+”
如何停止url的编码并以原始格式传递。
答案 0 :(得分:3)
您的查询字符串为URL encoded。由于应如何格式化URL,因此这是标准行为。您需要在接收页面上执行的操作是使用UrlDecode以恢复原始字符串。
答案 1 :(得分:1)
这不称为加密,它是 url-encoding ,是HTTP要求。
你无法阻止ASP.NET,你真的不应该尝试停止它!