使用UpdatePanel的<asp:FileUpload

Arr*_*abi 9 asp.net updatepanel file-upload

我尝试上传多个图像,当我上传的每个图像时,我会在转发器中显示它,但在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" />
Run Code Online (Sandbox Code Playgroud)

Jai*_*ime 8

FileUpload控件不能与UpdatePanel一起使用,你需要做一个完整的回发来获取服务器上的文件...现在有很多技巧让它变得惹人喜爱......

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

  • +.请改用MS Ajax Toolkit中的AsyncFileUpload.http://www.asp.net/ajax/ajaxcontroltoolkit/samples/asyncfileupload/asyncfileupload.aspx (2认同)

Bon*_*ton 3

另一个棘手的方法是在主表单中使用文件上传+提交按钮(或某些触发器)创建 iframe。iframe 将回发,对主页没有影响。