2012-05-11 16 views
0

私のWebアプリケーションでは、私はGridViewと他のコントロールを持っています。ユーザーは、グリッドビューをソートしてフィルタリングすることができます。また、リンクをクリックして他のページに移動することもできます。さらに、他のページに移動することもできます。しかし、彼らは最初のgridviewページに戻る。グリッドはページを離れたときと同じです。たとえば、ページング、並べ替えなど。ウェブページの状態を維持

これについての解決策が見つかりました。しかし、私は本当に理解していない。ここで http://www.codeproject.com/Articles/7655/Persisting-the-state-of-a-web-page

は私のコーディングのWebForm1.aspx

protected void Button2_Click(object sender, EventArgs e) 
    { 

        PersistentStatePage abc = new PersistentStatePage(); 
     abc.RedirectSavingPageState("WebForm2.aspx"); 
    } 

あるWebForm2.aspx

protected void Button1_Click(object sender, EventArgs e) 
    { 
     PersistentStatePage.RedirectToSavedPage("WebForm1.aspx", true); 
    } 

は、誰も私にいくつかの例をギルドができますか?

答えて

1

このcodeprojectアーティクルは、この種のシナリオでは実際には意味がありません。それは隠された入力フィールドですべてをユーザーに送信するのではなく、サーバーの場所で安全な状態にビューステートを保存することであり、膨大な量の膨れが発生します。

これについての最良の方法はセッションです。

永続化してセッションに入れるカスタムオブジェクトを作成します。 セッションの使用に関する記事については、次を参照してください。http://asp.net-tutorials.com/state/sessions/

他のすべてのページで詳細を渡すことについて心配する必要はありません。

+0

こんにちは、これらのWebページの状態をセッションに保存することはできません。それから私はセッションから結果を得るかもしれません。 – user998405

+0

予測可能性の低い結果が表示されるため、完全なviewstate結果を保存しないことをお勧めしますが、可能です。私があなたの場合は、CurrentPage、SortByColumnなどのカスタムクラスにユーザ調整パラメータだけを格納します。変更されたデータに問題が発生した場合には、全ページ状態を返すようにしてください。パフォーマンスのためにデータを保持する必要がある場合は、キャッシュを使用して、全体のビューステートの格納をやり直してください。 – Gats

関連する問題