MENSAGEM ENQUANTO AGUARDA O UPLOAD
Olá pessoal!!
Estou usando o FileUpload para subir imagens. Sem problemas até aqui, mas eu gostaria de avisar ao usuário para aguardar.
Tentei usar o progress bar do NeatUpload, não funcionou;
Tentei mudar o texto de um label [Ô]Carregando imagens. Por favor aguarde[Ô]. O texto só muda depois que acabou o upload. Não funcionou
Tentei usar um gif no UpdateProgress, mas não funciona com o FileUpload...
Gente me ajuda!! Qualquer coisa serve.
Estou usando o FileUpload para subir imagens. Sem problemas até aqui, mas eu gostaria de avisar ao usuário para aguardar.
Tentei usar o progress bar do NeatUpload, não funcionou;
Tentei mudar o texto de um label [Ô]Carregando imagens. Por favor aguarde[Ô]. O texto só muda depois que acabou o upload. Não funcionou
Tentei usar um gif no UpdateProgress, mas não funciona com o FileUpload...
Gente me ajuda!! Qualquer coisa serve.
Você tem que setar a mensagem ANTES do upload começar. Talvez usando JQuery pra isso.
Inicialmente o Upload estava programado para iniciar assim que o arquivo é selecionado, para isso eu tinha inserido um onchange=[Ô]this.form.submit()[Ô] . Mas não consegui enviar mensagem alguma dessa forma...
Então, passei o comando para iniciar o upload para um botão, inserindo antes da função [Ô]upload[Ô] um aviso em um label:
function Alerta2(mensagem) {
document.getElementById([ô]<%= LblAviso.ClientID%>[ô]).textContent = [Ô]Carregando imagem. Por favor, aguarde...[Ô];
document.getElementById([ô]<%= LblAviso.ClientID%>[ô]).style.color = [Ô]blue[Ô];
}
Isso também não funcionou
Tentei colocar um gif [Ô]Carregando[Ô], mas li que para funcionar em um update progress era necessário colocar um tal de Trigger no botão:
<asp:UpdatePanel ID=[Ô]UpdatePanel1[Ô] runat=[Ô]server[Ô] UpdateMode=[Ô]Conditional[Ô]>
<ContentTemplate>
<strong class=[Ô]newStyle1[Ô]><strong class=[Ô]newStyle1[Ô] style=[Ô]font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: small; font-weight: bold[Ô]>
<asp:Button ID=[Ô]Button2[Ô] runat=[Ô]server[Ô] Text=[Ô]Enviar[Ô] Width=[Ô]114px[Ô] OnClientClick=[Ô]EnviaImagem[Ô] />
<Triggers>
<asp:PostBackTrigger runat=[Ô]server[Ô] ControlID=[Ô]Button2[Ô] />
</Triggers>
<asp:FileUpload ID=[Ô]FileUpload1[Ô] runat=[Ô]server[Ô] AutoPostBack=[Ô]True[Ô] style=[Ô]margin-bottom: 0px[Ô] Width=[Ô]339px[Ô] />
</strong></strong>
</ContentTemplate>
</asp:UpdatePanel>
Deu erro e também não funcionou.
Agora, como solução, vale me mostrar onde errei nas tentativas acima ou como fazer isso com o JQuery.
FICO MUITO AGRADECIDO PELA ATENÇÃO.
Então, passei o comando para iniciar o upload para um botão, inserindo antes da função [Ô]upload[Ô] um aviso em um label:
function Alerta2(mensagem) {
document.getElementById([ô]<%= LblAviso.ClientID%>[ô]).textContent = [Ô]Carregando imagem. Por favor, aguarde...[Ô];
document.getElementById([ô]<%= LblAviso.ClientID%>[ô]).style.color = [Ô]blue[Ô];
}
Isso também não funcionou
Tentei colocar um gif [Ô]Carregando[Ô], mas li que para funcionar em um update progress era necessário colocar um tal de Trigger no botão:
<asp:UpdatePanel ID=[Ô]UpdatePanel1[Ô] runat=[Ô]server[Ô] UpdateMode=[Ô]Conditional[Ô]>
<ContentTemplate>
<strong class=[Ô]newStyle1[Ô]><strong class=[Ô]newStyle1[Ô] style=[Ô]font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: small; font-weight: bold[Ô]>
<asp:Button ID=[Ô]Button2[Ô] runat=[Ô]server[Ô] Text=[Ô]Enviar[Ô] Width=[Ô]114px[Ô] OnClientClick=[Ô]EnviaImagem[Ô] />
<Triggers>
<asp:PostBackTrigger runat=[Ô]server[Ô] ControlID=[Ô]Button2[Ô] />
</Triggers>
<asp:FileUpload ID=[Ô]FileUpload1[Ô] runat=[Ô]server[Ô] AutoPostBack=[Ô]True[Ô] style=[Ô]margin-bottom: 0px[Ô] Width=[Ô]339px[Ô] />
</strong></strong>
</ContentTemplate>
</asp:UpdatePanel>
Deu erro e também não funcionou.
Agora, como solução, vale me mostrar onde errei nas tentativas acima ou como fazer isso com o JQuery.
FICO MUITO AGRADECIDO PELA ATENÇÃO.
Opa!!!! Quase lá!!!
Com as dicas desses dois sites, consegui fazer a mensagem aparecer e sumir:
http://www.devmedia.com.br/jquery-dialog-dica/28682
http://jsfiddle.net/sunnypmody/XDaEk/
Fiz isso utilizando no botão os seguintes comandos:
ScriptManager.RegisterStartupScript(Me, Me.GetType(), [Ô]Alerta2[Ô], [Ô]Alerta2([ô][ô]);[Ô], True)
Call EnviaImagem()
No Alerta2 inseri o código:
function Alerta2() {
$(function Alerta2() {
// $([Ô]#mensagem[Ô]).dialog();
$([Ô]#mensagem[Ô]).fadeIn(300).delay(3000).fadeOut(400);
});
}
Funciona, mas como antes, só depois de terminado o upload.
No VB existe a função Do events que eu colocaria entre ScriptManager.RegisterStartupScript(Me, Me.GetType(), [Ô]Alerta2[Ô], [Ô]Alerta2([ô][ô]);[Ô], True) e o Call EnviaImagem(). Dessa forma, o sistema executaria a primeira função e só depois a segunda. Existe algo parecido no Asp.net?
Ou então fazer o código Alerta2 chamar a função EnviaImagem() no CodeBehind, depois de exibir a imagem. Isso é possÃvel?
Com as dicas desses dois sites, consegui fazer a mensagem aparecer e sumir:
http://www.devmedia.com.br/jquery-dialog-dica/28682
http://jsfiddle.net/sunnypmody/XDaEk/
Fiz isso utilizando no botão os seguintes comandos:
ScriptManager.RegisterStartupScript(Me, Me.GetType(), [Ô]Alerta2[Ô], [Ô]Alerta2([ô][ô]);[Ô], True)
Call EnviaImagem()
No Alerta2 inseri o código:
function Alerta2() {
$(function Alerta2() {
// $([Ô]#mensagem[Ô]).dialog();
$([Ô]#mensagem[Ô]).fadeIn(300).delay(3000).fadeOut(400);
});
}
Funciona, mas como antes, só depois de terminado o upload.
No VB existe a função Do events que eu colocaria entre ScriptManager.RegisterStartupScript(Me, Me.GetType(), [Ô]Alerta2[Ô], [Ô]Alerta2([ô][ô]);[Ô], True) e o Call EnviaImagem(). Dessa forma, o sistema executaria a primeira função e só depois a segunda. Existe algo parecido no Asp.net?
Ou então fazer o código Alerta2 chamar a função EnviaImagem() no CodeBehind, depois de exibir a imagem. Isso é possÃvel?
[Ô]Pedra mole e água dura... tanto fura até que bate[Ô] ... ou algo parecido com isso!!
CONSEGUI!!!!!
Fiz da seguinte forma:
Criei a função abaixo em javascript que exibe a div com a gif e carrega a página depois disso.
function showDiv() {
var uploadButtonId = [ô]<%= FileUpload1.ClientID%>[ô]
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(uploadButtonId, [Ô][Ô], true, [Ô][Ô], [Ô][Ô], false, false))
document.getElementById([ô]<%= myHiddenDiv.ClientID %>[ô]).style.display = [Ô][Ô];
setTimeout([ô]document.images[[Ô]myAnimatedImage[Ô]].src = [Ô]img/progress-wheel.gif[Ô][ô], 200);
document.getElementById([Ô]form1[Ô]).submit();
}
Valeu Kerplunk!! Você segurou a vela no fim do túneo e eu achei o caminho.
CONSEGUI!!!!!
Fiz da seguinte forma:
Criei a função abaixo em javascript que exibe a div com a gif e carrega a página depois disso.
function showDiv() {
var uploadButtonId = [ô]<%= FileUpload1.ClientID%>[ô]
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(uploadButtonId, [Ô][Ô], true, [Ô][Ô], [Ô][Ô], false, false))
document.getElementById([ô]<%= myHiddenDiv.ClientID %>[ô]).style.display = [Ô][Ô];
setTimeout([ô]document.images[[Ô]myAnimatedImage[Ô]].src = [Ô]img/progress-wheel.gif[Ô][ô], 200);
document.getElementById([Ô]form1[Ô]).submit();
}
Valeu Kerplunk!! Você segurou a vela no fim do túneo e eu achei o caminho.
Tópico encerrado , respostas não são mais permitidas