2009-01-26 11 views
0

Je vais avoir un problème étrange ici ...IIS 5.1/6.0 Différences avec DataGrid et SqlDataSource Actualiser

J'ai une application ASP.NET 3.5 qui a un GridView et un SqlDataSource sur la Default.aspx. Le GridView est databound à la SqlDataSource. Le GridView a un bouton pour chaque ligne appelée "View" qui envoie l'utilisateur à une page distincte où la ligne peut être modifiée.

J'ai deux installations de cette application - une sur mon ordinateur portable de développement, qui est XP exécutant IIS 5.1 et un autre sur un serveur Windows 2003 exécutant IIS 6.0. Les fichiers web.config sont identiques, les propriétés de configuration IIS sont identiques et la même base de données apparaît.

Sur mon ordinateur portable, le comportement que je vois est "correct", et va comme ceci: 1. Ouvrez la page, sélectionnez la page 15 du DataGrid via les liens de pagination. 2. Cliquez sur le bouton d'affichage pour un enregistrement, affichez la page d'édition. 3. Cliquez sur le bouton "Retour" et vous revenez à la page Default.aspx, et GridView est rechargé/actualisé avec de nouvelles données. En cliquant à nouveau sur Affichage, vous accédez à l'élément approprié.

Sur le serveur, je vois ceci: 1. Ouvrez la page, sélectionnez la page 15 de la DataGrid via les liens de pagination. 2. Cliquez sur le bouton d'affichage pour un enregistrement, affichez la page d'édition. 3. Cliquez sur le bouton "Retour" et vous êtes retourné à la page Default.aspx, et le GridView est pas rechargé avec de nouvelles données (il apparaît immédiatement). En cliquant à nouveau sur Affichage, vous passez à l'élément WRONG.

Évidemment, il y a une sorte de problème de mise en cache, mais je n'arrive pas à comprendre ... des idées?

Répondre

0

Je ne suis pas sûr de la raison exacte ou de la cause, mais comme je m'y attendais, c'était un problème de mise en cache. Lorsque j'ajoute l'instruction:

Response.CacheControl = "no-cache"; 

Pour le Default.aspx.cs, le problème disparaît. Il n'est pas surprenant que le bouton arrière vienne à bout du modèle de requête, mais j'ai trouvé surprenant que le IIS 5.1 fonctionnant sur mon ordinateur portable manipule mieux le bouton arrière que IIS 6.0 ...