Visualizzazione dei risultati da 1 a 9 su 9

Discussione: javascript e asp.net

  1. #1

    javascript e asp.net

    Salve a tutti, spero di non essere troppo ot ma ho bisogno di una mano in questi due campi nel quale sono nuovo:
    Se voglio che dopo un certo tempo venga eseguito il download di un file come posso fare? io ho tentato così ma vado ad inciampare su tutte le mie lacune (che sono enoooooormi! ) e ci perdo tantissimo tempo

    Nella funzione all'interno del controllo ascx scrivo:

    codice:
    Page.RegisterStartupScript("autoDL",
    "<script language='javascript'>
    window.setTimeout(download('"+exe.Name+"'), 300);
    </script>");
    Mentre nel file *.js (che utilizzo già per altre funzioncine)

    codice:
    function download(str)
    {
    document.write('<iframe height="0" width="0" src=str></iframe>');
    }
    Ovviamente tutto ciò non funziona, mi dà errori su errori e i miei tentativi sono vani;
    Potreste indicarmi una via d'uscita, e, se non chiedo troppo, una guida con esempi (o il nome di un libro) che sia utile ad un neofita che vuole conciliare i due argomenti?

  2. #2

    risolto

    ho risolto con

    codice:
    Page.RegisterStartupScript("autoDL",
    "<script language=javascript>window.setTimeout(\"doDownload('"+percorso+"')\", 5000);</script>");
    Nel codice della pagina, e con

    codice:
    function doDownload(fileName)
    {
            document.location.href = fileName;
    }
    nel file .js


    solo che ora la stringa che passo, essendo un percorso fisico, non vuole sapere di andare... non riesco a sostituire i caratteri \ con /...

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Per prima cosa io guarderei questo scritto: http://www.aspitalia.com/liste/usag/...earch=download

    dopo di che scriverei il codice javascript non nel server, ma direttamente nell'evento load della pagina (client)

    eventuali parametri da passare alla funzione, li passerei col metodo classico: <%=parametro%>

    Pietro

  4. #4

    Re: risolto

    Originariamente inviato da bollo
    solo che ora la stringa che passo, essendo un percorso fisico, non vuole sapere di andare... non riesco a sostituire i caratteri \ con /...
    usa Server.MapPath():

    codice:
    Page.RegisterStartupScript("autoDL",
    "<script language=javascript>window.setTimeout(\"doDownload('"+Server.MapPath(percorso)+"')\", 5000);</script>");

  5. #5
    dopo di che scriverei il codice javascript non nel server, ma direttamente nell'evento load della pagina (client)
    Vorresti dire che non dovrei usare Page.RegisterStartupScript bensi immettere quella funzione vb direttamente nel codice del file *.ascx e non nel page load del *.ascx.cs?
    seguendo il mio codice hai visto che volevo fare lo scaricamento dopo un determinato periodo, come posso farlo se uso quel metodo?

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da bollo
    Vorresti dire che non dovrei usare Page.RegisterStartupScript bensi immettere quella funzione vb direttamente nel codice del file *.ascx e non nel page load del *.ascx.cs?
    seguendo il mio codice hai visto che volevo fare lo scaricamento dopo un determinato periodo, come posso farlo se uso quel metodo?
    Non avevo capito che si trattava di un controllo utente
    Lì, RegisterStartupScript è indispensabile
    Pietro

  7. #7

    E qui ritorno al problema di prima (bella comunque la soluzione del download sicuro anche se non so perchè non mi funzioni nel controllo):
    io ho già nel database il percorso completo del file (ottenuto con map path)

    es
    c:\inetpub\wwwroot\Sito\fileDir\file.exe

    e lo passo alle funzioni javascript(passaggio obbligato, vero?)

    ma il javascript (ne so meno che c#) non mi vuole bene quando gli passo la stringa, non so dove sia l'errore, il codice è questo:

    Pagina=
    codice:
    Page.RegisterStartupScript("autoDL","<script language=javascript>window.setTimeout(\"doDownload('"+strPath+"')\", 3000);</script>");
    file.js=
    codice:
    function doDownload(fileName)
    {
            document.location.href = fileName;
    }
    help?


  8. #8
    Originariamente inviato da bollo
    c:\inetpub\wwwroot\Sito\fileDir\file.exe
    non va bene, dovresti avere un percorso http, cosi tenterebbe di aprire il file sul client. Forse il server.MapPath non va bene :master: , prova a mettere solo il nome del file (e l'eventuale directory sotto cui è memorizzato) in modo da utilizzarlo come percorso relativo.

  9. #9
    Ho risolto passando al javascript

    codice:
    "fileDir/fileName.exe"


    mentre in tutta la restante applicazione è giusto che usi

    codice:
    response.redirect("c:/.../fileDir/fileName.exe",false);
    ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.