Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Aprire un file in un UpdatePanel
giovedì 06 maggio 2010 - 19.11
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Gemini
Profilo
| Expert
856
messaggi | Data Invio:
gio 6 mag 2010 - 19:11
Ciao a tutti
quando provo ad aprire un file in una pagina che utilizza updatepanel non accade nulla e mi da un errore javascript.
Il codice che utilizzo per aprire è questo:
Response.Buffer = true ;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "inline; filename=" + FileName);
ecc
como posso fare per aprire un file?
Ho trovato una soluzione che consiste nel scatenare un evento click da javascript, solo che in firefox va bene, mentre in ie8 anche se non richiamo la funzione c# che contiene il response mi da un errore javascript:
Dettagli errore pagina Web
Agente utente: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.4; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322)
Timestamp: Thu, 6 May 2010 17:09:46 UTC
Messaggio: Sys.WebForms.PageRequestManagerParserErrorException: Impossibile analizzare il messaggio ricevuto dal server. Le cause più comuni dell'errore sono la modifica della risposta da parte di chiamate a Response.Write(), i filtri di risposta, gli elementi HttpModules o l'abilitazione dell'analisi del server.
Dettagli: Errore durante l'analisi in prossimità di 'tyle="width:100px;">'.
Linea: 4723
Carattere: 21
Codice: 0
URI: http://localhost:2952/xxxxxxxx/ScriptResource.axd?d=BAvvk5qqEtHUlCRQ6IfUWr7bXPW-ck2L8mvs0mhmHgyviL9EOQ4IhtEbYIX3JfctOBmpiFQguP5fdgikoypL5vlT0G-uj5PZsDidfdtyS8Q1&t=ffffffff9826b7f9
grazie mille
Pinky
Profilo
| Junior Member
77
messaggi | Data Invio:
ven 7 mag 2010 - 21:13
Forse l'errore è dovuto alla response non perfettamente "pulita". Aprendo il PDF da file system tutto è ok, ma la tua pagina invia al client qualcosa in più od in meno... di quanto sia lecito per un PDF.
Ti consiglio di contrrollare una ad una TUTTE le operazioni effettuate sulla tua pagina rispetto all'esempio da cui probabilmente hai preso spunto, tenendo d'occhio quello che influisce sulla response... Per questo ti consiglio di congelare la pagina in questione e di crearne una apposta per i test magari partendo da una esatta copia dell'esempio funzionante.
Non so indicarti con certezza da cosa sia scaturito l'errore ma ti assicuro che la mia indicazione è dettata dalla pratica.
Azzardando una ipotesi, dal codice postato mi pare che non venga pulito l'header della response con Response.Header.Clear() o comando simile.
Devi considerare che la Response prima del tuo intervento è perfettamente valida per trasportare una pagina HTML (e quindi ha i parametri e le caratteristiche necessarie).
Mi spiace di non poter essere più preciso... ma spero che le mie indicazioni ti possano far trovare presto l'errore, ciao.
Alessandro
Gluck74
Profilo
| Guru
1.359
messaggi | Data Invio:
sab 8 mag 2010 - 01:20
Ciao Gemini,
quello che ti suggerisce Pinky è in linea di massima corretto.
Però, per esperienza, ti dico di non stare a litigare troppo con ie, e scegli di aprire il file in una finestra popup o nella stessa finestra ma senza fare un asyncPostBack.
In effetti credo di aver capito che non è soltanto un caricare il file, ma lo stai generando da codice.
Quindi ti consiglio di configurare l'eventuale pulsante che genera il file excel, come un postBack normale e non come un asyncPostBack per l'UpdatePanel.
Io ci sono diventato matto un po' e poi ho visto che la soluzione più semplice è appunto fare un PostBack normale.
ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !