dポイントプレゼントキャンペーン実施中!

お世話になります。

同様の質問が多々あり根本的な解決に至っていませんでしたので、質問させて頂きます。

現在、ASP.NETでファイルをアップロードする画面を作成しています。
アップロード後に結果画面に遷移しています。
現象としては・・・
結果画面からブラウザの[戻る]ボタンまたはjavascriptのhistory.back()を使用すると「ページの有効期限切れ 」と表示されてしまいます。
原因としては・・・
IEでは、フォームにファイルフィールド(<input type="file">)を使用している場合、次のページがキャッシュされないため、「戻る」ボタンを押したときに「ページの有効期限切れ 」になってしまう。
※IEの仕様
対策として・・・
過去の質問などから以下の2つを考えています。
1.IEを使用しない。または「ページの有効期限切れ 」でブラウザの[更新]ボタンを押下する。
2.ブラウザの[戻る]ボタンを使わせず、history.back()を使用していたボタンを直接、前画面に遷移するボタンに変更する。

そこで質問なのですが、上記の2つ以外での対応策はあるのでしょうか?

A 回答 (1件)

戻るボタンの遷移先に、



<%@ OutputCache Duration="1000" VaryByParam="none" %>

というディレクティブを*.aspxか*.ascx上に設定し、キャッシュの有効期限を長めに設定してもダメでしょうか?

@ OutputCacheについて
http://msdn2.microsoft.com/ja-jp/library/hdxfb6c …

参考URL:http://msdn2.microsoft.com/ja-jp/library/hdxfb6c …
    • good
    • 0
この回答へのお礼

返信遅くなり申し訳御座いませんでした。
(通知メールが来なかったような...)

<%@ OutputCache Duration="1000" VaryByParam="none" %>
を試したのですが、画面上で1回ポストバックを起こしてから結果画面に遷移させようとすると、遷移されずにポストバックのみ起きる状態になってしまいました。

ファイルフィールド(<input type="file">)のみの画面ではなく、他にもオブジェクトが存在する複雑な画面ですと難しい問題なんですかね。

その後も色んなサイトのQAを見まいしたが解決には至っていませんでした。
社内的なサイトなので運用でカバーと言うことにします。

ありがとう御座いました。

お礼日時:2007/08/22 09:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!