当前位置: 代码迷 >> ASP >> Request.QueryString("web")所取得的数据不能有逗号吗,要是有的话如何解决
  详细解决方案

Request.QueryString("web")所取得的数据不能有逗号吗,要是有的话如何解决

热度:340   发布时间:2012-04-19 14:36:43.0
Request.QueryString("web")所取得的数据不能有逗号吗,要是有的话怎么解决
我要做的网站中有一页要打开YAHOO的网站,
从页面中传过来的值中有逗号,但是我用response.Write(Request.QueryString( "web "))的时候,打出来的字符只到这,网址取不全,网页也就打不开了

http://search3.auctions.yahoo.co.jp/search?sb=desc,cat

本来应该是这些的

http://search3.auctions.yahoo.co.jp/search?sb=desc,cat&desc=lumix+fx07&cat=2084042338&auccat=2084042338&acc=jp&apg=&f=0x92&s1=bids&o1=a&alocale=0jp&mode=2

要怎么能解决这个问题呢.大哥大姐们


这个是我的传值的网址
http://localhost/guest/filter.asp?
web=http://search3.auctions.yahoo.co.jp/search?sb=desc,cat&desc=lumix+fx07&cat=2084042338&auccat=2084042338&acc=jp&apg=&f=0x92&s1=bids&o1=a&alocale=0jp&mode=2

------解决方案--------------------
在上面你写的传值的网址里。本来后面的一串都应该是给web这个变量的,但是因为在后面有&符号,所以系统认为web的变量值是到&就结束了。后面的就属于第二个变量了。所以你的问题出在&符号,而不是逗号上。
------解决方案--------------------
&是get方法传变量的分隔符。建议你换个&,然后获取后再替换回来好了。
------解决方案--------------------
方法1,楼上的方法

response.Write Request.QueryString

得到结果:
web=http://search3.auctions.yahoo.co.jp/search?sb=desc,cat&desc=lumix+fx07&cat=2084042338&auccat=2084042338&acc=jp&apg=&f=0x92&s1=bids&o1=a&alocale=0jp&mode=2
然后再替换掉你的 "WEB= "

2,在传值的时候 替换所有的 "& " 为 "! "
然后在接收到后,再把 "! "替换成 "& "

我常用第2种方法 建议写成通用的替换函数,以后用方便
  相关解决方案