2013-03-10 10 views
9

Ho un modulo web (asp.net) che sto usando per caricare il file. Nella situazione attuale, se un utente sceglie un file di testo dal proprio computer, deve fare clic su un pulsante per caricare il testo in una casella. Sto cercando di trovare un modo per saltare il passo con un pulsante premuto.chiamata C# funzione immediatamente il file è selezionato nel fileupload

Come chiamare una funzione C# quando il file viene selezionato dall'utente?

+0

È necessario utilizzare Javascript. – SLaks

+0

la tua domanda non è chiara, stai cercando di trovare un modo per saltare cosa? – Arbaaz

+0

puoi elaborare non ho familiarità con javascript –

risposta

29

Prova questa

<asp:FileUpload ID="FileUpload01" ClientIDMode="Static" onchange="this.form.submit()" runat="server"/> 

in codice dietro Page_Load evento

if (IsPostBack && FileUpload01.PostedFile != null) 
{ 
    if (FileUpload01.PostedFile.FileName.Length > 0) 
    {  
     FileUpload01.SaveAs(Server.MapPath("~/Images/") + FileUpload01.PostedFile.FileName); 
     imguser.ImageUrl = "~/Images/" + FileUpload01.PostedFile.FileName; 
    } 
} 
+2

Questo è fantastico ed esattamente quello che stavo cercando. Ho un problema però. Quando viene pubblicato, la casella di testo FileUpload è vuota. Ho inserito un punto di interruzione nell'istruzione if annidata e ho rilevato che i dettagli del file pubblicato sono ancora presenti ma il testo nella casella di testo non esiste più. Quindi, per quanto riguarda l'utente, non è stato selezionato nulla. – Jeremy

+1

@Jeremy, è stato mai risolto? Sto provando a fare la stessa cosa. Grazie. – Yoav24

Problemi correlati