Вообще, везде, где есть пути, лучше всего использовать ResolveUrl("~/") - ~/ означает корневую директорию приложения.
Например, в разметке сделав вот так:
- Код: Выделить всё
<img src="<%= ResolveUrl("~/Images/Logo.gif") %>" />
Мы раз и навсегда застрахуемся от проблем использования нашей страницы.
Например, если использовать
- Код: Выделить всё
<img src="/Images/Logo.gif" />
то при изменении пути с
http://localhost/Web на
http://localost картинка видна не будет, а если использовать
- Код: Выделить всё
<img src="Images/Logo.gif" />
то при использовании перезаписи путей картинка будет не видна, если к странице обращаться не как
http://localhost/, а как что-то вроде
http://localhost/2006/10/10/Hello/World/News.aspx.
С другой стороны, если подобные перемещения не планируются, то использование статических путей без ResolveUrl будет чуть-чуть быстрее (реально не ощутимо).
В коде я тоже предпочитаю использовать ResolveUrl для получения адресов, а Server.MapPath для получения полных путей, опять же используя ~/.
- Код: Выделить всё
C++
public:
static String^ MapPath (
String^ virtualPath
)
ParametersvirtualPath
The virtual path (absolute or relative).
Return ValueThe physical path on the server specified by the virtualPath parameter.
- Код: Выделить всё
public:
String^ ResolveUrl (
String^ relativeUrl
)
Parameters
relativeUrl
The URL associated with the TemplateSourceDirectory property.
Return Value
The converted URL.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali