#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. Да, я думал, что это случалось со мной раньше.