Orchard - Включение файлов Javascript в частичные представления

В Orchard, как включить файл javascript в мое частичное представление, которое загружается из вызова ajax?

Вот что я попробовал:

@{Script.Include("ownerInfo.js");}

Orchard полностью игнорирует это, если представление поражено вызовом ajax

Изменить: ниже работает, хотя включение сценариев от руки не идеально. Смотрите пример Пьедоне ниже для лучшей альтернативы.

<script type="text/javascript" src="./Modules/ModuleName/Scripts/script.js"></script>

1 ответ

Решение

Я думаю, что это по замыслу. Если вы посмотрите на Orchard.UI.Resources.ResourceFilter (это фильтр, добавляющий эти фигуры в макет, которые представляют статические ресурсы), он содержит следующую проверку:

// should only run on a full view rendering result
        if (!(filterContext.Result is ViewResult))
            return;

Это предотвращает внедрение фигур в макет, если результатом действия является, например, PartialViewResult.

Вы можете сделать следующее:

  • Вставьте скрипт "от руки"
  • Включите скрипт в Orchard и отобразите форму головы и / или стоп-скриптов в своем представлении:

    Display.HeadScripts () Display.FootScripts ()

Другие вопросы по тегам