移动的 Web 表单无法加载



我是 asp.net 的新手,我有 asp.net 嵌套母版页的应用程序。(.Net 3.5(我在根目录中有一个 Web 表单,我将其移动到我在 root 下创建的文件夹。从这一点开始,我开始得到"不能使用前导..退出顶部目录上方"错误,同时加载该 Web 表单。我在网上挖掘,我尝试了前缀"~","/","../"但我无处可去。我的代码如下。

<li>
<a href=Staff/New_Staff.aspx">Add New Staff</a>
</li>

我尝试在"Staff"目录下再创建一个 Web 表单,但此表单在加载时也会生成相同的错误。感谢帮助。

如果我没记错的话,你在 href 中使用了双代码。 根据您的文件夹结构,它应该是这样的。

<a href="Staff/New_Staff.aspx">Add New Staff</a>

和 对于任何找到此线程的人来说,解决相对路径总是会产生关于正确与否的争论。

根据您使用要寻址的路径的位置,这将取决于您如何寻址路径。

一般:

.和 ./执行相同的操作,但是您不会将 . 与文件名一起使用。否则,浏览器将从服务器请求 .filename.ext 作为文件。正确的方法是 ./filename.ext。

../寻址从当前文件夹向上一级的路径。如果您在路径/cheese/crackers/yummy.html 中,并且您的链接代码要求 ../butter/spread.html 在文档 yummy.html 中,那么就服务器而言,您将寻址路径/cheese/butter/spread.html。

/将始终寻址站点的根目录。

在 ASP.NET Web Form中,我们通常使用超链接服务器控件来创建URL,如梅森所说。

<asp:HyperLink runat="server" NavigateUrl="~/Staff/New_Staff.aspx" Text="Add New Staff"/>

如果不想使用它,可以手动在前面加上<%= ResolveUrl("~/") %>

<a href="<%= ResolveUrl("~/") %>Staff/New_Staff.aspx">Add New Staff</a>

最新更新