0

このデータをデータベースに保存せずにどこかに保存する方法について、インターネットでアプローチを見つけようとしましたが、この問題について奇妙な沈黙を見つけました。

複数行のテキスト ボックスを含むデータベースと Web ページ (ユーザー フォーム) があります。多くの場合、 Page.Response.Redirectを実行して、アドレス文字列に新しいパラメーターを指定してページをリロードします。データが以前にデータベースに保存されていれば問題ありません。しかし、多くの場合、それを行うべきではありません。これらの場合、すべてのテキストボックスのテキストが失われます。

私には 3 つの概念的アプローチがあります。

1)データをローカルにキャッシュに保持します。これは私にとって新しいことです。方法がわかりません。

2) とにかくデータベースを使用し、一時データを一時テーブルに保持します。

3)viewstateを使用して、特定のコントロールごとに状態を保存およびロードできる可能性があります。

より良い方法を見つけるのを手伝ってください。アイデアがある場合、または役立つ詳細な記事を知っている場合は、それは素晴らしいことです。本当に実用的な情報が必要です。抽象化はもはや役に立ちません。ありがとうございました。

4

3 に答える 3

0

最初のオプションを使用できますが、常に最善の方法とは限りません

セッションを使用できます。文字列全体をセッションに保存し、ロード時に取得します

使用するセッションをお勧めします。

于 2013-05-18T20:47:48.020 に答える
0

1) HTML5 のローカル ストレージについて話している場合、これはすべてのブラウザーと互換性があるわけではありません。したがって、IE9以下のユーザーを除外したくない場合は、サーバー側のアプローチを使用する必要があります

2)これは機能します。データを長期間保持したい場合は、このソリューションをお勧めします

3) Viewstate はページにデータを保存するため、ユーザーを別の場所にリダイレクトするとデータが失われます。

これ以外に、セッション内のデータを保持できます: Session["textarea_content"] = txtID.Text. データはそのセッション中に利用可能になります。つまり、ユーザーがブラウザを閉じるか、放置すると期限切れになります。


だからここに私の推奨事項があります:

  • ユーザーがその特定のページにいる間だけデータが必要な場合は、ビューステートを使用します

  • ユーザーが Web サイトでアクティブな間だけデータが必要な場合は、セッションを使用します

  • ユーザーが離れてもデータを利用できるようにしたい場合は、データベースを使用します

于 2013-05-18T22:04:06.617 に答える
0

http://slides.html5rocks.com/#offline-storage-title

最善の策は、ローカル ストレージを使用することです。(HTML 5 の新機能ですが、現在はすべてのブラウザーでサポートされています。) そうすれば、誰かが二度と戻ってこない場合、そのデータを最後まで保存しません。

別の方法は、セッション ストレージに格納することです。(これを処理するフレームワークを使用していますよね?)。しかし、それはスケーリングが難しく、戻ってくるかもしれないし戻ってこないかもしれないユーザーのためにテキストを保持したままになります。

于 2013-05-18T20:05:18.890 に答える