2012-02-22 9 views
3

私はいつもMVCで.Netで作業してきた方法は、各ビューのViewModelを作成することです。MVC3とKnockoutJS DRYly

今、Knockoutを使用して、C#クラスの代わりにjavascriptでViewModelsを作成しますか?そして、私のメインモデル(この場合、EFはモデルを生成しました)を私の唯一のC#モデルクラスにしますか?それとも、私はノックアウトViewModelと一緒にC#ViewModelクラスを作成するつもりですか?

私はこのプロジェクトをDRYlyに設定しようとしていますが、この状況ではベストプラクティスが不明です。

答えて

2

C#サーバー側のビューモデル(VM)を作成し、ASP.NET MVCビュー用に作成することもできます。その後、クライアント側のjavascriptビューのVMも作成します。しかし、私が気に入ったのは、MVCビューをページの基礎として使用し、モデルをJavaScriptモデルの基礎にすることです。ほとんどのプレゼンテーションは実際にクライアントサイドで行われるため、唯一のVMはJavaScript VMです。言い換えれば、より静的な配管をMVCで行い、次に動的な対話のクライアント側を行います。

主にKOのようなクライアントサイドのJSライブラリを使用してビルドしているのであれば、理由がない限り、MVC側のVMで開始しません。

ご不明な点がございましたら、お手伝いをしてください。

0

ノックアウトビューモデルをサーバーのビューデータに基づいて作成する必要があります。サーバーからのデータで初期化する必要があります。

オプションで、mapping pluginを使用して、ビューデータをビューモデルにマップすることができます。

1
  1. いつものように、ビューモデルを作成してください。
  2. そこからKOビューモデルを生成するHTMLヘルパーを作成します。
+0

ポイント2で詳細を教えてください。 – Aidos