VerifyEmail.aspx?key=KMSO+tLs5zY=&val=ALKXZzxNxajUWVMaddKfPG/FcFD111CD
Request.QueryString["key"].ToString()
给我"KMSO tLs5zY="
我想要键值"KMSO+tLs5zY="
如果您可以修改 url 参数,则可以使用该HttpUtility.UrlEncode
方法对值进行编码,例如:
string url = "VerifyEmail.aspx?key=" + HttpUtility.UrlEncode("KMSO+tLs5zY=");
另一种方法是使用Base64编码
string url = "VerifyEmail.aspx?key=" + EncodeTo64("KMSO+tLs5zY=");
并解码读取查询字符串的值
String value = DecodeFrom64(Request["key"]);
本文提供了 EncodeTo64 和 DecodeFrom64 的代码http://arcanecode.com/2007/03/21/encoding-strings-to-base64-in-c/
生成 url 时不要使用%2B
而不是 。+
如果您在请求时得到 %2B 本身,请不要尝试使用
Request.QueryString["key"].ToString().Replace("%2B","+")
使用 HttpUtility 类的 UrlEncode() 方法:
HttpUtility.UrlEncode("KMSO+tLs5zY=")
(: