我发现自己在我的aspx页面中经常使用ResolveUrl函数,但已解析的路径始终是相对的。我希望能够使用常规的“http://localhost/myproject/”
开始渲染路径如果我改变文件的层次结构,如何在不破坏任何代码的情况下实现这一目标? 编写函数并为页面上的每个目标链接调用它是否效率低下?
答案 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在网上找到了一些代码,这似乎是我可以在我的情况下使用的东西! 谢谢你的帮助