如何获取我在C#中所在页面的完整URL

时间:2020-03-05 18:46:45  来源:igfitidea点击:

我需要能够从用户控件中获得我所在页面的完整URL。仅仅是将一堆Request变量串联在一起的问题吗?如果是这样的话?还是有一种更简单的方式?

解决方案

回答

Request.RawUrl

回答

如果我们需要完整的URL作为从http到querystring的所有内容,则需要连接以下变量

Request.ServerVariables("HTTPS") // to check if it's HTTP or HTTPS
Request.ServerVariables("SERVER_NAME") 
Request.ServerVariables("SCRIPT_NAME") 
Request.ServerVariables("QUERY_STRING")

回答

谢谢大家,我将答案@Christian和@Jonathan结合使用以满足我的特定需求。

"http://" + Request.ServerVariables["SERVER_NAME"] +  Request.RawUrl.ToString()

我不需要担心安全的http,不需要servername变量,并且RawUrl处理来自域名的路径,并包括querystring(如果存在)。

回答

我通常使用Request.Url.ToString()来获取完整的url(包括querystring),不需要连接。

回答

Request.Url.AbsoluteUri

此属性可在一次简短的调用中完成我们需要的一切。