2011-08-08 9 views
0

私はASP.NETでgridviewを持っています。私がどのページに行っても(明らかに第1ページではない)。レコードを編集します(私はカスタム外見を持っているので、カスタムバウンドボタンを使用します)。レコードを編集すると、グリッドビューに表示されないので、ページをリフレッシュします。ページングされたASP.NETグリッドビューの現在のインデックスを記憶しています

ただし、ページを更新すると(C#で完了)、グリッドの現在のインデックスが失われていることを意味します。現在のインデックスはどのように保持できますか?

私はASP.NET 2.0 Webフォームまたは3.5を使用しています(確認する必要はありません)。しかし、MVCではありません。

ありがとう

答えて

0

あなたが編集しているレコードが独自の識別子を持っていると仮定すると、私はそれをveiwstateまたはsessionで保持します。これは、レコードが挿入または削除されるシナリオをカバーします。 This question and answersは、インデックスではなくアイテムIDに基づいてアクティブな行を設定するのに役立ちます。

私はそれがあなたが探しているものではないことを知っていますが、それは有用なアプローチかもしれません。

+0

私は実際にそれを試みました。私はページリフレッシュ(同じページへのresponse.redirect)がそれをねじ込むと思います。とにかくこれを修正しました。 – dotnetdev

+0

編集後、データソースを再クエリして再バインドして、最新のデータが確実に表示されるようにします。これは、response.redirectを使ったリフレッシュに似ています。 response.redirectを使用している場合は、リダイレクトのクエリ文字列にインデックスまたはIDを追加できます。 –

1

編集ボタンイベントでページインデックス値を保持する方法もあります。ビューの状態またはセッションを使用できます。その後、更新をクリックすると、データを再バインドし、保存した値に基づいてインデックスを設定できます。

関連する問題