【发布时间】:2012-10-16 13:43:02
【问题描述】:
如何在查询字符串中发送特殊字符?
喜欢:
thankyou.aspx?data=GQH/FUvq9sQbWwrYh5xX7G++VktXU5o17hycAfNSND8gt8YbbUaJbwRw
当我这样做时,++ 被取出:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim theData As String = Request.QueryString("data")
....
它像这样将它存储在数据中:
GQH/FUvq9sQbWwrYh5xX7G VktXU5o17hycAfNSND8gt8YbbUaJbwRw
因此它是无效的。我怎样才能正确地发送该字符串而不会在收到后更改?
更新
这样做:
Dim en As String = endecryption.EncryptData("=" & "aclub" & "=" & strName & "=" & strEmail)
Response.Redirect("/thankyou.aspx?data=" & HttpUtility.UrlEncode(en), False)
在另一端:
Dim theData As String = HttpUtility.UrlDecode(Request.QueryString("data"))
它像这样发送它:GQH%2fFUvq9sQbWwrYh5xX7G%2bVktXU5o17hycAfNSND8gt8YbbUaJbwRw
但它的解码方式如下:GQH/FUvq9sQbWwrYh5xX7G[2 个空格]VktXU5o17hycAfNSND8gt8YbbUaJbwRw
【问题讨论】:
-
@Aristos:当我这样做时,它会显示为 GQH%2fFUvq9sQbWwrYh5xX7G%2b%2bVktXU5o17hycAfNSND8gt8YbbUaJbwRw
-
你在做什么?如果您进行完全替换并编码/解码,则字符串是正确的。
标签: asp.net vb.net query-string request-queueing