Как динамически скомпилировать ViewUserControl(Asp.Net MVC) или Asp.Net Элемент управления
-
06-07-2019 - |
Вопрос
Я прочитал соответствующие вопросы, но не могу найти ни одного, который соответствовал бы моей проблеме (или я просто глуп).
По сути, у меня есть фабрика, которая рендерит определенный "шаблон", и этот шаблон содержит определенные "сущности".Эти объекты могут отображать себя сами и имеют метод void Render, который создает HTML-код и возвращает его на фабрику шаблонов.
Так вот, с точки зрения ремонтопригодности это сущий кошмар.Если клиенту нужен пробел между HTML-файлами, библиотеки dll необходимо будет перекомпилировать (что ужасно!).
Мне нужен способ переместить logic + HTML из метода рендеринга void в какой-нибудь элемент управления, проанализировать элемент управления и вернуть HTML во время выполнения.Так что код может быть относительно хорошо поддержан.
Я использую Asp.Net MVC, а фабрика шаблонов - это библиотека классов.Есть ли какой-нибудь способ добиться этого?
Спасибо!
Решение
Похоже, вам нужен строго типизированный ViewUserControl для каждого "объекта". По сути, именно так я реализовал виджеты в проекте, над которым я работаю.Каждый виджет имеет свою собственную модель виджета и частичное представление (ViewUserControl), строго типизированное для этой модели.Виджет использует свойства модели для отображения вида этого виджета.