在c#webforms中,使用端口dosen'获取当前路径;不要返回港口
我在在c#webforms中,使用端口dosen'获取当前路径;不要返回港口,c#,path,webforms,C#,Path,Webforms,我在localhost:5164中工作,并使用此函数获取当前路径 Request.Url.AbsoluteUri.ToString() 结果是正确的,绝对路径宽度端口。例如: http://localhost:5164/path/page1.aspx 但在域中,此函数不返回带有端口的路径(444是客户端浏览器的用法) 结果是: http://sub.domain.com/path/page1.aspx 我使用了其他函数,但结果总是不正确: Request.Url.ToString() Re
localhost:5164
中工作,并使用此函数获取当前路径
Request.Url.AbsoluteUri.ToString()
结果是正确的,绝对路径宽度端口。例如:
http://localhost:5164/path/page1.aspx
但在域中,此函数不返回带有端口的路径(444是客户端浏览器的用法)
结果是:
http://sub.domain.com/path/page1.aspx
我使用了其他函数,但结果总是不正确:
Request.Url.ToString()
Request.Url.OriginalString.ToString()
如果您只需要端口号,可以使用:
Request.Url.Port.ToString();
这将返回实际端口号,您可以验证它是否为444。如果为协议使用默认端口号,如http使用80,则在检查AbsoluteUri值时,它可能不会显示 如果您只需要端口号,可以使用:
Request.Url.Port.ToString();
这将返回实际端口号,您可以验证它是否为444。如果为协议使用默认端口号,如http使用80,则在检查AbsoluteUri值时,它可能不会显示 您可以从以下部分构建URL:
var url = Request.Url.Scheme + // http(s)
Uri.SchemeDelimiter + // //:
Request.Url.Host + // sub.domain.com
":" + Request.Url.Port + // :444
Request.Url.PathAndQuery; // path/page1
AbsoluteUri
如果是默认端口(80),则不会返回该端口。您可以从其部分构建URL:
var url = Request.Url.Scheme + // http(s)
Uri.SchemeDelimiter + // //:
Request.Url.Host + // sub.domain.com
":" + Request.Url.Port + // :444
Request.Url.PathAndQuery; // path/page1
AbsoluteUri
如果是默认值(80),则不会返回端口。最后,我找到了在这个特定服务器上返回带有端口的URL的解决方案
Page.ResolveClientUrl("~" + Request.Url.PathAndQuery.ToString())
最后,我找到了在这个特定服务器上返回带有端口的URL的解决方案
Page.ResolveClientUrl("~" + Request.Url.PathAndQuery.ToString())
我从结果中使用的任何请求函数都没有端口,但是您的代码可以很好地构造Url。我从结果中使用的任何请求函数都没有端口,但是您的代码可以很好地构造Url