FileUpload com AJAX

Texto extraído do pélessê.

Esse é um problema comum, o objeto FileUpload precisa de um ciclo completo de postback para receber um upload. Já o AJAX veio justamente para suprimir esses postbacks.
Então, quando temos um asp:FileUpload dentro de um asp:UpdatePanel, esses postbacks não ocorrem e quando consultamos a propriedade HasFile do FileUpload não recebemos nada.
No entanto, podemos contornar isso facilemente através de triggers do UpdatePanel.

<asp:UpdatePanel runat=”server” UpdateMode=”Conditional” >
<ContentTemplate>
<asp:FileUpload runat=”server” />
<asp:Button runat=”server” ID=”MeuBotao” />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID=”MeuBotao” />
</Triggers>
</asp:UpdatePanel>

No exemplo acima, definimos que o botão que faz o submit deve acionar o postback, e isso faz a mágica.

Deixe um comentário