我尝试上传多个图片,当我上传的每个图片时,我会在转发器中显示它,但在FileUpload1.HasFile背后的代码中始终为False,这是我的一段代码:
<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" />
答案 0 :(得分:8)
FileUpload控件不能与UpdatePanel一起使用,你需要做一个完整的回发来获取服务器上的文件...现在有很多技巧可以让它变得惹人喜爱......
http://geekswithblogs.net/ranganh/archive/2008/04/01/file-upload-in-updatepanel-asp.net-ajax.aspx
答案 1 :(得分:3)
另一个棘手的方法是在主窗体中使用fileupload + submit按钮(或某些触发器)创建iframe。 iframe将回发而对主页无效。