我希望能够完全理解在静态和动态文件中如何使用相对和绝对URL地址。
~ :
/ :
.. : in a relative URL indicates the parent directory
. : refers to the current directory
/ : always replaces the entire pathname of the base URL
// : always replaces everything from the hostname onwards
如果你没有使用虚拟目录,那么这个例子很容易理解。但是我正在使用虚拟目录。
Relative URI Absolute URI
about.html http://WebReference.com/html/about.html
tutorial1/ http://WebReference.com/html/tutorial1/
tutorial1/2.html http://WebReference.com/html/tutorial1/2.html
/ http://WebReference.com/
//www.internet.com/ http://www.internet.com/
/experts/ http://WebReference.com/experts/
../ http://WebReference.com/
../experts/ http://WebReference.com/experts/
../../../ http://WebReference.com/
./ http://WebReference.com/html/
./about.html http://WebReference.com/html/about.html
我想模拟下面的网站,就像我的项目一样,它正在使用虚拟目录。这是我的aspx和ascx文件夹。
http://hostAddress:port/virtualDirectory/MainSite/ASPX/default.aspx
http://hostAddress:port/virtualDirectory/MainSite/ASCX/UserCtrl/login.ascx
http://hostAddress:port/virtualDirectory/AdminSite/ASPX/ASCX/default.aspx
这些是我的JS文件(将与aspx和ascx文件一起使用):
http://hostAddress:port/virtualDirectory/MainSite/JavascriptFolder/jsFile.js
http://hostAddress:port/virtualDirectory/AdminSite/JavascriptFolder/jsFile.js
这是我的静态网页地址(我想展示一些图片并在其中运行一些JS函数):
http://hostAddress:port/virtualDirectory/HTMLFiles/page.html
这是我的图片文件夹。
http://hostAddress:port/virtualDirectory/Images/PNG/arrow.png
http://hostAddress:port/virtualDirectory/Images/GIF/arrow.png
如果我想在ASPX文件中编写图像文件的链接,我应该写什么?
aspxImgCtrl.ImageUrl = Server.MapPath("~")+"/Images/GIF/arrow.png";
但是如果我想要硬编码或从JavaScript文件中写入路径,应该使用什么样的URL地址?