Jak mogę wygenerować modele widoku po stronie klienta dla nokautu w projekcie ASP.NET MVC?

Obecnie pracuję nad rozwiązaniem ASP.NET MVC i ostatnio wprowadziłem zarówno Knockout (biblioteka MVVM JS), jak i Wijmo (zestaw widgetów interfejsu użytkownika jQuery).

Wraz z wprowadzeniem Knockout muszę także mieć modele po stronie klienta, więc w tym celu serializuję C # ViewModel i dołączam go do widoku za pomocądata-model="@Model.ToJson()". Dzięki temu mogę pobrać model z JS i zastosować do wszystkiego trochę miłości po stronie klienta.

Jednak nokaut wymaga wszystkiego, aby być obserwowalnymi, więc muszę zadeklarować oddzielny ViewModel po stronie klienta i odwzorować wszystko z obiektu modelu danych. To bardzo przypomina duplikat wysiłku i chciałbym go jakoś uniknąć.

Mam nadzieję, że ktoś ma narzędzie lub technikę do udostępnienia, które pozwolą mi zrenderować nokaut ViewModel bezpośrednio z serwera. Możliwe rozwiązanie może obejmować:

Niestandardowa serializacja JSON, aby renderować model widoku obserwowalnego bezpośrednio na wyjściu w atrybucie modelu danych.Automatyczna transformacja po stronie klienta (słyszałem o ko-autobind, ale nie jestem pewien, czy byłaby to zalecana ścieżka lub jak stabilna / kompletna)Coś, o czym nie pomyślałem

Chciałbym, aby to rozwiązanie było ogólne i automatyczne, ponieważ moje obecne podejście do ręcznego wpisywania obserwowalnych modeli widoku po stronie klienta jest zbyt nieproduktywne, aby mogło być opłacalne.

Jak rozwiązujesz ten problem?

questionAnswers(2)

yourAnswerToTheQuestion