如何在开发机器上的aspx页面中使用绝对URL?

时间:2009-04-18 21:30:20

标签: asp.net absolute-path resolveurl

我发现自己在我的aspx页面中经常使用ResolveUrl函数,但已解析的路径始终是相对的。我希望能够使用常规的“http://localhost/myproject/

开始渲染路径

如果我改变文件的层次结构,如何在不破坏任何代码的情况下实现这一目标? 编写函数并为页面上的每个目标链接调用它是否效率低下?

2 个答案:

答案 0 :(得分:1)

解析网址时使用~。它将始终转到应用程序根目录。

实施例

~/somedirectory/default.aspx

将解决...

{applicationRoot}/somedirectory/default.aspx

您需要手动添加服务器地址:

Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port

示例函数将是

string ResolveAbsoluteUrl(string path)
{
    return Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port + ResolveUrl(path);
}

答案 1 :(得分:-1)

别介意的人, 我从Rick Strahl post在网上找到了一些代码,这似乎是我可以在我的情况下使用的东西! 谢谢你的帮助