いくつかの変数を別のページに渡したい。現在、response.redirectを使用して、URLで変数を渡しています。セッション変数の使用にはあまり興味がありません。.NETの隠れた変数を完全に異なる形式に渡す方法はありますか?
4 に答える
使用できます
Server.Transfer("Your transfer page url")
server.transferは、現在のページのすべての変数を別の転送されたページに転送します。
( Server.Transfer()を使用して、 Request.Formデータを失うこともありません。)
次のページにデータを渡すには、基本的に3つの方法があります。
クエリ文字列内
これは、ブラウザが処理できるURLのサイズに制限されており、約1000文字が安全であると見なされます。
フォームデータ
これには、を使用する代わりにフォームを投稿する必要があります
Response.Redirect
。ページに非表示のフィールドを配置できます。したがって、値はページソースに表示されるため、完全に非表示にはならず、URLのようにすぐには表示されませんが、リクエストで送信されます。セッション変数内
これはデータを直接送信しません。代わりに、セッションIDのみが(Cookieとして)リクエストで送信され、セッション変数がサーバーを離れることはありません。
ユーザーがサイトのページを表示する複数のウィンドウを開いている場合に適用される方法には、わずかな違いがあります。最初の2つの方法では、各ウィンドウに独自のデータセットがありますが、3番目の方法を使用すると、すべてのウィンドウで同じデータが使用されます。
クッキーを試すこともできますが、見ればそれが何であるかを見ることができ、信頼性はあまり高くありません。Syedの例のように、セッション変数を使用します。