Инструмент / ускоритель для улучшения добавления ресурсов CSS и скриптов на страницы MVC3 Razor - PullRequest
1 голос
/ 14 марта 2011

Существует ли какой-либо инструмент, позволяющий быстрее добавлять файлы на бритвенные страницы MVC3?

Мне приходится перетаскивать файлы скриптов на страницу для генерации:

<script src="../../Scripts/rails.js" type="text/javascript"></script>

Что тогда я скопирую и вставлю

<script src="@Url.Content("~/Scripts/")" type="text/javascript"></script>

Затем вырежьте / перетащите фрагмент rails.js в новый оператор сценария. Затем, в какой-то момент после этого, надеюсь, я помню, что мне нужно очистить целую кучу дублированных и / или неработающих ссылок скриптов.

Должен быть лучший способ, который не предусматривает ручного ввода URL-адресов.

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Наткнулся на эту запись в блоге ранее сегодня и ASP.NET MVC Best Practices (часть 1) , и его руководство показывает

public static string Image(this UrlHelper helper, string fileName)
{
    return helper.Content("~/assets/images/{0}".FormatWith(fileName));
}

public static string Stylesheet(this UrlHelper helper, string fileName)
{
    return helper.Content("~/assets/stylesheets/{0}".FormatWith(fileName));
}

public static string NoIcon(this UrlHelper helper)
{
    return Image(helper, "noIcon.png");
}

Это кажется оптимальным решением, если вы используетехорошая схема размещения ваших ресурсов.

Редактировать: FWIW

public static string FormatWith(this string format, params object[] inputs)
{
    return string.Format(format, inputs)
}
0 голосов
/ 14 марта 2011

Вы можете использовать T4MVC , чтобы получить подтверждение ваших ссылок во время компиляции.

2,3. Строго набранные ссылки на файлы сценариев и статические ресурсы

T4MVC генерирует статические помощники для ваши файлы содержимого и файлы сценариев. Поэтому вместо того, чтобы писать:

<img src="/Content/nerd.jpg" /> 

You можно написать:

<img src="<%= Links.Content.nerd_jpg %>" /> 

Аналогично, вместо

<script src="/Scripts/Map.js" type="text/javascript"></script> 

You могу написать

<script src="<%= Links.Scripts.Map_js %>" type="text/javascript"></script>

Очевидное преимущество в том, что вы получите ошибка компиляции, если вы когда-либо переместитесь или переименуйте свой статический ресурс, чтобы вы поймай это раньше.

Еще одним преимуществом является то, что вы получаете больше универсальная справка. Когда ты пишешь src = "/ Content / nerd.jpg", ваше приложение работать только тогда, когда он развернут на корень сайта. Но когда вы используете помощник, он выполняет некоторую часть сервера логика, которая гарантирует вашу ссылку правильно, где бы ни находился ваш сайт корни. Это делает это путем вызова VirtualPathUtility.ToAbsolute ( "~ / Content / nerd.jpg").

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