私は最近Ajaxを調べました(あなたの専門家を笑ってください)、そして私はすべての追加された機能に興奮しています。しかし、いくつかの懸念があります。
フォームの送信
Ajaxの例では、jsonオブジェクトは自動的に作成されるか(フォームをシリアル化する)、または各DOMアイテムからval()を取得することによって手動で作成されます。また、データ検証はjavascriptを使用して実行されます。おそらく、Html.EditorFor(およびHtml.TextboxForなど)を使用してフォームを作成できると思います。しかし、モデル/ビューモデルに追加されたDataAnnotation属性を引き続き使用することは可能ですか?私が見たMVC+Ajaxの例では、通常、サーバー側の検証は実行されません。その部分を省略しても大丈夫ですか?今すぐフォームを送信するには、ユーザーがJavaScriptを有効にする必要があるため、問題ないと思います。しかし、私たちはいくつかの専門的な提案が必要です。
モデルを表示
Ajaxの世界では、ビューモデルは通常JSONオブジェクトとして表現されます。(間違っている場合は訂正してください。)次に、ドメインモデルとビューモデルの間でマッピングするための最良の方法は何ですか?AutoMapperのようなツールはありますか?
さて、ここに何かを追加する必要があります..........。
この懸念の理由は、いくつかの例が
Knockout.js
(そのWebサイトを参照)return Json(model)
と呼ばれるものを使用していることを発見したためです。ビューモデルのjsonオブジェクトを呼び出しに返す代わりに$.Ajax
、その例はビューモデルがjavascriptで構築されていることを示しています。//これは単純な*viewmodel*です-UIのデータと動作を定義するJavaScript 関数AppViewModel(){ this.firstName = "Bert"; this.lastName="バーティントン"; } //knockout.jsをアクティブにします ko.applyBindings(new AppViewModel());
そのような実践の利点は何ですか?
----私の更新の終わり----
役立つ提案をありがとうございます。