我有一个ASP.Net页面,它将托管在几个不同的服务器上,我想获取页面的URL(甚至更好:托管页面的站点)作为在代码隐藏中使用的字符串.有任何想法吗?
Mik*_*key 225
用这个:
Request.Url.AbsoluteUri
Run Code Online (Sandbox Code Playgroud)
这将为您提供完整的路径(包括http:// ..)
WDu*_*ffy 118
如果只想要请求(协议,主机和端口)的方案和权限部分使用
Request.Url.GetLeftPart(UriPartial.Authority)
Run Code Online (Sandbox Code Playgroud)
小智 30
我在用
Request.Url.GetLeftPart(UriPartial.Authority) +
VirtualPathUtility.ToAbsolute("~/")
Run Code Online (Sandbox Code Playgroud)
Pre*_*ent 12
我在自定义类的代码中使用它.发送电子邮件如no-reply@example.com"no-reply @"+ BaseSiteUrl可以在任何网站上正常运行.
// get a sites base urll ex: example.com
public static string BaseSiteUrl
{
get
{
HttpContext context = HttpContext.Current;
string baseUrl = context.Request.Url.Authority + context.Request.ApplicationPath.TrimEnd('/');
return baseUrl;
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想在代码隐藏中使用它摆脱上下文.
你想要服务器名称吗?还是主机名?
Request.Url.Host ala Stephen
Dns.GetHostName - 服务器名称
Request.Url将可以访问您需要了解的有关所请求页面的大部分内容.
小智 8
Request.Url.GetLeftPart(UriPartial.Authority) + Request.FilePath + "?theme=blue";
Run Code Online (Sandbox Code Playgroud)
这将为您提供所在页面的完整路径.我在查询字符串中添加了.
小智 5
我遇到了同样的问题,到目前为止,我发现:
new Uri(Request.Url,Request.ApplicationPath)
Run Code Online (Sandbox Code Playgroud)
要么
Request.Url.GetLeftPart(UriPartial.Authority)+Request.ApplicationPath
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
336460 次 |
最近记录: |