によりページながらリフレッシュバックボタンを押MAC safari
-
19-09-2019 - |
質問
私はaspxページ(A,B)のよASP.NET MVC.ファイルに、いくつかチェックボックスtextboxes.
私は移動のページBてみてはいナビゲートページにAを押すと、ブラウザの"戻る"ボタンで操作(MAC Safari)、ページが少なくなってきている。のページを持つのは、古い価値(チェックボックスとtextboxes).
が本当にいつもたくさんの方のブレークポイントは、サーバ側です。することができるようになを取得します。
いらっしゃることと思い、サーバ側アクションメソッドが呼び出されます。あのMAC SAFARIブラウザです。
また同利用の場合は、他のブラウザIE、FF、そうcorretly.
シンプルなものになっdint、正しい知識を身につけましょう答えがgoogling.
がいこの作品の周りのためにはMACです。?
おかげさ
vijay
解決
私がチェックしていませんが、私は、のマックのためのSafariはこれを行うための唯一のブラウザではないことをかなり確信しています。これは、ブラウザのキャッシュの仕組みです。あなたが戻ってブラウザの履歴で行く場合には、サファリ(と私の知る限りFirefoxなども)が、再びページを要求しません。さかのぼることはほとんど瞬間的になるようにする代わりに、サファリ/ WebKitが、以前訪問したページのメモリにコピーを保持します。
このような状況では、Safariは、入力の値を含むことの正確なコピーを、維持されます。通常の状況では、これはユーザーのために便利なこと、と私はサファリがこれを行うだけではないと思います(それがあったとしても、他のブラウザはそう、将来的には同じことを行うことを選ぶことができると言いましたようでしたあなたは)それを特異的に標的にはなりません。
これはページを再度取得(および入力の値をリセット)するためにブラウザを強制すべきであるとして、トリックを行う必要があります「A」アクションのキャッシュを無効にします。このような何かます:
[System.Web.Mvc.OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public ActionResult A()
{
return View();
}
これで問題が解決しない場合、あなたは(これはjQueryを使って行うことは非常に簡単でなければなりません)WebページのonloadイベントではJavaScriptを使用して値をクリアする必要がある場合があります。ような何かます:
$(document).ready(function() {
$('input').each( function() {
if($(this).attr('type') == 'checkbox') {
this.checked=false;
} else {
$(this).val('');
}
}
})
注:コードがテストされていないが、私は(ページのキャッシュを無効にすると失敗した場合)、それが役に立てば幸い:)
他のヒント
設定してみてくださいオートコンプリート="off"にフォーム
これもなかった場合にリフレッシュして頂けますのページです。