確認していませんが、Mac用の Safariだけがこれを行うブラウザではないことは確かです。これは、ブラウザのキャッシュの仕組みによるものです。ブラウザの履歴をさかのぼると、Safari(およびAFAIK Firefoxも同様)はページを再度要求しません。代わりに、Safari/Webkit は以前にアクセスしたページのコピーをメモリに保持するため、ほぼ瞬時に戻ることができます。
この状況では、Safari は入力の値を含め、その正確なコピーを保持しています。通常の状況では、これはユーザーにとって便利かもしれません。私が言ったように、これを行うのは Safari だけではないと思います (たとえそうであったとしても、他のブラウザーが将来同じことを選択する可能性があるので、特にターゲットにしないでください)。
「A」アクションのキャッシュを無効にすると、ブラウザがページを再度取得する (そして入力の値をリセットする) ようになるため、うまくいくはずです。このようなもの:
[System.Web.Mvc.OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public ActionResult A()
{
return View();
}
これで問題が解決しない場合は、Web ページの onload イベントで javascript を使用して値をクリアする必要がある場合があります (これは jquery で行うのは非常に簡単なはずです)。何かのようなもの:
$(document).ready(function() {
$('input').each( function() {
if($(this).attr('type') == 'checkbox') {
this.checked=false;
} else {
$(this).val('');
}
}
})
注: コードはテストされていませんが、役立つことを願っています (ページのキャッシュの無効化に失敗した場合) :)