Я взял на себя поддержку устаревшего веб-приложения, написанного преимущественно на классическом ASP. Одна страница имеет форму для выполнения оценки работы и состоит из около 2500 строк javascript и ASP-кода для достижения «прозрачного редактирования» - то есть форма всегда находится в режиме редактирования, и изменения мгновенно обновляются в DOM.
Существует также кнопка «Печать в Word Doc», при нажатии которой происходит переход к совершенно отдельному файлу ASP, который создает (предположительно) такое же представление в HTML, отправляемом в виде документа Word.
Проблема в том, что мы обнаружили несоответствия и ошибки в двух создаваемых версиях. Мой первый ответ с применением принципа СУХОЙ: «Это необходимо переписать в ASP.NET с помощью одного файла с выделенным кодом, выводящего представление как для веб-страницы, так и для документа Word, так что у нас есть одно место для поддержки источник.
Однако, входя в это, я подвергаю сомнению мудрость такого подхода и выношу совет.
Проблема заключается в том, что из-за интеграции представления с редактированием на веб-странице, в отличие от простого представления рабочего документа, две функции действительно имеют две разные цели. Кроме того, код ASP, хотя и уродлив и сложен в обслуживании, создает довольно красивый документ. Делать то же самое в ASP.NET, по крайней мере, с использованием элементов управления ASP.NET, таких как FormView, - непростая задача. (Одним из требований переписывания является то, что новая страница должна функционировать так же, как старая страница, за исключением, конечно, ошибок.) Интеграция javascript для выполнения функций редактирования на стороне клиента обеспечивает хороший UX (при условии, что они работают правильно) , Вероятно, я могу выполнить то же самое с AJAX и / или jQuery, но мне интересно, действительно ли я что-то здесь получаю.
Как бы вы справились с этим?