C# 重定向到带有端口的Url-IIS

C# 重定向到带有端口的Url-IIS,c#,iis,response.redirect,C#,Iis,Response.redirect,我正在尝试使用C#中的Response.redirect(url)重定向到url 例如,实际上我正在浏览 在页面加载中,我有一个Response.Redirect(“../ptd/page2.aspx”) 此事件发生后,浏览器将 (不含港口) 有人知道吗?端口号是URL主机段的一部分。使用相对URL时,使用相同的主机信息。更改主机(包括端口)的唯一方法是指定一个全新的主机,这意味着您必须使用绝对URL 您可以通过获取当前URL主机信息在JavaScript中执行此操作: var full = l

我正在尝试使用C#中的Response.redirect(url)重定向到url

例如,实际上我正在浏览

在页面加载中,我有一个Response.Redirect(“../ptd/page2.aspx”)

此事件发生后,浏览器将 (不含港口)


有人知道吗?

端口号是URL主机段的一部分。使用相对URL时,使用相同的主机信息。更改主机(包括端口)的唯一方法是指定一个全新的主机,这意味着您必须使用绝对URL

您可以通过获取当前URL主机信息在JavaScript中执行此操作:

var full = location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '');


另一个选项是通过c#应用程序的配置,在部署时指定一个“基本url”,并在将HTML交付给客户端之前使用它来构造新的url。

对不起,我使用的是c#,所以它必须在CodeBehind中执行。您返回的是HTML。您完全可以选择同时使用C#和JavaScript。据我所知,如果您使用Response.Redirect,它将不会修改url中的端口号。您是否在web.config中启用了url重写或httpredirect?是否只有在IIS中承载应用程序时才会发生此问题?