Я довольно новичок в "реальном мире" разработки MVC / .NET (я изучал MVC начиная с MVC 1, и я провел последние 10 лет на веб-основе, поэтому я тоже не новичок)Я надеюсь, что есть кое-что, чего мне не хватает ... я делаю много ручного прокручивания JSON, чтобы передать модели обратно контроллеру, что становится все более и более кропотливым (возвращает меня к 2005 году), поэтому яЯ чувствую, что должен быть лучший способ ... может быть, что-то вроде Backbone?только для моделирования на стороне клиента?Я предполагаю, что есть какой-то .toJSON () или что-то где-то ... во всяком случае, вот быстрый пример того, о чем я говорю:
В настоящее время я использую структуру viewmodel для связывания сложных типов данных/ lists и т. д. на страницу просмотра ... это фантастика ... тогда я создаю либо маленькие формы, либо "микромодели" через JS для обработки небольших изменений / взаимодействия пользователя со страницей ... т.е. кнопка удаления в "grid ", который отправляет идентификатор на контроллер, который будет удален .. по большей части, который работает нормально.(Я здесь очень универсален)
СЕЙЧАС, когда я имею дело с моделью с некоторой глубиной, скажите:
ViewModel1{
string Property1
int Property2
List<MicroModel>
}
MicroModel{
string name
string description
}
и у меня есть контроллер для обновления MicroModel.скажем:
ActionResults testController(List<MicroModel> micromodel)
Мне нужно сделать несколько строк JSON на стороне клиента, чтобы создать модель, которая представляет ожидаемый ввод, после того, как я собрал эту строку, я отправил ее через JQuery $ .ajax () и контроллер подберет типизированную модель (что, кстати, круто) .. НО ...
Мне действительно нужно обрабатывать эти объекты на стороне клиента, чтобы отразить мои объекты, которые ожидает контроллер?
Я бы предпочел не работать с привязкой формы непосредственно к модели, я также не собираюсь публиковать formCollection. Как я могу работать с объектами на стороне клиента в хорошем современномспособ, а затем передать данные в контроллер?
обратная связь приветствуется .. спасибо за время.