时间:2010-12-11 13:47:00

标签: asp.net file-upload updatepanel

我尝试上传多个图片,当我上传的每个图片时,我会在转发器中显示它,但在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" />

2 个答案:

答案 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将回发而对主页无效。