Asp.net自定义ajax文件上传器

时间:2011-07-20 05:48:15

标签: asp.net ajax updatepanel

我开发自定义文件上传器。

<asp:FileUpload runat="server" ID="fuUpload" />

<asp:UpdatePanel  runat="server" >
    <ContentTemplate>
     <asp:Button ID="btnUpload" runat="server" Text="Upload" CausesValidation="false"
            OnClick="btnUpload_Click" />

      <div>
        <asp:Label ID="lblError" runat="server" Visible="false" ForeColor="Red" /></div>
        <asp:Repeater ID="rptAttachments" runat="server" OnItemCommand="Uploader_ItemCommand">
            <ItemTemplate>
                <div>
                    <a href='<%#GetUrl(....) %>'><%#Eval("Filename") %></a> <b>
                   <asp:LinkButton ID="lnkDelete" runat="server" Text="Удалить" CommandName="DeleteAttachment" CommandArgument='<%#Eval("FileName") %>' /></b>
                </div>
            </ItemTemplate>
        </asp:Repeater>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnUpload" EventName="Click" />
        <asp:AsyncPostBackTrigger ControlID="rptAttachments" EventName="ItemCommand" />
    </Triggers>
</asp:UpdatePanel>




 protected void btnUpload_Click(object sender, EventArgs e)
  {          
   //fuUpload.HasFile == false 
    if (fuUpload.HasFile && fuUpload.PostedFile != null 
        && fuUpload.PostedFile.ContentLength > 0)
     { 
     }
  }

我想知道为什么fuUpload.HasFile始终等于null

1 个答案:

答案 0 :(得分:2)

尝试这些事情。

  1. <asp:FileUpload runat="server" ID="fuUpload" /> 置于 UpdatePanel
  2. 像这样设置btnUpload触发器。 <asp:PostBackTrigger ControlID="btnUpload" />
相关问题