2017-02-08 11 views
0

私はasp mvcを使用しており、ユーザーが行を更新できるグリッドを表示するページを作成しました。完了したら、next - をクリックして次のページに進みます。彼らが戻るボタンをクリックすると、グリッドページには最初にロードされた値が表示されます。最終値を表示するために必要です。戻るボタンをクリックした後のページの最終状態を保持する

問題

  • グリッドページがロード
  • ユーザはブラウザがボタン
  • をバックアップクリック
  • (次のページに取られます)
  • ユーザーが[次へ]ボタンをクリックし、グリッドのページを編集しますグリッドページに元の値が読み込まれる

私はいくつかの検索を完了しましたが、間違った質問をする必要があります。私はwebforms viewstateを使用するものしか見つけませんでした。では、この問題を解決するために何を検索する必要がありますか?どんな指導も訴えるでしょう。

+0

保存されていない変更を行ったことをユーザーに思い出させるページを残す簡単な警告があります。 – JB06

+0

最初にそのユーザーが戻るボタンでナビゲートする必要があります。あなたがそうすることができたなら、あなたは次のページにあったのと同じモデル状態を使用して同じものをバインドする必要があります。セッションは便利です。まず、ユーザーの経験ごとにこの動作が本当に必要かどうかを確認する必要がありますか? – Amit

答えて

0

グリッドの状態を何とか維持する必要があります。これは、2つの方法のいずれかを行うことができます。ユーザーは次回クリックしたときに

  1. は、セッション中にその状態を設定し、最終的にグリッドをレンダリングするときに、セッションから状態を読み込み、関連する状態データとポストを行います。

  2. JavaScriptでlocalStorageを使用しています。基本的には、ユーザーがグリッドを変更するたびにlocalStorageに状態を設定し、ページのロード時にlocalStorageからグリッド状態をロードしようとします。

第1のアプローチは、(ほとんどすべての作業がサーバー側であることが主な理由で)サポートされていますが、あなたのアクションやビューに追加のロジックを追加する必要があります。 2つ目のアプローチはプラグイン可能です。ステートを持続/ロードするスクリプトをドロップするだけで、変更する必要はありません。しかし、localStorageはHTML5に含まれているので、IE8 +やその他のウェブブラウザを意味する最新のブラウザでのみ利用できます。 IE7をサポートする必要がある場合は、それは実用的な選択肢ではありません。

関連する問題