Asp.net загрузчик пользовательских ajax-файлов - PullRequest
0 голосов
/ 20 июля 2011

Я разрабатываю пользовательский загрузчик файлов.

<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 Ответ

2 голосов
/ 20 июля 2011

Попробуйте эти вещи.

  1. Поместить <asp:FileUpload runat="server" ID="fuUpload" /> внутрь UpdatePanel
  2. Установите btnUpload триггер как этот. <asp:PostBackTrigger ControlID="btnUpload" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...