2010-12-11 3 views
9

나는 두 개 이상의 이미지를 업로드하려고합니다. 각 이미지를 업로드 할 때 리피터에 표시 하겠지만 FileUpload1.HasFile 뒤에있는 코드는 항상 False입니다. 내 코드 :<asp : UpdatePanel이있는 FileUpload

<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true"               UpdateMode="Conditional" > 
    <ContentTemplate> 
    <asp:Repeater ID="rpUploadedImages" runat="server"> 
     <ItemTemplate> 
     <img src='../Images/<%# DataBinder.Eval(Container.DataItem, "ImagePath")%>'/><br /> 
     </ItemTemplate> 
    </asp:Repeater> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="btnupload" EventName="click" /> 
    </Triggers> 
</asp:UpdatePanel> 

<asp:FileUpload ID="FileUpload1" runat="server" /><br /> 
<asp:Button ID="btnupload" runat="server" Text="Upload" onclick="btnupload_Click" /> 

답변

3

또 다른 교묘 한 방법은 CR하는 것입니다 iframe을 fileupload + 제출 버튼 (또는 일부 트리거)을 사용하여 기본 양식에 저장하십시오. iframe이 메인 페이지에 영향을주지 않고 포스트 백합니다.

8

는 FileUpload 컨트롤이 UpdatePanel 작동하지 않습니다, 당신은 서버에있는 파일을 얻기 위해 다시 전체 게시물을 수행해야합니다 ... 이제 ajaxy을 만드는 트릭이 많이 있습니다. ..

http://geekswithblogs.net/ranganh/archive/2008/04/01/file-upload-in-updatepanel-asp.net-ajax.aspx

+2

+. Microsoft Ajax Toolkit에서 AsyncFileUpload를 대신 사용하십시오. http://www.asp.net/ajax/ajaxcontroltoolkit/samples/asyncfileupload/asyncfileupload.aspx – chapluck

+0

40412 이상의 버전을 사용해야합니다. 이전 버전의 툴킷은 InProc 세션 모드 만 지원합니다. http://ajaxcontroltoolkit.codeplex.com/workitem/24854 –

+0

Chapluck의 링크가 끊어졌습니다. 이 하나의 작품 : http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AsyncFileUpload/AsyncFileUpload.aspx – Tillito