ASP.NET Hiddenフィールドコントロールを使用して、JavaScriptで単一アイテムのデータ値を生成し、ポストバック時に値をサーバーに送り返すことができます。
私の新しい問題は、ブラウザクライアントで完全に作成および編集されたアイテムの全リストがあることです。コントロール自体はASP.NETコントロールではありません。(私は剣道リストビューを使用しています)。
このデータを送り返すにはどうすればよいですか?
javascriptはローカルデータソースを何らかの方法でDOMにエンコードする必要があり、サーバーコードは何らかの方法で値を抽出すると想定しています。
私が考えることができる唯一の「どういうわけか」は、すべての値を1つの文字列にシリアル化し、それを非表示フィールド値として設定することです。
javascriptを使用して値をシリアル化し、C#を使用してこれらを逆シリアル化することは確かに実行可能ですが、少し「手動」のようです。手動のシリアル化を伴わない、より簡単な方法があるかどうか疑問に思います。DOMに書き込むための何らかの方法で、ASP.NETバインディング機能によって取得されます。
この問題の場合、データは次の形式になります。
[
{
sequenceNumber : 1,
mediaFileId: 3
},
{
sequenceNumber : 2,
mediaFileId: 28
},
{
sequenceNumber : 3,
mediaFileId: 32
}
]
sequenceNumberは冗長であると主張することもできますが、将来的には新しいフィールドを追加する予定なので、マルチフィールドデータオブジェクトに対応するソリューションを見つけるのが最善です。
投稿全体をAJAX呼び出しに置き換えることができることはわかっていますが、現時点では、既存のページに大きな変更を加えることはできません。