Почему в ASP.Net MVC 2.0 отсутствует интеллектуальный смысл при назначении значений модели для JavaScript?

Я' пытаюсь добавить некоторые свойства Model в мой JavaScript на моей странице содержимого:

$(document).ready(function () {
    createPager(1, <%=Model.TotalPages %>);
    createUnprocessedPager(1, <%=Model.TotalUnprocessedPages %>);
});

Кто-нибудь знает, если это дизайн? Разве вы не должны объединять свойства модели с JavaScript? Или это ошибка?

Это работает, как и ожидалось. Однако у меня нет никаких Intellisense внутри тегов при написании кода. Если я напишу какой-либо код в тегах , то Intellisense не будет. Если я пройду прямо под тегом script> и введу , то boom , у меня снова будет Intellisense.

ОБНОВЛЕНИЕ: 22/10/2010

Просто прочитайте последнее сообщение в блоге Скотта Гатри , и похоже, что эта функциональность скоро появится в предстоящем выпуске ASP. Intellisense и Colorization в пределах Razor файлы еще не включены с бета в начале этого месяца. Вы будете увидеть это показать через несколько недель, хотя - и он будет поддерживать полный код intellisense для HTML, JavaScript, CSS и код C # / VB в файлах Razor.

8
задан djdd87 22 October 2010 в 14:29
поделиться

1 ответ

Думаю, подсветки синтаксиса тоже нет.Не уверен, что это ошибка или функция, но, AFAIK, комбинирование кода таким образом не является хорошей практикой. Обычно встроенный javascript не является хорошей практикой, но если вы воспользуетесь им, объедините с ним свойства модели, а затем решите извлечь сценарии в отдельный файл js, ваш код сломается. Поэтому довольно часто заполнять скрытые поля свойствами модели и читать их в js с помощью jQuery, например:

<input type="hidden" id="valTotalPages" value="<%=Model.TotalPages %>" />
<input type="hidden" id="valTotalUnprocessedPages" value="<%=Model.TotalUnprocessedPages %>" />

... 

// in js
$(document).ready(function () {
    createPager(1, $("#valTotalPages").val());
    createUnprocessedPager(1, $("#valTotalUnprocessedPages").val());
});

Так что отсутствие подсветки синтаксиса и intellisense может быть ошибкой, но с тем же успехом может быть способом препятствовать определенным шаблоны кода.

5
ответ дан 5 December 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: