将achor添加到aspx页面并获取域名

本文关键字:获取 域名 aspx achor 添加 | 更新日期: 2023-09-27 18:22:48

嗨,我正在尝试添加一个锚,它可以拉入域名,然后我可以拥有任何东西,例如

<a href="GET_THE_DOMAIN+/admin/pages/customers/add.aspx">ADD CUSTOMERS</a>

我如何在不进行硬编码的情况下获得域,因为我们将使用相同的网站,但在不同的域中使用不同的内容,换句话说,唯一改变的是域

感谢

将achor添加到aspx页面并获取域名

难道不能在没有域的情况下使用绝对链接吗?

<a href="/admin/pages/customers/add.aspx">ADD CUSTOMERS</a>

您可以创建一个所有aspx页面都继承的基页,并在该基页中添加以下函数:

 public string RootUrl(bool includeAppPath = false)
    {
        var context = HttpContext.Current;
        var port = context.Request.ServerVariables["SERVER_PORT"];
        if (port == null || port == "80" || port == "443")
        {
            port = "";
        } else
        {
            port = ":" + port;
        }
        var protocol = context.Request.ServerVariables["SERVER_PORT_SECURE"];
        if (protocol == null || protocol == "0")
        {
            protocol = "http://";
        }else
        {
            protocol = "https://";
        }
        var appPath = "";
        if (includeAppPath)
        {
            appPath = context.Request.ApplicationPath;
            if (appPath == "/")
                appPath = "";
        }
        var sOut = protocol + context.Request.ServerVariables["SERVER_NAME"] + port + appPath + "/";
        return sOut;
    }

然后在你的锚标签中,你可以如下调用该函数:

 <a href='<%= RootUrl() %>/admin/pages/customers/add.aspx'>ADD CUSTOMERS</a>

您可以使用以下内容:

<a href="<%=Request.Url.Host%>/admin/pages/customers/add.aspx">ADD CUSTOMERS</a>

话虽如此,为什么你不能只使用一个没有域名的绝对URL呢?