Вы можете взглянуть на реализацию класса ScriptRegisterBuilder компании Telerik, которая делает именно то, что вы хотите. Или вы можете просто использовать его. Кроме того, он также поддерживает:
- Объединение нескольких файлов JS в один, что приводит к меньшему количеству запросов со стороны браузера.
- Сжатие файлов JS.
- HTTP-кеширование.
- Сети доставки контента.
- выпуск / отладка версий ваших ресурсов JS в зависимости от режима сборки.
Теперь, даже когда вы не используете какой-либо другой материал, предоставляемый Telerik, вы можете использовать класс ScriptRegisterBuilder
, но тогда рекомендуется отключить автоматическую регистрацию сценария проверки подлинности jquery & jquery. Смотрите также предоставленную ссылку.
Также взгляните на класс StyleSheetRegistrarBuilder
. Это племянник класса ScriptRegisterBuilder
и обрабатывает ресурсы CSS.
Я заметил тэг MVC2 в вашем вопросе, но мой простой пример использует бритву и предназначен только для пояснения. Не должно быть трудно заставить его работать и для MVC2 / ASPX. В противном случае, дайте мне знать.
Мастер
@using Telerik.Web.Mvc.UI
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
@Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("~/Content/Site.css"))
</head>
<body>
@RenderBody()
@Html.Telerik().ScriptRegistrar().jQuery(false).jQueryValidation(false)
</body>
</html>
Частичное представление
@using Telerik.Web.Mvc.UI
@{
ViewBag.Title = "Home Page";
Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("~/Content/Site2.css"));
Html.Telerik().ScriptRegistrar().DefaultGroup(group => group.Add("~/Scripts/Test.js"));
}
<h2>@ViewBag.Title</h2>
<p>
Bla bla bla
</p>