Это «правильное» решение для того, чтобы заставить ASP.NET MVC и javascript intellisense играть хорошо? - PullRequest
4 голосов
/ 06 августа 2009

Из-за того, как пути относятся к VS, разрешающему путь к файлу JS, и к тому, как фактический путь во время выполнения определяется через браузер, в настоящее время я разместил следующее в верхней части моей мастер-страницы в моем приложении, так что что все мои представления имеют соответствующий IntelliSense JS и правильно разрешают для выполнения:

<% if (false) { %>
    <script src="../../Scripts/jquery-1.3.2.js" type="text/javascript"></script>
    <script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
    <script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<% } else { %>
    <script src="<%= ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>
    <script src="<%= ResolveUrl("~/Scripts/MicrosoftAjax.debug.js") %>" type="text/javascript"></script>
    <script src="<%= ResolveUrl("~/Scripts/MicrosoftMvcAjax.debug.js") %>" type="text/javascript"></script>
<% } %>

Может быть, так делают другие, или есть какой-то сумасшедший лучший способ заставить меня выглядеть как осел? Спасибо!

Ответы [ 2 ]

2 голосов
/ 06 августа 2009

Если это достаточно для Скотта Гатри , то я бы посчитал это правильным способом (сейчас они всегда могут это исправить в VS 2010!).

0 голосов
/ 07 августа 2009

Да, я согласен, что это правильное решение. Просто выбросить его на главную страницу будет недостаточно - вам также нужно поместить его во все файлы частичного просмотра, которые у вас могут быть. Я только что написал об этом вчера с довольно обширными комментариями на заднем плане.

Если у вас много файлов сценариев, возможно, было бы неплохо сгруппировать их все в один файл .js и постоянно включать его, поэтому в случае добавления другого сценария вам не нужно будет его везде вставлять. Конечно, если вы не используете частичные (ascx) представления, это не проблема. Но если вам это нужно, взгляните на FAQ по Intellisense вопрос 3.

...