Оператор ~ распознается asp.net только для серверных элементов управления и в коде сервера.Нельзя использовать оператор ~ для клиентских элементов.
Абсолютные и относительные ссылки на пути в серверном элементе управления имеют следующие недостатки:
• Абсолютные пути не переносимы между приложениями.Если вы переместите приложение, на которое указывает абсолютный путь, ссылки разорвутся.
• Относительные пути в стиле клиентских элементов могут быть затруднены при перемещении ресурсов или страниц в разные папки.
Чтобы преодолеть эти недостатки, ASP.NET включает в себя корневой оператор веб-приложения (~), который можно использовать при указании пути в элементах управления сервером.ASP.NET преобразует оператор ~ в корень текущего приложения.Вы можете использовать оператор ~ в сочетании с папками, чтобы указать путь, основанный на текущем корне.
Как и в примере, который вы разместили
aspxImgCtrl.ImageUrl = Server.MapPath("~")+"/Images/GIF/arrow.png";
, приведенный выше код отобразит серверфизический путь (например, - c: \ inetpub \ wwwroot \ mysite \ images \ gif \ arrow.png ", который имеет меньшее значение на стороне клиента,
, вы должны использовать его для правильного относительного пути клиента:
aspxImgCtrl.ImageUrl = "~/Images/GIF/arrow.png";
Чтобы ссылаться на ресурсы из javascript, вы можете рассмотреть структуру папок одного уровня для объединения путей доступа, например:
Для получения более подробной информации посетите пути к веб-сайтам asp.net