Функциональность базовой страницы, общая для Aspx и главных страниц - PullRequest
0 голосов
/ 16 апреля 2019

Я добавляю некоторые легкие функции CMS в свои проекты веб-форм.

Я сохраняю мета страницы в базе данных и использую ее, вызывая ее через базовую страницу, которая наследуется страницей aspx.

Однако большинство - но не все страницы - имеют главную страницу. Некоторые функции базовой страницы используются для настройки навигации по сайту, которая обычно находится на главной странице (если только нет mp). Это означает, что мне нужен доступ к данным как на странице, так и на главной странице.

Итак, у меня есть несколько вариантов, которые я обдумал:

a) Передайте конкретные переменные главной странице со страницы aspx. Это означает, что каждая страница должна явно задавать свойство главной страницы, которое является повторением.

b) Я мог бы унаследовать базовую страницу от главной страницы, но тогда не у каждой страницы есть главная страница.

в) Я мог бы выделить функциональность главной страницы. По крайней мере, для этого потребуется два вызова базы данных, и он все равно не будет работать, если у страницы нет мастера.

d) Я мог бы попытаться абстрагировать код от базовой страницы и создать две базовые страницы - одну aspx, одну главную - с повторным использованием содержимого.

e) Я мог бы хранить данные базы данных в Context.Items, упрощая доступ к данным главной странице.

Много вариантов, ни один не идеален. Я задавался вопросом, есть ли лучшее решение там.

...