Javascript Intellisense в Razor View Engine дочерние страницы - PullRequest
12 голосов
/ 28 января 2011

Мне нужен способ получения моих файлов .js, на которые есть ссылки, в моих «главных» файлах cshtml, чтобы перейти к «дочерним» файлам cshtml.

У меня есть что-то подобное в главном файле,поэтому на файлы .js всегда ссылаются (и в действительности я получаю js intellisense в мастер-файле):

if (false)
{
     <script type="text/javascript" src="../scripts/jquery.js"></script>
}

Однако, когда я ссылаюсь на файл master.cshtml на «дочерней» странице, например, так:

@{
    Layout = "~/Views/Shared/master.cshtml";
}

Я не получаю IntelliSense для JavaScript.Я действительно не хочу, чтобы теги скриптов помещались вверху каждой дочерней страницы, там много тегов скриптов и много дочерних страниц!

Ответы [ 3 ]

5 голосов
/ 28 января 2011

Редактор Razor сейчас не может определить, какие файлы сценариев используются (это потому, что страницы макета Razor задаются с помощью кода, а редактор не выполняет просмотр страницы). К сожалению, вам нужно будет включить эти теги сценариев, если вы хотите, чтобы JavaScript IntelliSense работал на ваших страницах просмотра.

1 голос
/ 05 апреля 2011

Я тоже надеялся найти решение этой проблемы.

Лучший вариант, который я нашел, это всегда использовать внешний файл js. Создайте файл типа Master.js вверху, используйте путь ссылки:

/// <reference path="../../Scripts/jquery-1.4.4.js"/>

Тогда вы можете иметь intellisense. Вам все еще нужно включить файл jquery перед вашим новым внешним файлом.

0 голосов
/ 21 августа 2012

Таким образом, вы не теряете время, чтобы понять, почему уловка не работает, это может быть полезно:

Если вы используете относительный путь, это работает, только если путь указывает нато же самое приложениеАбсолютный путь, по-видимому, работает во всех случаях:

reference path="../../Scripts/jquery-1.4.4.js"

Вышеприведенное работает, пока указанный файл сценария находится в одном приложении.

reference path="http://localhost/Scripts/jquery-1.4.4.js"

Вышеуказанное работает в любомслучай.

...