2009-08-10 13 views
2

ASP .NETが
は、非表示の入力フィールドの値を格納する許可されているが許可されている
クエリ文字列が許可されていない
POSTリクエストがGETリクエスト間でJavaScript変数を維持しますか?

許可されていませんGETリクエストの間にJS変数を格納することができますか?
ClientScript.RegisterStartupScriptを使用してクライアント上で再初期化します。

このためにCookieを使用できますか?
他の可能性はありますか?
リクエストが行われたときにクッキーが保存される場所は?

答えて

3

このためにCookieを使用できますか?

はい、これはtutorial on using cookies in Javascriptを参照してください。

他の可能性はありますか?

あなたの要求のURLを追加できない場合は、私は何も思い付きません。

リクエストが行われたときにCookieが保存される場所はどこですか?

HTTPリクエストヘッダーにあります。上記のチュートリアルでは、Javascriptから値を読み取る方法について説明します。 ASP.Netを使用するサーバー側では、HttpCookieのインスタンスを返すRequest.Cookie["cookieName"]を使用してCookie値を読み取ることができます。

0

現在のところ、クッキーを使用することが最良の賭けです。 JavaScriptオブジェクトを文字列にシリアル化し、後でそれらをオブジェクトに逆シリアル化して戻すことができます。 JSONはJavaScriptのサブセットであるため、良い選択形式です。

Flashにもオブジェクトが格納されています。 Google Gearsに保存しています。 DomStorage

は、それぞれのインタフェースを持って、このライブラリを参照してください: http://pablotron.org/?cid=1557

ページのすべての側面を制御している場合、あなたは、トップレベルのフレームでページをラップすることができます。その後、子フレームのみをリフレッシュします。親フレームにコンテンツを保存することができます。

これは、GMailなどのサイトで使用されています。また、URL内で唯一変更されているのは#の外側です。

URLを変更する必要はありません。その部分は人にやさしいURLのためだけに入れられます。 (実際にはそのままURLをコピーして貼り付けることができます)。

+0

私は過去に、フレームセットとIFrameを使用してあなたのアイデアを試しました。しかし、私のサイトはちらつき、すべてのiframeは内容がちらつき、この結果、ユーザーエクスペリエンスが悪くなります。 –

+0

しばらく前だったはずです。私はちらつきの問題は、今日使用されているほとんどのブラウザで修正されると信じています。 Gmailはちらつきがなく、フレームセットを使用してソースを表示します。また、ちらつきの回避策もありますが、1年前か2年前のものであるかを覚えていません。 – bucabay

3

非常にを推奨しますが、もう1つのオプションはのwindow.nameプロパティを変更することです。

ここではデータの小さなビットを保存し、次のページの読み込み時にそれらを取得します。

長所:

  • クイック-N-汚いが、作品

短所:

  • ポップアップ/子供のための任意のウィンドウの参照台無しアップが
  • をアイフレーム
  • その「ハック」、ブラウザの販売以来この機能を将来的に破る可能性があります。

もちろん、すべての古いブラウザを除外できる場合は、Global/Client Session Storageを使用してください。

0

保存しているオブジェクトが大きい場合や、正確に復元したい場合(JSONは確かにそうでない場合)はhttp://rhaboo.orgを使用してください。ほとんどのライブラリでは、ラージオブジェクトと配列を1つのlocalStorageエントリにシリアライズしていますが、これはわずかな変更ごとに全体をデコードして再エンコーディングすることを意味し、忠実なユーザーのパフォーマンスが徐々に悪化します。 Rhabooは、オブジェクト内の各ターミナル値に対して個別のLSエントリを使用し、個別に調整または追加するので、パフォーマンスが低下することはありません。

私はrhabooを書いた。

関連する問題