C# 从应用程序路径生成特定于域的url的最简单方法是什么。。?

C# 从应用程序路径生成特定于域的url的最简单方法是什么。。?,c#,asp.net,C#,Asp.net,我有如下特定于应用程序的url ~/Default.aspx ~/Manage/Page.aspx ~/Manage/Account/Default.aspx 我真的不知道这些路径到底叫什么 现在我需要它们转换为特定于域的完整URL。URL中没有类似的东西。我想要像这样的网址 http://www.example.com/Default.aspx http://www.example.com/Manage/Page.aspx http://www.example.com/Manage/Acco

我有如下特定于应用程序的url

~/Default.aspx
~/Manage/Page.aspx
~/Manage/Account/Default.aspx
我真的不知道这些路径到底叫什么

现在我需要它们转换为特定于域的完整URL。URL中没有类似的东西。我想要像这样的网址

http://www.example.com/Default.aspx
http://www.example.com/Manage/Page.aspx
http://www.example.com/Manage/Account/Default.aspx
目前我正在按照以下方式执行此操作(假设我有HttpRequest对象)


有没有更简单的方法来实现这一点?

另一种方法是在应用程序中定义域设置,如

string relative = "~/Manage/Account/Default.aspx";
string absoluteUrl = new Uri(Request.Url, VirtualPathUtility.ToAbsolute(relative)).AbsoluteUri;
<add name="WebsiteURL" value="http://www.example.com/"/>

现在,在您的c#代码中,就像在您的ASPX中一样

<%=Config.WebsiteURL %>Default.aspx
<%=Config.WebsiteURL %>Manage/Page.aspx
Default.aspx
Manage/Page.aspx

我从达林的解决方案中设计了以下静态方法。现在我可以像
实用程序那样简单地使用它。GetAbsoluteURL(“~/abc/xyz”)


请在发布问题之前做一些研究:@saamorim我忘了提到我需要特定于域的URL吗?你提到的问题是关于绝对路径的。但这是一个小问题。每次在本地运行站点并将其发布到服务器时,我都必须更改此设置。您只需在web配置中进行更改。没有像live domain web.config中那样的代码更改。明白了吗?正如我已经说过的,我必须更改此设置。但没有必要改变@Darin解决方案中的任何内容。
<%=Config.WebsiteURL %>Default.aspx
<%=Config.WebsiteURL %>Manage/Page.aspx
public static class Utilities
{
    public static string GetAbsoluteURL(string relativePath)
    {
        return new Uri(HttpContext.Current.Request.Url, VirtualPathUtility.ToAbsolute(relativePath)).AbsoluteUri;
    }
}