MVCアプリケーションを作成していますが、Knockout.jsが多くの問題を解決すると判断しました。私は問題を解決している新しい問題。asp.net MVC with Knockout、モデルをjavascriptに渡す
すべてのMVCエンドポイントをビューに戻すように変換した後、JSONオブジェクトを返す他のいくつかのエンドポイントを作成しました。ユーザーがWebサイトを参照すると、サイトは基本的なUIフレームを読み込みます。その後、Knockout.jsはAJAX呼び出しを介してモデルを読み込みます。これにより、すべてのページがロードされた後、ロードされたページがロードされ、すべてのデータが存在するMVCだけでロードされます。
私は同時に両方を読み込む方法を検討してきましたが、サイトを完全にリファクタリングする必要のないものは見つかりませんでした。ビューのエンドポイントにJSONのエンドポイントをマージし、@Html.Raw(Json.Encode(object))
を使用して分離コードでJSONにモデルを変換
- が、その後、私はすべての私の純粋なJSONエンドポイントの乗車を取得する必要があります:最良のオプションでした。
JSONエンドポイントのデータをサーバー側のビューに渡すために他に何かできますか?または、モデルとビューを同時にロードする方法はありますか?
ありがとうございました!ちょうど私が同じページにいることを確認できるので、ビュー内のJSONエンドポイントを呼び出す必要がありますか?何かが好きです:var model = @ Html.Action( "Data"、 "Items")ここでmodelはjsですか? –
更新のためにJSONエンドポイントを呼び出すだけです。 ViewModelオブジェクトを作成し、Javascriptでそのオブジェクトとやりとりする場合は、ビューにそのオブジェクトと対話させ、AJAX要求をカプセル化するメソッド(Controllerエンドポイントを使用する)だけを持つ必要があります。これにより、キャッシュや更新などのインテリジェントな処理を定期的に実行できます。 –
私のビューのエンドポイントはJavaScriptに変換されるモデルを返す必要があり、そのモデルの更新バージョンを返すjsonエンドポイントが必要ですか?この場合、コードの重複を排除するために何ができますか? –