asp.net:在普通的非服务器端html控件中引用相对于root的页面

deo*_*oll 3 asp.net url relative-path root

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

我已经完成以下尝试指定根相对路径:

<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:我假设根相对路径将解析服务器控件

Sky*_*ers 8

波浪号(〜)只能被WebControl.ResolveUrl方法识别,所以你必须在它上面调用这个方法Page,这是一个WebControl

<a href='<%=ResolveUrl("~/home/main.aspx") %>'>Home</a>
Run Code Online (Sandbox Code Playgroud)