我发现自己在我的 aspx 页面中经常使用 ResolveUrl 函数,但解析的路径始终是相对的。我希望能够使渲染路径以常规“ http://localhost/myproject/ ”开头
如果我更改文件的层次结构,如何在不破坏任何代码的情况下实现这一点?编写一个函数并为页面上的每个目标链接调用它会不会效率低下?
我发现自己在我的 aspx 页面中经常使用 ResolveUrl 函数,但解析的路径始终是相对的。我希望能够使渲染路径以常规“ http://localhost/myproject/ ”开头
如果我更改文件的层次结构,如何在不破坏任何代码的情况下实现这一点?编写一个函数并为页面上的每个目标链接调用它会不会效率低下?
~
在解析 url 时使用。它将始终转到应用程序根目录。
例子
~/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);
}
别介意伙计们,我从 Rick Strahl的帖子中在线找到了一些代码,这似乎是我可能会在我的情况下使用的东西!谢谢您的帮助