2010-12-11 13 views
9

Birden fazla resim yüklemeyi deniyorum ve her yüklediğimde bunu bir tekrarlayıcıda göstereceğim, ancak FileUpload1.HasFile öğesinin arkasındaki kodda her zaman False, bu bir parça kodum:<asp: UpdatePanel ile 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" /> 

cevap

3

başka zor bir yol cr etmektir ana formunuzda dosya yükleme + gönderme düğmesi (veya bazı tetikleyici) ile eate iframe. iframe, ana sayfaya hiçbir etkisi olmadan geri gönderilir.

8

FileUpload kontrolü UpdatePanel ile çalışmaz, sunucuda dosyayı almak için geri yayının tamamını yapmanız gerekecektir ... Şimdi ajaxy bunu yapmak için hileler bir yeri vardır. ..

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

+2

+. Bunun yerine MS Ajax Toolkit'ten AsyncFileUpload kullanın. http://www.asp.net/ajax/ajaxcontroltoolkit/samples/asyncfileupload/asyncfileupload.aspx – chapluck

+0

Lütfen 40412 veya daha yeni sürümlerini kullandığınızdan emin olun. Araç setinin eski sürümleri yalnızca InProc oturum modunu destekler: http://ajaxcontroltoolkit.codeplex.com/workitem/24854 –

+0

Chapluck'in bağlantısı bozuldu. Bu çalışır: http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AsyncFileUpload/AsyncFileUpload.aspx – Tillito