ASP.NET MVC 3 jQuery не работает после обновления MVC Tools?

#jquery #asp.net-mvc-3 #razor

#jquery #asp.net-mvc-3 #razor

Вопрос:

Мне интересно, что происходит с использованием jQuery на ASP.NET MVC любой код jQuery не работает, особенно в методах click

Я использую движки просмотра Razor.

Есть какие-либо уведомления об этой проблеме?

 $(document).ready(function () {
    $('.simpledialog').simpleDialog();
});

$('#button').click(function(){
    //ToDo
});
  

Я добавил сценарий диалога и css :

  <link href="/Content/Site.css" rel="stylesheet" type="text/css" />
 <script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script>
  

но он всегда прерывается при нажатии кнопки, и я получаю сообщение об ошибке :

 Microsoft JScript runtime error : 
    Object doesn't support property or method 'dialog'
  

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

1. Нам нужно немного больше информации, чем просто «не работает», чтобы помочь вам. Можете ли вы добавить какой-нибудь код? Шаблон проекта по умолчанию использует jQuery 1.5.1 после обновления ссылаетесь ли вы на jquery-1.5.1.js файл, а не более старый jquery-1.4.2.js ?

2. Я пытаюсь использовать модальные диалоговые окна, я добавил некоторые исправления

3. Убедитесь, что файл плагина simpledialog существует.

Ответ №1:

Если вышеупомянутое решение не работает, и вы также используете элементы управления Telerik, вам следует добавить .jQuery(false) в тег ScriptRegistrar в нижней части вашего файла Views / Shared /_Layout.cshtml. Если вы этого не сделаете, вызов asset.axd также загружает (вслепую) jQuery.

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

1. Я выхожу с этим решением, используя .jQuery (false)

Ответ №2:

Проверьте, какой jQuery содержится в вашей папке Scripts, а затем проверьте ваш Layout.cshtml, есть ли в нем ссылка на правильный файл. Могут быть различия в версиях.

Редактировать: Также проверьте packages.config файл в корневом каталоге вашего приложения MVC. Есть ссылка на пакет jQuery. Поэтому вам может потребоваться исправить его до вашей фактической версии или удалить этот пакет jQuery.

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

1. @Dampe, jQuery версии 1.5.1 устанавливается через nuget, также я удаляю и добавляю вручную, и, похоже, никаких изменений. Я обновил сообщение с ошибкой

2. @Angel Escobedo: Я нигде не вижу этой ошибки. Вы проверили packages.config? Если это не поможет, пожалуйста, добавьте содержимое этого файла packages.config в свой вопрос вместе с заголовком html из _Layout.cshtml и напишите, какая версия jQuery находится в папке Scripts.

3. Я тоже пробовал это, я не думаю, что проблема должна быть в jQuery

4. Что ж, это сообщение об ошибке делает его намного чище 😉 Я не знаю, что вы используете для этого диалога, но проблема, очевидно, в диалоге. Ссылаетесь ли вы на правильный скрипт и пытаетесь ли использовать его для правильного элемента с правильными параметрами?

5. @Angel Escobedo: MVC 3 уже поставляется с пользовательским интерфейсом jQuery, так почему бы не использовать модальный из него? Вы можете посмотреть демонстрации здесь

Ответ №3:

Не знаю, помогает ли это кому-нибудь, но у меня была эта проблема целую вечность — затем понял, что одно из моих частичных представлений о включении бесплатного элемента управления календарем ссылалось на более раннюю версию jQuery и останавливало работу диалогового окна!

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

1. Да, я думал, что это случалось со мной раньше.