请教高手:“?”为何变成了“%3f”?
用C/S程序打开指定的网页传参数:
Process.Start( "IExplore.exe ",@ "E:\code\vs2003\C#\myapp\news_grid.htm?user=admin ");
执行后在浏览器中变成:E:\code\vs2003\C%23\myapp\news_grid.htm%3fuser=admin
请问这是怎么回事?谢谢
[解决办法]
? ?
两个不一样
[解决办法]
被编码了
# %23
? %3f
[解决办法]
UrlEncode(str)
[解决办法]
没错误 只是没找到而已,换个正确的路径就不会弹了
[解决办法]
应该是编码问题吧 urlencode()
[解决办法]
解码后执行
[解决办法]
ASCII码
[解决办法]
晕~!怎么会是ASCII码呢!
小问号ASCII码为:63
大问号为:65311
[解决办法]
你的参数传递的是@ "E:\code\vs2003\C#\myapp\news_grid.htm?user=admin ",实际上这是一个文件请求而不是http请求,文件路径不支持 "? ".
[解决办法]
要在C/S程序中调用结合web系统,那就应该将web系统发布,比如发web系统站点名为WebApp,调用方式应该为System.Diagnostics.Process.Start( "IExplore.exe ",( "http://Localost/Code/vs2003/C#/myapp/news_grid.htm?user=admin "));
[解决办法]
你现在调用的是你的本地路径,你换一个http网址试试,应该就不会出现这个问题
调试的时候不要用自已设想的本地路径,将来运行的时候,又不会调用本地路径