FileUpload - bottone disabled durante il caricamento del file

sabato 10 novembre 2007 - 13.02

kduhcm Profilo | Junior Member

Ciao,
io utilizzo il controllo FileUpload nel mio sito, che mi consente di caricare anche file di 100 mega. Durante il caricamento di file molto grandi vrei la necessita di impostare il bottone del controllo a enable=false. Credo che la cosa si faccia con javascript ma non so come fare a renderlo protetto dopo aver cliccato sul bottone del controllo FileUpload. Avete un esempio di codice?

alx_81 Profilo | Guru

>Ciao,
Ciao

>io utilizzo il controllo FileUpload nel mio sito, che mi consente
>di caricare anche file di 100 mega. Durante il caricamento di
>file molto grandi vrei la necessita di impostare il bottone del
>controllo a enable=false. Credo che la cosa si faccia con javascript
>ma non so come fare a renderlo protetto dopo aver cliccato sul
>bottone del controllo FileUpload. Avete un esempio di codice?
Metti nella proprietà OnClientClick del bottone una chiamata javascript ad una funzione, alla quale pass il controllo, poi aggiungi un div nascosto, che visualizzerai quando premi il pulsante. In questo modo, nascondi il bottone e visualizzi un pannello con la scritta di attesa..
eccoti l'html completo:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Per questa cosa ho preso spunto da dotnethell, che fa la stessa identica cosa quando invii un messaggio..
comunque prova, credo sia proprio quello che ti serve.
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

kduhcm Profilo | Junior Member

Ciao Alex, ho inserito il tuo codice nella pagina. Il tuo codice funziona su una pagina senza masterpage/content page. Nel mio caso invece il controllo si trova in un contentplaceholder e l'istruzione getelementbyid non funziona. Come posso fare? Ti allego la mia pagina.

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Upload.aspx.cs" Inherits="Upload" %>

<asp:Content ID="Corpo" runat="server" ContentPlaceHolderID="CPHCorpo">
<script language="javascript" type="text/javascript">
function avoidClick(button)
{
alert("Client click 1");
//button.style.display = 'none';
var panel= document.getElementById("Caricamento");
alert("Client click 2");
panel.innerHTML='Caricamento in corso..';
alert("Client click 3");
panel.style.display='';
alert("Client click 4");
}
</script>
<div>
<asp:Panel ID="Panel1" runat="server" Height="50px" Width="381px">
<table border='1' style="width: 250px">
<tr>
<td style="width: 244px">
<asp:Label ID="Label1" runat="server" ForeColor="#8080FF" Text="Upload i tuoi File su Carlitos71"></asp:Label><br />
<br />
<asp:FileUpload ID="FileUpload1" runat="server" /><br />
<div>
<asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" OnClientClick="javascript:avoidClick(this); return false;" Text="Upload" Width="155px" /><br />
<asp:Label ID="lblMessaggio" runat="server" ForeColor="Red" Width="235px"></asp:Label><br />
<asp:Panel runat="server" style="background-color:White; color:gray;margin-right:35px;display:none" id="Caricamento" />
</div>
<br />
</td>
</tr>
</table>
</asp:Panel>
&nbsp;</div>
</asp:Content>

kduhcm Profilo | Junior Member

Risolto...grazie comunque...

<asp:Content ID="Corpo" runat="server" ContentPlaceHolderID="CPHCorpo">
<script language="javascript" type="text/javascript">
function avoidClick(button)
{
button.style.display = 'none';
var panel=window.document.getElementById('<%=Caricamento.ClientID%>');
var messaggio=window.document.getElementById('<%=lblMessaggio.ClientID%>');
// alert("Client click 2");
panel.innerHTML='Caricamento in corso...';
messaggio.innerHTML = "";
panel.style.display='';
}
</script>
<div>
.......

alx_81 Profilo | Guru

>Risolto...grazie comunque...
>
><asp:Content ID="Corpo" runat="server" ContentPlaceHolderID="CPHCorpo">
> <script language="javascript" type="text/javascript">
> function avoidClick(button)
> {
> button.style.display = 'none';
>var panel=window.document.getElementById('<%=Caricamento.ClientID%>');
>var messaggio=window.document.getElementById('<%=lblMessaggio.ClientID%>');
> // alert("Client click 2");
> panel.innerHTML='Caricamento in corso...';
> messaggio.innerHTML = "";
> panel.style.display='';
> }
> </script>
> <div>
> .......
bene, ottimo così.. ti avrei risposto stasera

Alx81 =)

http://blogs.dotnethell.it/suxstellino
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5