Array
(
)

FileUpload no ajax.

Marceloavila
   - 13 mar 2007

Srs.

Estou utilizando o componente FileUpload em updatepanel do ajax, percebi que não consigo capturar o nome do arquivo através do FileUpload1.Filename, retorna vazio.

O componente FileUpload não funciona no Ajax?

Atenciosmante,

Marcelo.

Marceloavila
   - 13 mar 2007


Citação:
Srs.

Estou utilizando o componente FileUpload em updatepanel do ajax, percebi que não consigo capturar o nome do arquivo através do FileUpload1.Filename, retorna vazio.

O componente FileUpload não funciona no Ajax?

Obs. Estou utilizando VS2005.
Atenciosmante,

Marcelo.


Pedro Carvalho
   - 12 abr 2007

Bom eu fiz uma aplicação na qual eu faço upload de imagem e doc e uso o MagicAjax...para minha aplicação funcionar eu coloque em uma página separada só assim funcionou sem usar o PanelAjax...

Então não usa o Jax porque não vai funcionar...

Rodrigofonseca
   - 07 jun 2007

Olá Marcelo,

Realmente, quando se trabalha com o Ajax e o FileUpload, o mesmo não funciona corretamente.

O objeto FileUpload necessita de um PostBack na página, más como o ajax não o faz, ao tentar recuperar o arquivo este é sempre nulo.

A única forma encontrada para resolver este problema foi criar uma trigger que irá forçar um posback.

Código fonte:

<asp:UpdatePanel ID=´UpdatePanel1´ runat=´server´>
<Triggers>
<asp:PostBackTrigger ControlID=´btnImportarArquivo´ />
</Triggers>
<ContentTemplate>
<asp:FileUpload ID=´fileUploadArquivo´ runat=´server´ />
<asp:Button ID=´btnImportarArquivo´ runat=´server´ Text=´Umportar Arquivo´ OnClick=´btnImportarArquivo_Click´ />
</ContentTemplate>
</asp:UpdatePanel>

Atenciosamente,
Rodrigo
Analista/Desenvolvedor
C#,JAVA,ASP.NET,VB.NET E ASP
digo.fonseca@gmail.com

Acintra
   - 02 out 2007

Fala Rodrigo,

Eu tinha exatamente esse problema, utilizei a trigger ´postback´ no imput file e funcionou corretamente. O problema é que agora não consigo utilizar o UpdateProgress, já viu esse problema ?

Feliperocha
   - 20 fev 2009

Aí galera, na realidade se vocês não incluírem o botão que dá o postback no updatePanel (do Ajax Extensions), funciona também.

por exemplo:
Em um CRUD, o botão salvar fica fora do updatePanel e os campos do formulário ficam dentro do updatePanel.

Assim funciona, o postback acontece e você consegue capturar o FileName do fileupload.

dica: não aconselho usar botões responsáveis por submeter o formulário dentro de updatePanel... depois o usuário tem problemas com a navegação. Usabilidade.