У меня нет стиля в моем приложении asp.net mvc после обновления до mvc rc - PullRequest
0 голосов
/ 14 февраля 2009

Я очень смущен, потому что я использую интегрированный iis7, и поэтому мне не нужен default.aspx в моем проекте. Однако после обновления до rc во время выполнения нигде на моем сайте нет стиля. Вот моя ссылка на таблицу стилей, которая находится рядом с главной страницей. Во время разработки vs может подобрать таблицу стилей, поэтому я понятия не имею, что может пойти не так.

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

Во время выполнения это оценивается как

<link href="Views/Shared/Stylesheet.css" rel="stylesheet" type="text/css" />

Кажется, все должно быть в порядке.

1 Ответ

3 голосов
/ 14 февраля 2009

Я бы переместил ваш стиль в каталог Content / Styles; это где они обычно живут. Я подозреваю, что механизм маршрутизации блокирует прямой доступ к любым файлам в каталоге View в качестве меры предосторожности (чтобы люди не могли видеть ваш код представления). Вам нужно изменить ссылку на:

 <link href="<%= Url.Content( "~/Content/Styles/Stylesheet.css" )"
       rel="stylesheet"
       type="text/css" />

Или, если вы хотите жестко запрограммировать путь к корню:

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

Я делаю что-то похожее на предыдущее, но с методом расширения, который добавляет текущую дату в качестве параметра параметра запроса (? D = YYYYMMDD) к концу URL, чтобы кэшированные CSS-файлы регулярно обновлялись по мере внесения изменений. Однако, если вы сделаете это, вам нужно будет включить последний в директиву if (false), чтобы убедиться, что вы не потеряете intellisense.

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