Правильный способ ссылки на контент в MVC - PullRequest
3 голосов
/ 14 сентября 2010

При запуске моего веб-приложения на локальном компьютере я могу ссылаться на css / scripts / images, используя:

<link href="/Content/Site.css" rel="stylesheet" type="text/css" />

Но когда я развернул свой сервер разработки, он не смог найти ни одного моего контента. После изучения проблемы все предлагают использовать следующий метод:

<link href="<%=Url.Content("~/Content/Site.css")%>" rel="stylesheet" type="text/css" />
<img src="<%=Url.Content("~/Content/3.png")%>" />

По крайней мере, теперь весь мой контент загружается и работает, когда я отправляюсь на сервер разработки. Однако теперь, когда у меня есть серверный скрипт, представление «Дизайн» в Visual Studio не загружает стили / и т.д. Я задаюсь вопросом, есть ли альтернатива или что-то, что я пропускаю, что возможно исправило бы это? Или, может быть, я все об этом ошибаюсь? Любой вклад приветствуется.

Ответы [ 3 ]

6 голосов
/ 14 сентября 2010

Предложение, которое вы нашли, является отличным способом ссылки на контент.

Что касается Design View, не жертвуйте элегантностью своего кода только для того, чтобы получить Design View.Учитесь любить Code View.Предварительный просмотр в браузере.По моему опыту, этот рабочий процесс действительно не имеет серьезных недостатков (как только вы к нему привыкнете).

(В качестве отступления, я думаю, что большинство разработчиков, которым нравится ASP.NET MVC, не используют «Представление дизайна»в Visual Studio. Одна из причин, по которой я люблю MVC, заключается в том, что он позволяет мне быть разборчивым в разметке. Любые дизайнеры находятся за пределами такого мышления.)

4 голосов
/ 14 сентября 2010

Вы всегда можете обмануть дизайнера со злодеянием, подобным этому:

<% if (false) { %>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<% } %>
<link href="<%=Url.Content("~/Content/Site.css")%>" rel="stylesheet" type="text/css" />

но, честно говоря, если вы нажмете F5 в браузере, вы получите более быстрые результаты, чем ожидание загрузки дизайнером (даже если ваше приложение размещено на другом конце света).

1 голос
/ 14 сентября 2010

Вид дизайна нарушен? Это не ошибка в вашем коде, просто так оно и есть. Это верно для ASP.NET MVC и обычного ASP.NET

...