タイトルは問題を要約しようとしていますが、ここでより詳細な要約を示します。私たちの Web ページは、AJAX 更新パネルで設定された長方形のレポート ウィジェットとして視覚的にレンダリングされるユーザー コントロールのコレクションです。ユーザーがウィジェットをドラッグ アンド ドロップして、ページ上に事前設定された「ゾーン」を設定できるようにします。
ドラッグ アンド ドロップ機能は問題なく動作します。Web サービスへの AJAX 呼び出しを使用して、永続化のためのユーザーの新しい設定でデータベースを更新します。
「ただし」は、これらのウィジェットの 1 つからポストバックを行うときに発生します。ポストバックはサーバーに送信され、クライアントに返される更新をレンダリングします (更新パネルのため、すべて AJAX 経由)。ドキュメント階層が変更されたが、コントロール ID がクライアントで更新されていないため、クライアントで「ID を持つ UpdatePanel が見つかりませんでした...」というメッセージが表示されます。
このリンク テキストに対する Rick Strahl のソリューションを試してみました。これにより、クライアントで静的なコントロール ID を作成できました。ただし、これはポストバック機能を壊します... isPostBack プロパティが設定されていません。サーバーがコントロール ID を既知の階層要素と一致させることができないためだと思います。
Javascript を使用して、ドラッグ アンド ドロップ後にクライアント側でコントロール ID をリセットすることを考えています。明らかに、これには .Net の命名アルゴリズムを複製する必要がありますが、賢明ではありません。別の updatepanel を使用して、ドロップ後に新しいコントロール ID をサーバーに送信するように依頼することはできますか?
明らかに、アイデアが不足しています。
これはおそらく長すぎると思います。喜んで編集し、コード サンプルを提供します。前もって感謝します。