Domanda

Ho uno strano problema qui ...

Ho un'applicazione ASP.NET 3.5 che ha un GridView e un SqlDataSource su Default.aspx. GridView è basato su database per SqlDataSource. GridView ha un pulsante per ogni riga chiamato & Quot; Visualizza & Quot; che invia l'utente a una pagina separata in cui è possibile modificare la riga.

Ho due installazioni di questa applicazione: una sul mio laptop di sviluppo, che è XP con IIS 5.1 e un'altra su un server Windows 2003 con IIS 6.0. I file web.config sono identici, le proprietà di configurazione IIS sono identiche e colpisce lo stesso database.

Sul mio laptop il comportamento che vedo è " correct " ;, e va così: 1. Aprire la pagina, selezionare la pagina 15 del datagrid tramite i collegamenti di paging. 2. Fare clic sul pulsante Visualizza per un record, visualizzare la pagina di modifica. 3. Fare clic sul & Quot; Indietro & Quot; e si torna alla pagina Default.aspx e GridView viene ricaricato / aggiornato con nuovi dati. Facendo di nuovo clic su Visualizza si arriva all'elemento corretto.

Sul server, vedo questo: 1. Aprire la pagina, selezionare la pagina 15 del datagrid tramite i collegamenti di paging. 2. Fare clic sul pulsante Visualizza per un record, visualizzare la pagina di modifica. 3. Fare clic sul & Quot; Indietro & Quot; e si torna alla pagina Default.aspx e GridView viene NON ricaricato con nuovi dati (si apre immediatamente). Facendo di nuovo clic su Visualizza, si accede alla voce ERRATO .

Ovviamente c'è una sorta di problema di memorizzazione nella cache, ma non riesco a capirlo ... qualche idea?

È stato utile?

Soluzione

Non sono sicuro del motivo esatto o della causa, ma come mi aspettavo, era un problema di memorizzazione nella cache. Quando aggiungo la dichiarazione:

Response.CacheControl = "no-cache";

In Default.aspx.cs, il problema scompare. Non è sorprendente che il pulsante Indietro rovini il modello di richiesta, ma ho trovato sorprendente che IIS 5.1 in esecuzione sul mio laptop gestisca il pulsante Indietro meglio di IIS 6.0 ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top