Usuário com melhor resposta
FileUpload dentro do UpdatePanel da MasterPage

Pergunta
-
Tenho uma MasterPage com a seguinte estrutura:
<form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> </ContentTemplate> </asp:UpdatePanel> </div> </form>
E dentro do ContentTemplate preciso colocar um FileUpload.
Como FileUpload não funciona com PostBack assíncrono, tentei adicionar no UpdatePanel da MasterPage um Trigger com o botão que fará o PostBack, mas mesmo assim o FileUpload continua sem arquivo ao fazer PostBack.
Alguém sabe como resolver?
Respostas
-
Tenta assim
FileUpload fu = new FileUpload();
ScriptManager1 .RegisterPostBackControl( fu );
- Marcado como Resposta Helber Belmiro quinta-feira, 27 de maio de 2010 19:09
-
Faz como eu falei que vai dar certo
this.ScriptManager1 .RegisterPostBackControl( "seucontrole");
- Marcado como Resposta Helber Belmiro quinta-feira, 27 de maio de 2010 19:08
Todas as Respostas
-
É um comportamento dele mesmo. Sempre vai perder o caminho quando um postback for chamado.
Ele só serve para fazer Upload de forma única, ou seja, só ele e o restante espera.
NO caso, use o AsyncFileUpload do Ajax.
http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/AsyncFileUpload/AsyncFileUpload.aspx
Fkaeh - Gambi.NET® Framework Certificated 2010
----------------------------------------------
Se tiver paciência para avaliar, agradeço: http://premio.clubedeautores.com.br/web/site_premio/votar.php?id=12633 -
Tenta assim
FileUpload fu = new FileUpload();
ScriptManager1 .RegisterPostBackControl( fu );
- Marcado como Resposta Helber Belmiro quinta-feira, 27 de maio de 2010 19:09
-
Fkaeh, com o AsyncFileUpload também não funcionou. Ele não faz o upload do arquivo, tampouco dispara o evento AsyncFileUpload1_UploadedComplete.
Talvez seja porque o ScripManager está na MasterPage e o AsyncFileUpload na child.
A sujestão do Seilor também não funcionou.
-
Mas espera ai.
Você está associando a Trigger do UpdatePanel a qual botão? A que vem imbutida no FileUpload?
Fkaeh - Gambi.NET® Framework Certificated 2010
----------------------------------------------
Se tiver paciência para avaliar, agradeço: http://premio.clubedeautores.com.br/web/site_premio/votar.php?id=12633 -
-
Mas pera ai.
O FileUpload só funciona com o próprio botão que vem imbutido nele. Você não vai conseguir com um outro evento, efetuar as mesmas ações. Não desta maneira. Porque por default, todo postback que não seja efetuado pelo próprio botão do FileUpload, faz com que ele retorne para o estado inicial (já que não armazena nada em ViewState.
Fkaeh - Gambi.NET® Framework Certificated 2010
----------------------------------------------
Se tiver paciência para avaliar, agradeço: http://premio.clubedeautores.com.br/web/site_premio/votar.php?id=12633 -
Faz como eu falei que vai dar certo
this.ScriptManager1 .RegisterPostBackControl( "seucontrole");
- Marcado como Resposta Helber Belmiro quinta-feira, 27 de maio de 2010 19:08
-
-
Estava procurando uma solução para manter o estado do FileUpload na última semana e visto que não é possível utilizá-lo dentro de um updatePanel, resolvi salvando os controles em uma sessão. Se alguém precisar futuramente, veja a solução em:
http://fbflores.blogspot.com/2011/11/c-dotnet-net-how-to-maintain-fileupload.html
- Sugerido como Resposta Baratojo sexta-feira, 4 de novembro de 2011 15:05
-