0

ここで奇妙な問題が発生しています...

Default.aspxにGridViewとSqlDataSourceを持つASP.NET3.5アプリケーションがあります。GridViewはSqlDataSourceにデータバインドされています。GridViewには、「表示」と呼ばれる各行のボタンがあり、ユーザーを別のページに移動して、行を編集できます。

このアプリケーションは2つインストールされています。1つは開発用ラップトップにインストールされています。1つはIIS5.1を実行しているXPで、もう1つはIIS6.0を実行しているWindows2003サーバーにインストールされています。web.configファイルは同一であり、IIS構成プロパティは同一であり、同じデータベースにアクセスしています。

私のラップトップでは、表示される動作は「正しい」ものであり、次のようになります。1.ページを開き、ページングリンクを介してデータグリッドの15ページを選択します。2.レコードの表示ボタンをクリックして、編集ページを表示します。3. [戻る]ボタンをクリックすると、Default.aspxページに戻り、GridViewが新しいデータで再ロード/更新されます。もう一度[表示]をクリックすると、適切なアイテムに移動します。

サーバー上で、次のように表示されます。1.ページを開き、ページングリンクを介してデータグリッドの15ページを選択します。2.レコードの表示ボタンをクリックして、編集ページを表示します。3. [戻る]ボタンをクリックすると、Default.aspxページに戻り、GridViewに新しいデータが再ロードされません(すぐにポップアップします)。もう一度[表示]をクリックすると、間違ったアイテムに移動します。

明らかに、ある種のキャッシュの問題がありますが、私はそれを理解できません...何かアイデアはありますか?

4

1 に答える 1

0

正確な理由や原因はわかりませんが、予想通り、キャッシュの問題でした。ステートメントを追加すると:

Response.CacheControl = "no-cache";

Default.aspx.cs に対して、問題はなくなります。[戻る] ボタンが要求パターンを台無しにすることは驚くべきことではありませんが、私のラップトップで実行されている IIS 5.1 が IIS 6.0 よりも [戻る] ボタンを適切に処理していることは驚くべきことでした...

于 2009-01-28T14:18:48.153 に答える