首次进入时使用的参数
Response.Redirect("itpow.aspx?id=1¶m=" + HttpUtility.UrlEncode("p1=1&p2=2"));
如上,param 参数的值是 p1=1&p2=2,由于与 URL 的约定字符冲突,所以需要使用 UrlEncode。
那么在 itpow.aspx 中,如果我们想继续定位到 id=2,param 不变,那么我们将 param 取下来后,组装 URL 时,还需要 UrlEncode 吗?
需要!
Response.Redirect("itpow.aspx?id=2¶m=" + HttpUtility.UrlEncode(Request.QueryString["param"]));
因为我们 Request.QueryString 取出来的值是解了码的,如果要再将进入 URL 作为参数,则还需要编码。