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种方法 建议写成通用的替换函数,以后用方便