JQUERY UI PROGRESSBAR
Fala galera beleza? estou com dificuldade de implementar a progressbar do jQuery UI em meu pequeno projeto webforms,
tenho atualmente um button normal :
Código:
e tenho esse código em jquery que baixei no site do jquery ui:
e essa div:
Só que não estou conseguindo chamar o code EnviarArquivo mesmo usando o OnClick do button e estou com dúvida como carregar o progressbar com a porcentagem
de carregamento upload do site..
tenho atualmente um button normal :
<asp:Button ID=[Ô]btnEnviarArquivo[Ô] runat=[Ô]server[Ô] Text=[Ô]Enviar Arquivo[Ô] OnClick=[Ô]EnviarArquivo[Ô] Visible=[Ô]False[Ô] />
Código:
public void EnviarArquivo(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string nomeArquivo = Path.GetFileName(FileUpload1.PostedFile.FileName);
string extensao = Path.GetExtension(nomeArquivo);
bool aceitaArquivo = false;
extensao = extensao.ToLower();
string[] extensoes = new string[2];
extensoes[0] = [Ô].pdf[Ô];
extensoes[1] = [Ô].zip[Ô];
// implementar extensoes caso necessário
for (int i = 0; i <= 1; i++)
// for que percorre as extensoes.
{
if (extensao == extensoes[i])
// if que compara se a extensão é uma extensão permitida.
{
aceitaArquivo = true;
// aceita arquivo se tiver extensão permitida.
}
}
if(aceitaArquivo == true){
FileUpload1.PostedFile.SaveAs(Server.MapPath([Ô]~/Arquivos/[Ô]) + nomeArquivo);
}
else
{
lblmsg.Text = [Ô]ATENÇÃO: Por Favor, selecione um arquivo com a extensão válida .PDF ou .ZIP para enviar.[Ô];
}
}
else
{
lblmsg.Text = [Ô]ATENÇÃO: Por Favor, selecione um arquivo válido para enviar.[Ô];
}
}
e tenho esse código em jquery que baixei no site do jquery ui:
$(function() {
var progressTimer,
progressbar = $( [Ô]#progressbar[Ô] ),
progressLabel = $( [Ô].progress-label[Ô] ),
dialogButtons = [{
text: [Ô]Cancelar Envio[Ô],
click: closeDownload
}],
dialog = $( [Ô]#dialog[Ô] ).dialog({
autoOpen: false,
closeOnEscape: false,
resizable: false,
buttons: dialogButtons,
open: function() {
progressTimer = setTimeout( progress, 2000 );
},
beforeClose: function () {
downloadButton.button( [Ô]option[Ô], {
disabled: false,
label: [Ô]Enviar Arquivo[Ô]
});
}
}),
downloadButton = $( [Ô]#downloadButton[Ô] )
.button()
.on( [Ô]click[Ô], function() {
$( this ).button( [Ô]option[Ô], {
disabled: true,
label: [Ô]Enviando...[Ô]
});
dialog.dialog( [Ô]open[Ô] );
});
progressbar.progressbar({
value: false,
change: function() {
progressLabel.text( [Ô]Progresso de envio: [Ô] + progressbar.progressbar( [Ô]value[Ô] ) + [Ô]%[Ô] );
},
complete: function() {
progressLabel.text( [Ô]Arquivo Enviado com sucesso![Ô] );
dialog.dialog( [Ô]option[Ô], [Ô]buttons[Ô], [{
text: [Ô]Close[Ô],
click: closeDownload
}]);
$([Ô].ui-dialog button[Ô]).last().focus();
}
});
function progress() {
var val = progressbar.progressbar( [Ô]value[Ô] ) || 0;
progressbar.progressbar( [Ô]value[Ô], val + Math.floor( Math.random() * 3 ) );
if ( val <= 99 ) {
progressTimer = setTimeout( progress, 50 );
}
}
function closeDownload() {
clearTimeout( progressTimer );
dialog
.dialog( [Ô]option[Ô], [Ô]buttons[Ô], dialogButtons )
.dialog( [Ô]close[Ô] );
progressbar.progressbar( [Ô]value[Ô], false );
progressLabel
.text( [Ô]Envio de Arquivo...[Ô] );
downloadButton.focus();
}
});
e essa div:
<div id=[Ô]dialog[Ô] title=[Ô]Envio de Arquivo![Ô]>
<div class=[Ô]progress-label[Ô]>Enviando Arquivo...</div>
<div id=[Ô]progressbar[Ô]></div>
</div>
<div =[Ô]center[Ô]>
<button id=[Ô]downloadButton[Ô] runat=[Ô]server[Ô] onclick=[Ô]EnviarArquivo[Ô]>Enviar Arquivo</button>
</div>
Só que não estou conseguindo chamar o code EnviarArquivo mesmo usando o OnClick do button e estou com dúvida como carregar o progressbar com a porcentagem
de carregamento upload do site..
Você não deve usar um botão rodando no server para chamar um script que fica no client. Use um botão normal.
Citação::
Você não deve usar um botão rodando no server para chamar um script que fica no client. Use um botão normal.
Então mais como utilizo o botão do JQuery UI para executar a rotina [Ô]EnviarArquivo[Ô]?
Tópico encerrado , respostas não são mais permitidas