.NET MVC フレームワークのステートレスな性質に問題があります。
私はいくつかのHTMLのようなものを持っています
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
<button id="btnShowMore">Show More</button>
<a href="www.google.com">Google</a>
そして私のjavascriptは次のようになります
var maxDisplay = 5;
var unit = 5;
$("li").slice(maxDisplay).hide();
if ($("li").length <= maxDisplay) $('#btnShowMore').hide();
$('#btnShowMore').click(function () {
maxDisplay += unit;
$("li").slice(0, maxDisplay - 1).show();
if ($("li").length <= maxDisplay) $('#btnShowMore').hide();
});
リストを展開して Google に移動し、ブラウザの [戻る] ボタンをクリックすると、リストは私が行ったことを忘れて、最初の 5 つのリスト項目のみを表示します。これは私が望んでいるものではありません。
私はいくつかのオプションを考えました:
クッキー。このようなページがたくさんあり、それぞれにCookieが必要になるため、私が望むものではありません
window.location.hash を利用するなど、URL を少し操作します。また、それは別のページになるため、良くありません
これを行う従来の方法はありますか?
前もって感謝します
アップデート:
もう解決策は出ていないようです。クライアントとサーバー間でこの変数を転送する必要がないため、cookie よりも localStorage を使用することをお勧めしますが、ページが最初にロードされるか (キャッシュされた変数をクリアして 5 つのアイテムを表示する)、またはナビゲートバックからロードされるか (キャッシュを読み取り、キャッシュされたアイテムの数を表示します)。
多分私はハッシュで行くべきです...