Мое место работы в настоящее время поддерживает веб-сайт для нескольких клиентов, который написан с использованием классического ASP. Каждый клиент требует, чтобы определенные части веб-сайта были написаны специально для него.
Например, клиент A требует, чтобы адрес вводился, отображался и сохранялся в следующем формате:
Address Line 1
Address Line 2
Address Line 3
Address Line 4
Address Line 5
Postcode
, тогда как клиент B требует, чтобы адрес был введен, отображен и сохранен как:
Street
Town
City
Postcode
и так далее ...
Поэтому мое место работы заняло путь сохранения данных в виде XML в базе данных и использования xsl (о котором я в настоящее время знаю немного) для преобразования данных в html.
Так что, если нам требуется информация от пользователя через форму html, xml преобразуется с использованием xsl. Затем пользователь вводит информацию и отправляет данные через форму. Страница asp затем используется для проверки данных. Эта страница asp относится к странице xsl, используемой для отображения формы. Таким образом, теперь мы находимся в положении, когда для каждого клиента у нас есть много страниц xsl и много страниц asp, относящихся к конкретному клиенту (где большая часть кода дублируется).
Меня попросили переместить сайт на asp.net mvc3 и удалить большую часть дублирования, и мне было интересно, как лучше всего удовлетворить эту специфическую для клиента функциональность на местах. Я бы предпочел, чтобы данные сохранялись в формате xml, поскольку доступ к слою базы данных осуществляется с использованием com-компонентов, которые я хотел бы использовать без изменений.
Я прочитал, что могу сохранить страницы xsl и разработать механизм просмотра xslt для отображения html. Тем не менее, я не уверен, как я проверю данные, когда пользователь отправит форму?
Как лучше всего отобразить специфичные для клиента поля, если бы мне пришлось полностью удалить xsl? Или я должен был бы иметь определенные представления клиента и модели просмотра?
Любые мысли приветствуются.