Я не новичок, но чем больше я думаю об этой проблеме, тем больше я обеспокоен тем, что не могу найти элегантное решение.
При написании веб-сайта на C # .NET я понял, что есть несколько компонентов, которые мне нужно использовать на разных страницах, с более или менее одинаковыми функциями, и я хочу найти способ написать их один раз, а затем использовать повторно.
Например, окно поиска или несколько GridView, которые я использую на нескольких страницах.
Эти «компоненты» построены из нескольких элементов управления ASPX, методов, может быть, некоторых JavaScript и т. Д.
Они слишком сложны, чтобы их можно было просто дублировать, и слишком специфичны, чтобы их можно было создавать в качестве элементов управления.
Как вы думаете, что должно быть лучшим подходом для написания повторного использования таких элементов.
Это решения, которые я нашел до сих пор, у каждого из которых есть свои недостатки:
iframe - по сути, со всеми его проблемами у меня работает нормально (для окна поиска). Я написал одну страницу aspx / cs со всем поведением поиска (это довольно сложно) - и затем на каждой странице, где я хочу это окно поиска, я добавляю iframe.
Мастер-страницы - эту, я нашел довольно хитрой. Я обнаружил, что вы можете написать вложенную главную страницу, но я не мог понять, как это могло бы мне помочь. Метод Master page - устанавливает дочернюю страницу в качестве первой страницы (которая вызывает родительский мастер). Но в моем случае у меня есть главная страница с дочерними компонентами.
3.UpdatePanel - я мог бы использовать UpdatePanel - и написать общую функцию, которая будет заполнять ее необходимыми компонентами и кодом. Хорошо, это может сработать, но код очень сложен для обслуживания (вам нужно написать все компоненты вручную с помощью C #)
Есть идеи? Я пропустил что-нибудь тривиальное решение.