2013-09-24 2 views
2

Мой проект в MVC 4. Мои скрипты в _Layout.cshtml когда перезагрузите страницу следующее сообщение об ошибке: JScript ошибка выполнения: «$» не определено

_Layout.cshtml :

<head> 
    <meta charset="utf-8" /> 
    <title>@ViewBag.Title</title> 
    <link href="~/Images/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
    <meta name="viewport" content="width=device-width" /> 
    @Styles.Render("~/Content/css") 
    @Scripts.Render("~/bundles/modernizr") 
    @Scripts.Render("~/bundles/jquery") 
    @Scripts.Render("~/bundles/jqueryui") 
    <script type="text/javascript" src="~/Scripts/jquery.qtip-1.0.0-rc3.min.js"> </script> 
</head> 

Мой Частичный вид:

<script type="text/javascript"> 

     $('#lnkOrganizar').click(function() { 
     if (($('.frozenTopC').css('display') != 'none') &&  ($('.frozenTopConteudo').css('display') != 'none')) { 
      $('.frozenTopC').css('display', 'none'); 
      $('.frozenTopConteudo').css('display', 'none'); 
     } 
     else { 
     $('.frozenTopC').css('display', 'table-cell'); 
     $('.frozenTopConteudo').css('display', 'table-cell') 
     } 
    }); 

    </script> 
+0

Проверьте правильность загрузки jQuery. В противном случае нет другой причины для этой ошибки. –

+1

Вы уверены, что включен jQuery? Например. если вы просматриваете источник окончательного вывода, успешно ли разрешает ссылку на jQuery? –

+0

Имеет ли обработанный код рабочую ссылку на библиотеку jQuery? –

ответ

3

JQuery нет.

Посмотрите на этой линии: <script type="text/javascript" src="~/Scripts/jquery.qtip-1.0.0-rc3.min.js"> </script>

Убедитесь, что у вас есть, что Scripts/jquery.qtip-1.0.0-rc3.min.js на сервере

Также не принято ссылаться на свой домашний каталог там - где у вас есть «~». Если ваш скрипт находится в каталоге Scripts, вы просто используете Scripts/jquery.qtip-1.0.0-rc3.min.js, потому что с веб-сервером все находится в его корневой директории (верхнего уровня).

Этот файл является основной библиотекой jquery? Это мне не ясно, является ли это только ваш код сценария, и если так что вам необходимо включить основную библиотеку JS-то вроде:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

КСТАТИ, цель использовать нижний регистр для имен каталогов - scripts не Scripts, как это облегчит вашу жизнь в долгосрочной перспективе. Я бы также рекомендовал script не scripts, поскольку у многих каталогов есть несколько файлов (их цель в конце концов), поэтому большинство людей используют сингулярный каталог. Это ближе к предпочтению, чем проблема ~.

Кроме того, во время отладки и игры, помните, что вы действительно можете иметь сценарий в том же файле, в пределах <script> тегов, а не в отдельном файле. Не рекомендуется в долгосрочной перспективе как хорошая практика, но полезно для того, чтобы увидеть, где проблема.

Смежные вопросы