ASP.NET与Javascript中获取URL信息
上次看到一篇Making sense of ASP.Net Paths关于.NET中获取URL相关信息的文章,感觉总结的很好,消除了我一些模糊的认识。以前都是要用时在MSDN中找一下Request的文档,对各个属性的差别并不清楚,今天我也把一些常用的属性整理一下,做个总结。如有什么不对的地方,还请大家指教。
我们假设访问这个地址:http://localhost:1351/WebSite1/dir/Default.aspx/adsf?id=12#test ,下面是各个方法的返回值。
ASP.NET |
||
Request Property | Result | Remark |
---|---|---|
Request.ApplicationPath | /WebSite1 | 相对于应用程序(而非虚拟目录)根目录的路径 |
Request.PhysicalApplicationPath | C:\Documents and Settings\wstone.SPANSION\Desktop\WebSite1\ | 应用程序根目录的物理路径 |
Request.PhysicalPath | C:\Documents and Settings\wstone.SPANSION\Desktop\WebSite1\dir\Default.aspx | 当前请求的物理路径 |
Request.PathInfo | /adsf | 附加的路径信息 |
Request.RawUrl | /WebSite1/dir/Default.aspx/adsf?id=12 | 当前请求相对于应用程序根目录的路径 |
Request.Url | http://localhost:1351/WebSite1/dir/Default.aspx/adsf?id=12 | 当前请求的完整路径(不包括#之后的) |
Request.CurrentExecutionFilePath | /WebSite1/dir/Default.aspx | |
Request.FilePath | /WebSite1/dir/Default.aspx | |
Request.Path | /WebSite1/dir/Default.aspx/adsf | |
Request.ServerVariables["SERVER_NAME"] | localhost | |
Request.ServerVariables["SERVER_PORT"] | 1351 | |
Request.ServerVariables["SERVER_PORT_SECURE"] | 0 | |
Server.MapPath("~") | C:\Documents and Settings\wstone.SPANSION\Desktop\WebSite1 | |
Server.MapPath("~/") | C:\Documents and Settings\wstone.SPANSION\Desktop\WebSite1\ | |
Server.MapPath("~/1.jpg") | C:\Documents and Settings\wstone.SPANSION\Desktop\WebSite1\1.jpg | |
#test | ASP.NET中不能得到#之后的test,因为#不回发页面 |
PS:在VS2005中打开WebSite1网站,在浏览器中查看,此时WebSite1为虚拟目录。
Javascript |
|
Location Property | Result |
---|---|
location.hash | #test |
location.host | localhost:1351 |
location.hostname | localhost |
location.href | http://localhost:1351/WebSite1/dir/Default.aspx/adsf?id=12#test |
location.pathname | /WebSite1/dir/Default.aspx/adsf |
location.port | 1351 |
location.protocol | http: |
location.search | ?id=12 |
posted on 2007-11-19 16:28 Superstone 阅读(640) 评论(0) 编辑 收藏 举报