Запуск модального режима при загрузке страницы с помощью JavaScript не работает — ASP.NET

#javascript #asp.net

#javascript #asp.net

Вопрос:

Я хочу запустить модальный параметр на Load_Page на моем ASP.NET Приложение на C # и не работает. Это код JavaScript для его запуска:

         ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "none", "<script>$('#miModal').modal('show');</script>", false);
  

Дело в том, что я использую тот же модал с тем же кодом в одной кнопке, и это работает нормально. В чем может быть проблема? Что-то работает по-другому с событием Page_Load??

Я использовал UpdatePanel, ContentTemplate в кнопке и ScriptManager в файле .aspx. Возможно, это имеет значение.

Комментарии:

1. Вы получаете ошибку в окне консоли JavaScript в браузере? Это невероятно важно упомянуть, если у вас возникли проблемы с запуском JavaScript. В этом случае вы, вероятно, получите сообщение об ошибке о том, что jQuery не существует. Но на самом деле у меня возникает вопрос: почему вы делаете это из Page_Load? Почему вы не делаете это в обычной разметке страницы?

2. @mason Я никогда не использовал консоль Windows, но вот ошибка: Uncaught ReferenceError: $ is not defined at MyPage.aspx:100 . И строка 100 является частью кода для запуска модала: <script>$('#miModal').modal('show');</script> . И хорошо, я хочу запустить modal в pageload, потому что это форма заявки с некоторым текстовым полем для заполнения.

3. $ это оператор jQuery. Все в точности так, как я сказал, вы выполняете этот JavaScript до загрузки библиотеки jQuery (или вы вообще не загружаете jQuery). И ваши рассуждения не имеют смысла, почему вы должны делать это из Page_Load в C #. Независимо от того, есть у него форма заявки или нет, вы все равно можете встроить этот скрипт в разметку страницы вместо исходного кода. Это дало бы вам больше контроля над порядком загрузки / выполнения вашего JavaScript.

Ответ №1:

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

 <script>$( document ).ready(function() {$('#miModal').modal('show');});</script>