33 messaggi dal 18 giugno 2002
Ciao a tutti.
Ho una pagina aspx che mi visualizza i file contenuti in una directory. tramite una semplicissima funzioncina, (cliccando un bottone di tipo submit) posso eliminare un file per volta. Dopo che elimino il file però, (ovviamente la pagina viene ricaricata), la lista dei file contenuti nella cartella continua a visualizzare il file eliminato. è un problema di cache, in quanto premendo F5, la pagina si ricarica senza visualizzare il file eliminato.
come si potrebbe fare il tutto automaticamente??


Doctorfire
forse più che cache può dipendere da quando e se aggiorni la lista dei file.
utilizzi qualche controllo iterativo, ad esempio DataGrid, repeater ecc? per visualizzate la lista dei file

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
1.245 messaggi dal 03 marzo 2004
Un problema simile io lo avevo risolto mettendo un response.redirect sulla stessa pagina come ultima riga di codice.

L'infinito è... ASP.NET
33 messaggi dal 18 giugno 2002
grazie innanzitutto per l'interessamento.
non utilizzo nessun datagrid o repeater
utilizzo un semplicissimo ciclo. ecco uno stralcio di codice:


For Each fil In di
Dim fiTemp As New FileInfo(fil)

file_presenti.InnerHtml = file_presenti.InnerHtml & "<div id="" "& intCont &" "" class=""singolo_file"" title=""Dimesione: "& FormatNumber(fiTemp.length/1024) & " KB "" ;""><img src=""img/ico_"& Right(fiTemp.Extension, 3) &".gif""/>" & fiTemp.Name & "</div>"
Next



<div id="file_presenti" RUNAT="server"></div>

Doctorfire
l'interessamento è gratuito
quando esegui lo spezzone di codice? nel pageload? e quando esegui quello relativo all'eliminazione del file?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
33 messaggi dal 18 giugno 2002
si, nel pageload eseguo il ciclo, mentre leliminazione richiamando una sub:

Private Sub DeleteFile(FileName As String)
if File.Exists(FileName) then
File.Delete(FileName)
titolo.InnerHtml = "<strong>Il File è stato eliminato con successo</strong>"
Else
titolo.InnerHtml = "<strong>Il File non è esiste più</strong>"
end if
End Sub

<input type="submit" value="Si" class="inputButton" id="elim" onserverclick="DeleteButton_Click" runat="Server" />

Doctorfire
ecco svelato l'arcano :), il pageload viene sempre eseguito per primo dopo gli altri eventi compreso il click.
il suggerimento è quello di refattorizzare il codice che usi per enumerare i file , spostandolo in un metodo chiamato ad esempio CreaLista.

quindi

nel page load

if(!this.Page.IsPostBack)
{
CreaLista();
}

mentre nel DeleteButton_Click aggiungi in fondo aggiungi una chiamata a CreaLista();

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
33 messaggi dal 18 giugno 2002
esatto non ci avevo affato pensato. grazie tantissimo

Doctorfire

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.