如何在同一服务器上创建相对于不同虚拟目录的URL

时间:2009-09-25 17:57:37

标签: asp.net hyperlink navigateurl

我知道使用波形符〜表示网站根的符号。 下面的链接是名为“MDWelcome”的虚拟目录的一部分,虽然下面的代码“工作”,但我如何消除下面的HyperLink3中的“硬编码”域名,以便链接到“当前服务器上的MDS虚拟目录” “ (不管是什么)。

<li><asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl="http://www.mortgagedataweb.com/MDS/login.asp?default.asp">Subscriber Login</asp:HyperLink></li>
<li><asp:HyperLink ID="HyperLink4" runat="server" NavigateUrl="~/faq.aspx">FAQ</asp:HyperLink></li>

P.S。我们只是“虚拟化”这个物理网络服务器,我试图从新的虚拟机测试网络,这个链接让我回到真正的物理机器。

2 个答案:

答案 0 :(得分:1)

使用绝对路径,如下所示:

<li><asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl="/MDS/login.asp?default.asp">Subscriber Login</asp:HyperLink></li>

绝对路径是一种很好的做法,因为它们可以在您将站点推送到不同的环境或服务器时起作用。

答案 1 :(得分:1)

我建议你这样做:

<li><asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl="~/MDS/login.asp?default.asp">Subscriber Login</asp:HyperLink></li>

如果此代码在UserControl中,则可能无法正确找到虚拟根。