首页 新闻 会员 周边 捐助

.net获取URL中带的参数时,如果参数中有http网址,就不能正确获取参数值?

0
悬赏园豆:30 [已解决问题] 解决于 2011-06-28 17:43

请看代码:

string strToUrl1 = this.Request["srl"];//获取url参数值。

访问该页面:www.xxx.com/abc.aspx?srl=http://www.cnblogs.com/?a=b&c=d

最终变量strToUrl1 的值会是 “http:”后面的都没有

调试时查看Request,发现Request.QueryString变成了 http:&www.cnblogs.com.....

请教一下,为什么//会变成&?

同一站点下的另一个页面却没有任何问题?

up-Henson的主页 up-Henson | 初学一级 | 园豆:82
提问于:2011-06-28 14:20
< >
分享
最佳答案
0

编码问题,获取参数的时候用string strToUrl1 = HttpUtility.UrlDecode(this.Request["srl"]);

这种参数传递时最好编码一下HttpUtility.UrlEncode("http://www.cnblogs.com/")

收获园豆:25
镆铘 | 菜鸟二级 |园豆:361 | 2011-06-28 16:20
解决了,是url重定向搞的鬼,不过还是谢谢各位。
up-Henson | 园豆:82 (初学一级) | 2011-06-28 17:43
其他回答(1)
0

www.xxx.com/abc.aspx?srl=http%3A//www.cnblogs.com/%3Fa=b%26c=d

收获园豆:5
lyjsd | 园豆:210 (菜鸟二级) | 2011-06-28 14:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册