ResolveClientUrl在不指向域根的虚拟目录中

时间:2012-05-13 07:13:47

标签: c# asp.net iis virtual-directory

我有一个包含以下虚拟目录的网站,每个虚拟目录都配置为应用程序根目录:

  1. _root / WEBSITE1
  2. _root / WEBSITE2
  3. _root / WEBSITE3
  4. 每个人都有自己的指向域:

    1. www.website1.com
    2. www.website2.com
    3. www.website3.com
    4. 当我在网站1上调用 ResolveClientUrl(“〜/ Default.aspx”)时,它会返回:

        

      /website1/Default.aspx

      这是正确的,但浏览器会将用户指向:

        

      http://www.website1.com/website1/Default.aspx

      这是错的,它应该指向:

        

      http://www.website1.com/Default.aspx

      我理解为什么会发生这种情况,我想知道是否有一些workarround告诉我的应用程序忽略虚拟目录并且它位于网站的根目录中,在这种情况下是域的根目录?也许重写ResolveClientUrl并添加一个标志?

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码:

string.Format(Request.IsSecureConnection?“https:// {0} {1}”:“http:// {0} {1}”,Request.Url.Host,Page.ResolveUrl(“〜/ Default.aspx的“));