2011-06-20 13 views
0

Webアプリケーションに.net c#webフォームがあります。このページのコードの後ろにいくつかの処理を行います。私は私のページから渡したいページからhttpハンドラに値を渡す

<script type="text/javascript" src="handler.axd"></script> 

:このページのマークアップ内

は、私はマークアップに含まれるテキスト/ javascriptのの応答タイプを、出力参照HTTPハンドラを、持っていますhttpハンドラのいくつかの値。私はクエリ文字列を介してそれを渡すしたくないとセッションが私に利用可能ではありません。

私のページからhttpハンドラにデータ/変数の値を渡す方法に関するヒントやヒントはありますか?私は、クエリ文字列とセッションを介して、それを渡したくない

答えて

1

Cookies私にはできないのですか?メインページでクッキーを設定し、ハンドラーでクッキーの値を読み取ります。

これはオプションではない場合はどうすればApplication State?メインページで一意のGUIDを生成し、ハンドラに渡したい値をアプリケーション状態に格納します。次に、要求パラメータとしてハンドラにGUIDを渡します。ハンドラでは、GUIDを使用してアプリケーション状態から値を取得します。

データベースの状態(またはサーバー上の他の永続ストレージメカニズム)についてアプリケーション状態がオプションではない場合は、

すべてのものは、私はあなたが適量の変数を使用したくない知っている私はあなたがすぐに

+0

ありがとうございますが、私はサイトに別のクッキーを紹介したくありません。私はすでにサイトにいくつかのクッキーを持っています。 – amateur

+0

@amateur、複数のCookieを持つことは問題ではありません。 –

0

:-)オプションが不足する可能性があることが怖いとあなたがより詳細にあなたのシナリオを記述するためのオプションがない場合は、しかしあなたは次のことができます。ページロード時に一意のキーを作成し、そのキーでアプリケーションキャッシュに変数を格納し、そのキーをスクリプトリファレンスのクエリ文字列変数として使用し、アプリケーションキャッシュからその情報に再度アクセスします。これは、今やクエリー・ストリングに固執している理由として、セキュリティーやデータ・サイズが懸念されていることを前提としています。

0

HttpContext.Itemsコレクションを見ましたか?

+0

2つの別々のリクエストではないので、HttpContext.Itemsは共有されませんか? – amateur