3

我有一个深度嵌套的页面。还有一个在根路径中。在深度嵌套的页面内部,我有一个锚标记,它应该导航到另一个页面(不在根中,但很容易指定根相对路径)。

我做了以下尝试指定根相对路径:

<a href="~/home/main.aspx">Home</a>-> 这个给我一个 404 错误。它无法将~部分解析为根路径。

另一种选择是向上移动一个目录:

<a href="../../../home/main.aspx">Home</a>-> 这很头疼。

然后我尝试了这个:

<a href="/home/main.aspx">Home</a>-> 这又给了我一个 404。它只是删除了localhost:<port_number>/零件后面的内容并用/home/main.aspx.

在这里指定根相对路径的方法是什么?

PS:我假设根相对路径将为服务器控件解析

4

2 回答 2

8

波浪号 (~) 仅被该WebControl.ResolveUrl方法识别,因此您必须在 上调用此方法Page,这是一个WebControl

<a href='<%=ResolveUrl("~/home/main.aspx") %>'>Home</a>
于 2010-07-21T13:49:51.317 回答
0

如果您使用 asp.net 超链接控件,您将能够使用“~”。如果你不想使用 servercontrol 我认为你卡住了。

'/' 将通过常规链接将您带到站点的根目录,但您必须检查您是如何设置虚拟目录的。

于 2010-07-21T13:21:22.793 回答