Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Возможно, Вы могли просто создать новый контроллер 'Сценариев' с различными действиями, обслуживающими различные комбинации сжатых файлов JS. Так как MVC разработан с ориентированным подходом ресурса, т.е. URL теперь в центре Вашей модели программирования, почему бы не определить простой URIs для Вашего Javascripts также?
В Ваших представлениях, например, Вы могли сослаться на свои файлы как это:
<script src="http://your_domain/scripts/all"/>
Это назвало бы Ваше 'все' действие, приводящее ко всем Вашим сжатым файлам сценария отправленным.
, Конечно, необходимо было бы кодировать объединение и сжатие на данный момент, или возможно снова использовать Scriptmanager внутренне, я не знаю, возможно ли это.
Это - просто идея, хотя, в настоящее время я ссылаюсь на отдельные файлы JavaScript непосредственно на моих основных страницах.
Попробуйте это: http://www.codeplex.com/MvcScriptManager
MvcScriptManager нацелен для портирования определенных основных характеристик, доступных в ToolkitScriptManager AjaxControlToolkit в текущий ASP.NET Платформа MVC. Вы будете в состоянии использовать его в качестве управления в Вашем приложении MVC ASP.NET.
Функции
- комбинация Сценария (или конкатенация). Сценарии, объявленные с MvcScriptManager, будут объединены на лету в единственный запрос файла сценария, когда страница будет представлена.
- минификация Сценария (или уплотнение) в режиме выпуска. Процесс минификации сделан только однажды в первом запросе, который ссылается на определенный сценарий. Последующие запросы будут использовать уплотненное содержание сценария в кэше (см. № 5 для детали). Уплотнение может быть позволено/отключено для каждого сценария.
- Рендеринг локализовал ресурсы для автономных файлов сценария. Локализованные строки будут добавлены к сценарию, если определено.
- Поддержка настраиваемая установка сжатия и истечения HTTP, когда сценарии вывода.
- Сценарий, кэширующийся с зависимостью от файла. Содержание файла сценария кэшируется так, чтобы рендеринг объединенного файла сценария был намного более производительным. Зависимость от кэша связана с физическим файлом поэтому, любое обновление сценария в файловой системе будет отражено в кэше немедленно.
- сценарии рендеринга Поддержки в режиме отладки/выпуска на основе рабочей среды.
- Разрешение различных путей для автономных файлов сценария.
- Поддержка несколько MvcScriptManagers на единственной странице (или основной странице). Поддерживайте и Освойте и Ведомый режим рендеринга так, чтобы сценарии, объявленные с одним ScriptManager, могли быть перечислены на другой для рендеринга.
- сценарий веб-фермы Поддержки...
Или как насчет включения самого ScriptManager в качестве единственного обитателя одиночного, раз в страницу
?
Like это: -
<form runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true">
</asp:ScriptManager>
</form>
Работает для меня.
PS Вам нужно убедиться, что этот тег формы никогда не внедряется в другую форму. Вложенные формы не работают.
Обнаружил, что это исследование похоже на ту же проблему: Простой ScriptManager для ASP.NET MVC - написано после ответа на этот вопрос, поэтому добавлено для справки.
В первом Например, я использую решение грубой силы, то есть вставляю все это на главную страницу (тем более, что теперь можно получить jQuery из Microsoft CDN) - тогда мы собираемся изучить варианты более оптимальных решений.