(5) 按Ctrl+F5键在浏览器中打开页面。注意浏览器地址栏的地址类似这样http://localhost: 1723/Ex7_1/Default.aspx。读者的端口号和应用程序名可能与这里略有不同,但是重要的是注意Web站点位于名为localhost的Web服务器下的Ex7_1文件夹中。还可以发现显示的第二个图像被中断了。这是因为开头的斜杠引用了Web服务器的根文件夹,因此在http://localhost:1723/ Pictrue.jpg这个不存在的位置寻找不到图像,因为图像位于Ex7_1子文件夹中。
在浏览器中打开页面的源代码,看一下3个<img>元素:
广州网站建设
前两个URL与添加到ASPX页面的URL相同。然而第三个URL已经被改为引用该图像的页面所在的文档中的图像。
(6) 在【解决方案资源管理器】中单击该Web项目的根文件夹,然后【属性】窗口将其【虚拟路径】的属性值由/ Ex7_1改为/,如图7-3所示。
![]() |
| 图7-2 【选择图像】窗口 |
![]() |
| 图7-3 Web项目的虚拟路径 |
(7) 再次按Ctrl+F5键在浏览器中重新打开Default.aspx。地址栏现在会显示类似这样的地址http://localhost:1723/Default.aspx。从中可以看出,页面Default.aspx现在位于服务器的根文件夹中。因此,3个图像现在都会正确地显示。
(8) 返回VWD 2008中,在【解决方案资源管理器】窗口中创建一个名为Test的文件夹。从站点的根文件夹中将Default.aspx拖到这个新文件夹中,然后在浏览器中请求页面。这次第一个图像会被打断。如果打开HTML源代码,将看到这样的代码:
广州网站建设
- <img id="Image1" src="pictrue.jpg" style=" border-width:0px;" /> <br />
- <img id="Image2" src="/pictrue.jpg" style=" border-width:0px;" /> <br />
- <img id="Image3" src="../pictrue.jpg" style=" border-width:0px;" /> <br />
第一个<img>元素试图找到一个相对于当前文档的图像。由于当前文档位于Test文件夹中,而图像位于站点的根文件夹中,因而导致了被中断的图像。另外两个src属性指向站点根文件夹中的正确图像。
【例7-1】演示了用~语法表示站点的根文件夹通常是引用资源(如图像)的最可靠的方式。在【例7-1】中看到的3种情况下,只有第3个图像每次都会正确显示。当一个<asp:Image>这样的控件需要一个路径时,它会发现当前应用程序根文件是什么,并相应地调整路径。广州网站设计
3. 默认文档
每个Web服务器都有所谓的默认文档,即当没有提供显式的文档名时浏览器可以请求的一个文档。因此,当浏览http://www.domainname.com时,Web服务器会扫描请求的目录并处理它找到的默认文档列表中的第一个文件。在大多数ASP.NET的情况下,Web服务器被配置为使用Default.aspx作为默认文档。因此,当浏览ASP.NET Web服务器上的http://www.domainname. com时,实际上打开了页面http://www.domainname.com/Default.aspx。广州网站设计





