FileUpload Control is not working in UpdatePanel

Ad


ASP.NET 2.0 에서 FileUpload Control은 UpdatePanel 안에서의 Asynchronous Postback으로는 동작하지 않는다.(아직 4.0에서는 작업을 안해봤으므로…)
보안 때문에 클라이언트 측의 파일관리, 파일업로드가 제한되어 있기 때문이다.
따라서 파일 업로드를 위한 FileUpload Control을 사용하기 위해서는 Standard Postback을 통해 처리되어져야 한다.

이를 위해 파일 업로드를 실행하는 Control은 UpdatePanel의 Trigger 중 PostBackTrigger 로 지정되어야 한다. 그러면 업로드를 실행하는 Control을 통해 Standard Postback을 발생시킬 수 있고 파일 업로드가 정상적으로 처리된다.

<asp:UpdatePanel runat="server">
<ContentTemplate>
<%-- ...중략... --%>
</ContentTemplate>
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="btnDelete" EventName="Click" />
    <asp:PostBackTrigger ControlID="btnSave" />
</Triggers>
</asp:UpdatePanel>

위와 같이 비동기처리할 이벤트와 동기처리할 부분을 결정해주면 된다.