#javascript #visual-studio-2010 #asp.net-mvc-3 #knockout.js
#javascript #visual-studio-2010 #asp.net-mvc-3 #knockout.js
Вопрос:
Я пытаюсь knockout.js в тестовом проекте MVC3. У меня есть следующая структура:
Project Root
Scripts
jquery-1.4.4.js
knockout-1.2.0.debug.js
etc...
Views
Home
Index.cshtml
Shared
_Layout.cshtml
HTMLPage1.htm
В моем файле _Layout.cshtml у меня есть следующие блоки скрипта:
<script src="/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.tmpl.js" type="text/javascript"></script>
<script src="/Scripts/knockout-1.2.0.debug.js" type="text/javascript"></script>
В моем файле Index.cshtml я пытаюсь использовать объект ko в моем блоке скрипта. Он работает нормально, но в VS designer я не получаю никакого intellisense от самого объекта ko.
Если я открываю обычный HTML-файл на уровне корневого проекта и помещаю туда блок сценария, я получаю intellisense для объекта ko.
Что у меня не так? Почему intellisense не может увидеть объект ko в моем файле .cshtml?
Я отмечаю, что в отладочном выводе в VS я получаю следующее:
Сообщение Javascript Intellisense: JSIntellisense: Internal / window (18:4): Ожидаемая функция
Сообщение Javascript Intellisense: JSIntellisense: Internal / window(19:8): ‘ko’ не определено
Сообщение Javascript Intellisense: JSIntellisense: Internal / window (18:4): Ожидаемая функция
Сообщение Javascript Intellisense: JSIntellisense: Internal / window (19:8): ‘ko’ не определено
Javascript Сообщение Intellisense: JSIntellisense: Internal / window (18: 4): Ожидаемая функция
Сообщение Javascript Intellisense: JSIntellisense:Internal / window(19:8): ‘ko’ не определено
Сообщение Javascript Intellisense: JSIntellisense: Internal / window(18:4): Ожидаемая функция
Сообщение Javascript Intellisense: JSIntellisense: Internal / window (19: 8): ‘ko’ не определено
и т.д.
Ответ №1:
А, понял это. Мне нужно, чтобы блоки моего скрипта ссылались на мои файлы .js в реальном файле .cshtml.
Как в:
@if (false)
{
<script src="/Scripts/knockout-1.2.0.debug.js" type="text/javascript"></script>
<script src="/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui.js" type="text/javascript"></script>
<script src="/Scripts/jquery.tmpl.js" type="text/javascript"></script>
<script src="/Scripts/knockout-1.2.0.debug.js" type="text/javascript"></script>
}
@if (false) означает, что они не включаются во время выполнения (и поэтому используйте скрипты, включаемые из моего файла master .cshtml).