Как перейти на новые версии библиотек JavaScript на определенных страницах в ASP.NET MVC - PullRequest
1 голос
/ 27 февраля 2012

У меня есть существующий проект, и на новых страницах я хотел бы включить новые версии библиотек JavaScript, не нарушая других страниц, если библиотеки не имеют обратной совместимости.

Каков наилучший способ достижения этого?Я хотел бы иметь возможность установить переменную, например: useBootStrapCss2 или что-то похожее, чтобы использовать новые библиотеки.

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

Проблема, которую я предвидел, заключается в том, что если переменная установлена ​​в верхней части представления, переменная не будет находиться в области видимости в общем представлении, поэтому не сможет переключиться наиспользуйте правильные частичные активы.

1 Ответ

1 голос
/ 27 февраля 2012

Если честно, я бы не пошел по пути установки переменных для переключения версий скрипта.Это, вероятно, будет очень грязно в долгосрочной перспективе.

У вас есть пара чистых (er) опций.

Создайте отдельный макет, в основном клон вашего первого макета,но с обновленными скриптами.Используйте этот макет для ваших новых страниц, медленно перенося существующие страницы.

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

Создайте область содержимого на странице макета с содержимым по умолчанию.

@if (IsSectionDefined("ScriptReferences")){   
    @RenderSection("ScriptReferences")   
}   
else {  
    <script src="blah.js"></script>  
}

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

...