ASP.NET知识点:母版页的路径问题
一、ASP.NET中常见的路径有六种写法:
<!--绝对路径:全地址路径,这里的MyWeb是已经建好的指向网站Web的虚拟目录--> <asp:Image ID="Image1" runat="server" ImageUrl="http://127.0.0.1/MyWeb/Images/1.jpg"/> <!--全地址路径,如果是公网IP的话,在任何网站引用都可以。而如果只是在本网站内引用的话,则可以进行省略--> <!--绝对路径:全地址路径省略写法,“/”表示根路径,用“/Web”省略了上面的“http://127.0.0.1/MyWeb”--> <asp:Image ID="Image2" runat="server" ImageUrl="/Web/Images/1.jpg"/> <!--绝对路径:全地址路径进一步省略写法,用“~”进一步省略了上面的“/Web”--> <asp:Image ID="Image3" runat="server" ImageUrl="~/Images/1.jpg"/> <!--相对路径:“.”表示当前文件所在目录--> <asp:Image ID="Image4" runat="server" ImageUrl="./Images/1.jpg"/> <!--相对路径:等同于上面的相对路径,省略写法,省略了“./”--> <asp:Image ID="Image5" runat="server" ImageUrl="Images/1.jpg"/> <!--相对路径:“..”表示当前文件所在目录的上一级目录--> <asp:Image ID="Image6" runat="server" ImageUrl="../Web/Images/1.jpg"/>
“../”可以复用,如果你的网页在某个文件夹里,可用下面的形式:
<asp:Image ID="Image1" runat="server" ImageUrl="../../Web/Images/1.jpg"/>
二、母版页的路径问题
在母版页中,如果是ASP控件,它的相对路径是相对母版页的,不会出什么问题;而如果是HTML控件,它的相对路径则是相对于引用页的,引用页如果在不同的文件夹中,就会出问题。
解决这个问题,我们可以
1:改成绝对路径,
2:将HTML控件替换成ASP控件,
3:采用Page.ResolverUrl方法,如 <img svr='<%=Page.ResolverUrl("~/MasterPager/Logo.gif")%>' alt="logo">
建议使用绝对路径,"~/"的形式。
posted on 2011-12-03 22:44 WestGarden 阅读(278) 评论(0) 编辑 收藏 举报