Разработайте какую-либо объектную модель представления (или, возможно, Агрегируйте , если вы склонны к DDD), а затем сохраните это в БД.Это может быть как для пользователя, так и для сайта (если вы создаете мультитенантное приложение, которое вы создаете), и с помощью MVC было бы легко создавать Html-помощники, которые принимают эти объекты модели презентации и отображают вашинастраиваемый заголовок, CSS, изображения и т. д.
Потенциальный длинный практический пример:
Допустим, ваш «арендатор» называется Site
- у вас, вероятно, будет объект Site
в твоей модели.Свойство Site
может быть объектом WebPresentation
.WebPresentation
может иметь ряд дочерних объектов и списков с методами для чтения css, файлов css (для <link>
элементов в заголовке документа), изображений и т. Д. Вы также можете иметь Service или установитьсервисных функций для сохранения / проверки объектов WebPresentation
(или вы можете попытаться отключить эту функцию от самих объектов - подумайте .Save()
).Я не буду вдаваться в то, как вы сохраняете эти данные в БД (не хочу вас оскорблять).Что касается представлений, вы должны создать их (возможно, частичные представления) так, чтобы пользовательские WebPresentation
Html-помощники отображали настройки в представлениях или <head>
разделах ваших мастер-страниц.
Я надеюсь, что этот примерполезно.