これは設計/技術に関する質問です。
ASP.NET MVC を使用すると、すべてのレコードを読み取り専用の表形式で表示するマスター ビューという 2 つのビューを持つ単純なアプリケーションを簡単に作成できます。もう 1 つの詳細ビューは、新しいレコードを作成します。
私の目標は、テーブルと同じページに詳細フォームを表示することです。ユーザーがデータを入力して保存すると、ビューを切り替えたりコンテンツをリロードしたりすることなく、新しいレコードがテーブルに追加されます。基本的には、stackowerflow に新しい回答やコメントを投稿するように機能するはずです。
独自の jQuery コードを作成し、JSON を使用してコントローラー アクションと通信することで、その方法を見つけました。ASP.NET MVC でこの種の動的フォームが作成されるのは、このような方法ですか?
このアプローチでは、次の設計/拡張性の問題に直面しています。
- jQuery を使用して新しい行をレンダリングするのは、少し雑然としています。
- 新しいフィールドを追加する場合、調整する場所が 2 つあります。1 つはマスター ビュー、2 番目は jQuery スクリプトです。
現在、次のように新しいレコードをテーブルに追加しています。
function addQueryField() {
// Determine the index of the next row to insert
var index = $("tr[id^=queryRow]").size();
// Create DOM element for table row
var oTr = $(document.createElement("tr")).attr("id", "queryRow" + index);
// Create DOM element for value textbox
var oValueTextBox = $(document.createElement("input")).attr("name", "query[" + index + "].Value").attr("id", "Value"+index).attr("type", "text");
});
ここで説明する手法を基本的に使用しています。
おそらくすぐに使えるソリューションがいくつかありますか?