【问题标题】:Cannot use a leading .. to exit above the top directory (ASP.NET webforms)不能使用前导 .. 退出顶级目录(ASP.NET 网络表单)
【发布时间】:2018-01-20 12:18:25
【问题描述】:

我有一个 ASP.NET webforms 项目,其中包含使用 adminlte UI 的母版页。

我在 Visual Studio 中使用默认项目创建了一个网站,然后更改项目以应用 adminlte 仪表板,复制所有脚本和引导程序,然后更改母版页和默认表单。

我的问题:在菜单边栏中,当我尝试从根文件夹添加并执行此操作时

<li>
  <a runat="server" href="Shipment.aspx">
    <i class="fa fa-th"></i><span>Shipment</span>
  </a>
</li>

一切正常,表单加载没有任何问题。

但是当我创建了一个文件夹 Track 并在其中创建了一个新表单并尝试这样做时

<li>
  <a runat="server" href="~/Track/Shipment.aspx">
    <i class="fa fa-th"></i><span>Shipment</span>
  </a>
</li>

我得到了这个例外:

exception

我试过了

第一次尝试:

<li>
  <a runat="server" href="../../Shipment.aspx">
    <i class="fa fa-th"></i><span>Shipment</span>
  </a>
</li>

第二次尝试:

<li>
  <a runat="server" href="../Track/Shipment.aspx">
    <i class="fa fa-th"></i><span>Shipment</span>
  </a>
</li>

第三次尝试:

<li>
  <a runat="server" href="~/../Shipment.aspx">
    <i class="fa fa-th"></i><span>Shipment</span>
  </a>
</li>

最后的尝试:

<li>
  <a runat="server" href=~/Track/Shipment.aspx">
    <i class="fa fa-th"></i><span>Shipment</span>
  </a>
</li>

【问题讨论】:

  • 我创建的文件夹是项目根目录下的文件夹,是子目录文件夹
  • 在实际问题中发布(相关部分)异常,而不是作为链接。
  • 发布 2-final 的尝试结果。最后一个应该可以工作,错误是什么?
  • 我们可以在您的母版页中看到菜单用户控件的路径吗?
  • @HenkHolterman 我不知道该怎么做,每次我把它放在问题中我都会收到消息说我的问题的代码格式不正确

标签: c# asp.net webforms


【解决方案1】:

我已经修复了一些已弃用和多余的标记 - 调整任何相关的 CSS 选择器。

试试这个:

<li>
  <a runat="server" href="~/Shipment.aspx">
    <em class="fa fa-th">Shipment</em>
  </a>
</li>

假设没有页面名称冲突,“~/”应该从主项目根目录开始解决任何问题。你的一些尝试应该有效,所以我想也许是其他原因导致了问题。假设您的菜单位于用户控件中,也许是导致问题的母版页中此控件的路径?

【讨论】:

  • 发布错误信息。我认为在这一点上很明显你没有给我们足够的信息。
猜你喜欢
  • 2010-09-16
  • 1970-01-01
  • 2012-01-14
  • 2011-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-19
相关资源
最近更新 更多