我的解决方案中是这么写的:
我新建了一个:control文件夹;和该文件夹并列的有a.aspx和b.aspxc.aspx三个页面。
我在control文件夹中定义了header.ascx控件,控件内容就是一个连接文本:
在header.ascx的“源”页面我设置了连接:
问题出在:
1.定义连接用 <a href="a.aspx">a.aspx</a>
可以打开连接,
2.定义连接用<a href="../a.aspx">a.aspx</a>(这个是按照系统智能提示写出来的连接)
调试时候出现错误!
错误如下:(Mybookshop是我解决方案名)
鐗堟湰淇℃伅: ASP.NET Development Server 8.0.0.0
.ascx只是一个控件,它需要aspx承载,也就是.ascx生成的连接等都要相对于承载ascx的aspx为准!
<a href="../a.aspx">a.aspx</a>表示你要从引用ascx的页面连接到它的上一级目录中的a.aspx,所以找不到是正常的!如果control文件夹;和该文件夹并列的有a.aspx和b.aspxc.aspx三个页面都在站点的根目录就不会有错,如果它们在整个站点的虚拟目录或实际目录下就会有错!也就是说../../这类的东西只对目录有效,对站点无效!
header.ascx放在哪个aspx里面了?相对地址要以aspx为基准
如果你觉得你对路径没有把握,建议你使用asp:HyperLink 这样,你就可以使用~/来表示根路径了~~~