Наилучшая практика для использования JavaScript на частичках и представлениях в ASP.MVC? - PullRequest
4 голосов
/ 25 февраля 2010

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

Ответы [ 3 ]

1 голос
/ 25 февраля 2010

Я создал приложение сам и столкнулся с этим, хотя я еще не реализовал его, я планирую использовать плагины JQuery, чтобы сделать многое из этого. Вы не можете встроить JS в частичное представление, если загружаете частичное с помощью AJAX, потому что оно не будет работать.

JQuery - очень приятный фреймворк и простой в создании плагин. Вам просто нужно начать проектировать свой JS, чтобы он был более пригоден для повторного использования (не жесткие ссылки на элементы и т. Д.).

В качестве альтернативы, без JQuery создайте отдельные файлы JS и спроектируйте свой код с использованием классов JS. Это также хорошая стратегия.

НТН.

0 голосов
/ 25 февраля 2010

Если представление может дополнительно содержать частичное, оно может проверить существование функции перед вызовом:

if (typeof(foo) == 'function') {
    foo();
}

Или представление может определять версию функции по умолчанию, которая может быть переопределена частичным.

// in view or master
function foo() {}

// then in the partial
function foo() { /* does something */ }
0 голосов
/ 25 февраля 2010

Я рекомендую вам использовать ScriptManager и перенести все функции js во внешние файлы, так что вам нужно будет просто зарегистрировать необходимый файл для этого частичного в частичном представлении. Смотрите эти ссылки для деталей:
Scriptmanager Asp.Net Mvc
http://mvcscriptmanager.codeplex.com/
http://www.telerik.com/help/aspnet-mvc/web-assets-working-with-javascript-web-assets.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...