у меня есть asp.net mvc веб-сайт, где я создаю большую часть страницы с помощью C#, например, создающего таблицы HTML, данные ряд данных из моего viewmodel
у меня также есть много JavaScript, который тогда динамично изменяет эти таблицы (добавьте строку, например).
код JavaScript для добавления новой строки выглядит чрезвычайно подобным моему коду "рендеринга", который я имею в C#, который используется для создания таблицы HTML во-первых.
Каждый раз, когда я изменяю код c# на добавление нового поля, я должен не забыть возвращаться к коду JavaScript, чтобы сделать то же.
здесь существует ли лучший путь?
Один из способов сделать это - разоблачить логику, которая генерирует разметку как веб-сервис на вашем сервере, и заставить JavaScript получить эту разметку с помощью вызова AJAX, а не дублировать логику.
Таким образом, вы можете вызвать что-то вроде CreateRow
метода из JavaScript, который будет на самом деле вызывать ту же самую логику, которую вы использовали на сервере, когда отображали страницу.
Посмотрите на статью Скотта Гу: ASP.NET MVC 2: Model Validation
В основном, вы определяете валидацию на уровне свойств модели, и ASP.NET MVC 2 может автоматически генерировать и соответствующую валидацию на стороне клиента.
К сожалению, это может означать, что Вам придется все рефакторинговать в MVC, но многие ppl здесь, вероятно, рассматривают это как плюс.
(отказ от ответственности: я вообще не работал с ASP.NET MVC)
.