2009-08-19 7 views
1

データを取り込むグリッドビューと、データとグリッドビューのページングを更新するユーザーコントロール(TextBox)を作成しました。下部にはユーザー入力を更新するボタンがあります。 テーブルは基本的にテーブルから名前を入力しており、テキストボックスはその名前を更新するためのものです。グリッドビューが次のページに移動するとText(TextBox)が更新されなくなりました

[テーブル]
123456 ... >>
[ボタン]

私は、次のページに行くとき、私は前ページから挿入したデータは失われます。

次のページに移動している間にデータを保持する方法はありますか?

答えて

2

グリッドビューのページングメカニズムによってポストバックが発生します。あなたのコントロールがビューステートに情報を保存していないか、またはページのリロード時にデフォルト値にリセットされているか、ポストバックに情報を保存していないなど、元のものからすべてをリロードしているようです情報元。

これらのコントロールのviewstateがオンになっていることを確認し、ページロードなどのコードの背後にある値をリセットしないようにしてください。また、発生しているデータソースに情報を保存する必要がある場合もあります。

+0

ええと、ええ、私はそれをチェックしましたが、効果がないようです。 私はそれがページングを行う方法だと思います、このような何かを行うこのメソッドを呼び出すOnPageIndexChanging gvName.PageIndex = e.NewPageIndex; DataTable dt = getData(); gvName.DataSource = dt; gvName.DataBind(); 多分、私はページを変更するたびにデータソースを使ってgridviewを再作成します。したがって、塗りつぶされたテキストボックスはデータを失います。私は本当に確信していません... –

+0

それはあなたのGetDataを呼び出して、それを再バインドすることによってまさにあなたがやっていることです。レコードの追加やフィールドの変更などの方法で値を変更した場合は、最初に保存してから再バインドする必要があります。 – klabranche

+0

hmm ...言い換えれば、メモリ内のテキストボックスに値を保存してから、ページを再バインドする必要がありますか? –

関連する問題