我正在传递加密的URL字符串:
的Default.aspx?S3tLlnIKKzE%3D
我想将该URL字符串传递回变量中的ASPX页面。
protected string qs = string.Empty;
NameValueCollection qscollstring = HttpContext.Current.Request.QueryString;
qs = qscollstring[0];
返回:S3tLlnIKKzE =
qscollstring [0]中的值是正确的:S3tLlnIKKzE%3d
我理解问题是URL-Encoding,但我找不到保持字符串的方法。
似乎从qscollstring [0]中分配值是: S3tLlnIKKzE%3d
字符串更改值: S3tLlnIKKzE =
我需要留下来: S3tLlnIKKzE%3d
答案 0 :(得分:4)
使用HttpUtility.UrlEncode
方法对字符串进行编码。
qs =HttpUtility.UrlEncode(qscollstring[0]);
答案 1 :(得分:0)
您还可以从当前URL的Uri中提取值,而无需对值进行编码。
样品:
Uri u = new Uri("http://localhost.com/default.aspx?S3tLlnIKKzE%3d");
string q = u.Query;
部分页面:
string q = !String.IsNullOrEmpty(Request.Url.Query) && Request.Url.Query.Length > 1 ? Request.Url.Query.Substring(1) : Request.Url.Query;
答案 2 :(得分:0)
如果您正在搜索reverse
..使用
qs =HttpUtility.UrlDecode("S3tLlnIKKzE%3d");
取回 S3tLlnIKKzE =