Как я могу сгенерировать клиентские модели для нокаута в проекте ASP.NET MVC?

В настоящее время я работаю над решением ASP.NET MVC и недавно представил как Knockout (библиотека MVVM JS), так и Wijmo (набор виджетов jQuery UI).

С введением Knockout мне также нужно иметь модели на стороне клиента, поэтому для этой цели я сериализую C # ViewModel и присоединяю его к представлению с помощьюdata-model="@Model.ToJson()". Это позволяет мне извлечь модель из JS и применить какую-либо любовь на стороне клиента ко всему.

Однако, нокауту нужно все, чтобы его можно было наблюдать, поэтому мне нужно объявить отдельную ViewModel на стороне клиента и отобразить все из объекта модели данных. Это похоже на дублирующее усилие, и я хотел бы как-то избежать этого.

Я надеюсь, что у кого-нибудь есть инструмент или методика, которые позволят мне визуализировать нокаутированную ViewModel прямо с сервера. Возможное решение может включать в себя:

Настроить сериализацию JSON, чтобы визуализировать наблюдаемую модель представления непосредственно в выходные данные в атрибуте модели данных. Автоматическое преобразование на стороне клиента (я слышал о ko-autobind, но не уверен, будет ли это рекомендуемый путь или насколько он стабилен / завершен) То, о чем я не подумала

Мне бы хотелось, чтобы решение было универсальным и автоматическим, поскольку мой нынешний подход к вводу наблюдаемых моделей представлений на стороне клиента вручную слишком непродуктивен, чтобы быть жизнеспособным.

Как ты решаешь эту проблему?

Ответы на вопрос(2)

Ваш ответ на вопрос