Мне нужен совет.
(Для тех, кто уже читал это до того, как я сильно отредактировал этот вопрос)
Я разработал несколько веб-страниц asp.net mvc.
Каждая страница имеет мастер и некоторые элементы управления ascx (от 2 до 6), встроенные в нее файл js и css.
До сих пор все было хорошо .
Чтобы улучшить модульность, гибкость и тестируемость, теперь ожидается, что ascx смогут работать как отдельные элементы управления.
(Каждый ascx также имеет свои собственные файлы css и js, в некоторых случаях он имеет другой элемент управления внутри него)
Чтобы выполнить это требование, мы вызываем контроллер с помощью строки запроса.
(отличается от того, как он вызывается со страницы - через Ajax)
Воспроизведенный ascx (частичный) отображается в браузере без всех остальных частей исходной страницы.
В этом случае, чтобы партиал правильно отображался (css) и правильно работал (js/jquery), необходимо добавить все соответствующие файлы (например, jquery) в пользовательский элемент управления.
Это противоречит концепция размещения файлов в наиболее логичном месте (например, на главной странице).
Как я могу преодолеть эту проблему? Имейте в виду, что это актуально для каждого «управляющего» файла ascx, созданного в приложении.
Примеры:
я добавил описание 3 случаев, которые будут изображать мой сценарий:
(это было скопировано из другого вопроса, который я задал здесь).
Случай 1: В случае со страницей может быть несколько частей, которые загружаются с помощью ajax во время создания страницы. Частицы могут быть вызваны снова с использованием ajax в соответствии с действиями пользователя. В этом случае я рассматриваю их как элементы управления на странице.
Вариант 2: в отдельном случае частичное можно вызвать как часть теста непосредственно из браузера. В этом случае вы видите только частичную часть в браузере.
Случай 3. В третьем случае партиал может вызываться как часть iframe в расширении Google Chrome (например). В этом случае вы можете увидеть партиал на странице, который, возможно, не был встроен в ваше веб-приложение.
Будем признательны за любые мысли.
Для тех, кто празднует - С Новым годом!