Как получить корневой каталог Virtual Application или Virtual Dir в IIS7? - PullRequest
0 голосов
/ 22 апреля 2011

Я пытаюсь использовать тег в HTML, который работает только на стороне клиента.

В моем IIS7 есть виртуальное приложение, которое называется «testite». Я должен позвонить "localhost / testsite", чтобы получить доступ к этому сайту.

предположим, что у меня есть 1 изображение в "файле сайта / images", и я хочу получить изображение из корневого пути.

например:

<img src="/image/image1.jpg" />

Но путь к изображению в браузере - «localhost / image», это должно быть «localhost / testsite / image».

Что мне делать? Как настроить IIS7, чтобы они видели виртуальное приложение в качестве корневого каталога этого сайта?

Дополнительно: предположим, что мой HTML находится в базе данных, и в нем много

<img src=/image/[imagename]>

И я отображаю этот текст, добавляя его в свойство Text элемента управления, чтобы он не мог использовать runat = "server" в теге img.

Как лучше всего заменить свойство src тега img в моей базе данных и отобразить на нем страницу ASP.Net.

Ответы [ 3 ]

2 голосов
/ 22 апреля 2011

Вы можете попробовать:

<img src="<%=Page.ResolveUrl("~")%>/image/image1.jpg" />

(при условии, что вы используете ASP.NET)

1 голос
/ 22 апреля 2011

Используйте ~/, чтобы указать на корень веб-приложения. Это будет работать только на серверных элементах управления, поэтому вам нужно изменить тег изображения на:

<img src="~/image/image.jpg" runat="server" />

Либо просто выведите значение в атрибуте:

<img src="<%:Page.ResolveUrl("~/")%>image/image.jpg" />

Обновление:

Поскольку вы выводите данные в литеральном элементе управления, вы можете просто использовать Page.ResolveUrl("~/") при установке свойства элемента управления Text, аналогично альтернативе, которую я показал.

0 голосов
/ 15 июня 2012

Как я вижу, вы используете HTML-тег, более чистый подход - использовать базовый тег в разделе заголовка страницы. Таким образом, вам не нужно будет повторять код сервера в каждом HTML-теге.

<base href="<%= Context.Items["baseURL"] %>" />, я читаю это из web.config.

или <base href="<%=Page.ResolveUrl("~")%>" />

Теперь вы можете просто использовать <img src="/image/image1.jpg" />

Я сомневаюсь, что Page.ResolveUrl("~/") будет работать, если веб-сайт размещен в подкаталоге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...