MENSAGEM ENQUANTO AGUARDA O UPLOAD

MLALEX 11/04/2017 19:39:23
#473240
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.
KERPLUNK 11/04/2017 19:52:24
#473243
Resposta escolhida
Você tem que setar a mensagem ANTES do upload começar. Talvez usando JQuery pra isso.
MLALEX 12/04/2017 09:45:50
#473259
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.
MLALEX 12/04/2017 11:19:43
#473261
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?
MLALEX 12/04/2017 20:43:38
#473273
[Ô]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.
Tópico encerrado , respostas não são mais permitidas