Есть ли собственный способ создания моделей на стороне клиента для публикации на моих контроллерах без их ручного управления? - PullRequest
2 голосов
/ 23 июля 2011

Я довольно новичок в "реальном мире" разработки 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. Как я могу работать с объектами на стороне клиента в хорошем современномспособ, а затем передать данные в контроллер?

обратная связь приветствуется .. спасибо за время.

1 Ответ

0 голосов
/ 23 июля 2011

Knockout.js http://knockoutjs.com и его декларативные привязки вместе с подключаемым плагином http://knockoutjs.com/documentation/plugins-mapping.html, который будет десериализовать JSON. Это хорошее место для начала.

Дополнительным бонусом, возможно, целью является работа с моделью Model-View-View Model (MVVM) на клиенте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...