gpt4 book ai didi

asp.net - 使用母版页asp.net时如何在文件夹中查找页面

转载 作者:行者123 更新时间:2023-12-01 09:01:02 25 4
gpt4 key购买 nike

当我的页面在解决方案的主级别时,菜单项href可以找到内容页面。当我将内容页面放在子文件夹中并分别更改 href 路径时,它找不到页面。这似乎只是 MasterPages 的问题。我在这里错过了什么吗?我得到错误“/”应用程序中的服务器错误找不到资源 HTTP 404。请求的 URL:/Pages/Pages/Items.aspx

为什么它会在我的路径前添加另一个/Pages?

解决方案

Project
+Images
-Pages
Items.aspx
Library.aspx
+Styles
Default.aspx
Site.Master

母版页

  <div id="tabdiv" class="tabdiv">
<ul id="tabmenu" class="tabmenu">

<li><a href="Pages/Items.aspx" class="separator">Items</a></li>
<li><a href="Pages/Library.aspx">Library</a></li>

</ul>
</div>
<div id="main" class="main">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>

最佳答案

简短的回答,使用绝对路径(到您网站的根目录)或使用 ~/将所有页面与站点根相关联(后者在服务器位置更改之间更加安全和健壮)。

推理?

  • 当您位于链接到 / 的根目录 ( Pages/Items.aspx ) 中时结合这两个:/Pages/Items.aspx .
  • 当您已经在 Pages/ 中时您现在重新引用同一目录 Pages/Items.aspx所以你得到的总值(value)为 /Pages/Pages/Items.aspx .

如果您想链接到项目,请查看 Control . ResolveUrl 方法。例如

<a href="<%= Page.ResolveUrl("~/Pages/Items.aspx") %>" class="separator">Items</a>

现在,无论该链接嵌入哪个页面,它仍然会提供该资源的绝对路径(在本例中为 Items.aspx)。

关于asp.net - 使用母版页asp.net时如何在文件夹中查找页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17044910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com