クエリ文字列やセッションなしで別のページにデータを渡すことができるかどうかを知りたいです。
言い換えれば、デリゲートまたは他の方法を使用してこれを行うことはできますか?
データを別のページに POST することができます (これはクエリ文字列を使用する場合とは少し異なりますが、似すぎている可能性があります)。別の Web フォームに投稿されたデータは、Request.Form["name_of_control"] で読み取ることができます。
場合によっては、GUID を生成し、それをページ間で渡すという独自のアプローチを開発する必要がありました。次に、任意のページで、特定の GUID に関連付けられたデータ構造を静的なキー/値構造から取得できます...セッションと同様だと思いますが、それがどのように機能するかをより詳細に制御できました。すべてのユーザーがアプリケーションに対して複数のウィンドウ/タブを同時に開くことができ、それぞれが他のウィンドウに影響を与えたり影響を受けたりすることなく機能します (それぞれが異なる GUID を渡しているため)。どのアプローチを選択するにせよ、ユーザーがアプリケーションを複数のウィンドウ/タブから同時に使用したいという事実を考慮することを強くお勧めします。
適切なツールは、ニーズによって異なります。あなたの課題は、本質的にステートレスである HTTP をよりステートフルにすることであることを思い出してください。このスレッドには、このトピックに関する非常に良い議論があります: ページ間でデータを渡すためのベスト プラクティス