Путь к изображению и абсолютные пути? - PullRequest
1 голос
/ 11 октября 2010

Я занимаюсь разработкой веб-сайта в ASP .NET MVC 2 с использованием C #.

У меня есть частичное представление, Header.ascx.Там у меня есть изображение для моего веб-сайта: MainImage.png.

Когда я использую один из созданных мной основных видов, изображение отображается нормально.Например, я нажал «Индекс ActionResult» моего новостного контроллера.(site.com/News)

Однако, когда я копаю глубже, мне кажется, что я теряю свое изображение, даже если частичное представление отображается на главной странице.то есть, если я попытаюсь перейти к site.com/News/Article/1

Есть ли какие-либо предложения по сохранению моего изображения полностью нетронутыми, например, способ сделать абсолютный путь?

Код, который я в настоящее время имею в моемпредставление здесь:

<div align="center"><a href="/"><img src="../Content/images/MainImage.png" style="border:none" /></a></div>

Я пытался изменить src на ~/Content/images/MainImage.png, но это разбивает его по всему сайту.

Ответы [ 2 ]

4 голосов
/ 11 октября 2010

Используйте вспомогательный метод Url.Content .

<img src="<%: Url.Content("~/content/images/imagename.png") %>" />

То же самое относится к случаям, когда вы хотите включить файлы JavaScript или css

<link rel="stylesheet" href="<%= Url.Content("~/content/site.css") %>" type="text/css" />
<script type="text/javascript" src="<%= Url.Content("~/content/scripts.js") %>"></script>
2 голосов
/ 11 октября 2010

По возможности, указывайте путь (href или src) к файлам ресурсов, таким как изображения, CSS и JS, относительно корня веб-сервера. То есть ваши URL должны начинаться с косой черты:

<img src="/images/imagename.png" />

Этот формат сохраняет текущий адрес сервера (который может быть IP-адресом, внутренним сетевым адресом или любым из нескольких общедоступных веб-адресов), протоколом и портом и не зависит от видимого пути страницы пользователь просматривает (что может измениться в зависимости от того, обращается ли пользователь к странице по ее каноническому расположению или по перезаписи URL).

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