これに取り組む方法はいくつかありますが、比較的一般的なことである必要があり、それに取り組む「標準的な」方法があるかどうか疑問に思いました。
基本的に、jQuery AJAXを使用してASP.NETページに投稿するHTMLページにフォームがあり、フォームフィールドを取得してデータベースに入れます。
フォーム自体には、記事のタイトル、記事の内容、日付など、いくつかの標準フィールドが含まれています。ただし、フォームには、著者名、著者の電子メール アドレス、著者の年齢など、多数の著者の詳細を追加することもできます。そのため、ユーザーはフォームのタイトル フィールドとコンテンツ フィールドに入力し、1 人以上の作成者を追加できます。作成者のフィールドは、jQuery.clone() を使用して動的に作成されます。
そのため、不明な数の作成者が存在し、その結果、フォーム ポストを受け入れる .NET コントロールは、受信する予定のフィールドを認識できません。
標準フォームの詳細は、「記事」と呼ばれる 1 つのテーブルに追加されます。作成者は、「作成者」と呼ばれる別のテーブルに個別に追加されます。
問題は、この種のことを処理するための最良の方法は何ですか?
ここでアドバイスをありがとう。
編集:
これに私の最初のアイデアを追加するには...まず、次のように、作成者フォームの各フィールドに増分番号を付けて名前を付けることができます。
<fieldset>
Author 1 name: <input name="name-1" /><br />
Author 1 email: <input name="email-1" /><br />
Author 1 age: <input name="age-1" />
</fieldset>
<fieldset>
Author 2 name: <input name="name-2" /><br />
Author 2 email: <input name="email-2" /><br />
Author 2 age: <input name="age-2" />
</fieldset>
また、jQuery スクリプトによって新しい作成者フィールドセットが追加/削除されたときに増分/減分される「number-of-authors」と呼ばれる隠しフィールドもあります。次に、フォーム ポストを受け取る .NET コードで、0 から x までの各フォーム フィールドをループできます (x は「著者数」の値です。ここでの難点は、インデックスを再作成する必要があることです。たとえば、ユーザーが最初のセットを削除した場合など、フィールドセットが削除されたときの各フォーム フィールド。
2 番目に考えたのは、jQuery シリアル化を使用してフォーム フィールドの値を単一の文字列にシリアル化し、その文字列を処理して .NET コード内のオブジェクトに戻すことができるということです。これを行う方法はよくわかりませんが、可能だと確信しています。
この状況で人々のアドバイスは何でしょうか?