【问题标题】:How to make a URL relative to a different virtual directory on the same server如何使 URL 相对于同一服务器上的不同虚拟目录
【发布时间】:2010-12-01 12:19:32
【问题描述】:

我知道使用波浪号字符 ~ 表示网站根的符号。 下面的链接是名为“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>

附言我们只是“虚拟化”了这个物理网络服务器,我正在尝试从新的虚拟机测试网络,这个链接一直把我带回真实的物理机器。

【问题讨论】:

    标签: asp.net hyperlink navigateurl


    【解决方案1】:

    我建议您改为这样做:

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

    如果这段代码在 UserControl 中,没有它可能无法正确找到虚拟的根目录。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 谢谢亚伦。我应该知道的。
      • 我看到这行得通,但为什么这被称为绝对路径?似乎包含 domainname.com 部分会使其成为绝对路径,这将是什么,“相对路径”?
      • 绝对路径从网站根目录开始,相对路径从页面所在目录开始。
      猜你喜欢
      • 2012-03-10
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 2012-03-22
      相关资源
      最近更新 更多