Мне интересно, почему мой метод FileUpload.HasFile всегда равен нулю ..
Это Xaml, который я использую.
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanelAddFiles" runat="server" UpdateMode=Conditional>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LkUpload" />
</Triggers>
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Panel ID="PanelAddFiles" runat="server">
<div class="PanelAddFiles">
<asp:LinkButton ID="LkUpload" runat="server" OnClick="LkUpload_Click" Visible="false">Upload</asp:LinkButton>
<asp:FileUpload ID="FileUpload1" runat="server" Visible="false" />
</div>
</asp:Panel>
Редактировать:
Я думаю, что одной из проблем будет это
<form action="Upload/Default.aspx" enctype="multipart/form-data" method="post" id="frm">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanelAddFiles" runat="server" UpdateMode=Conditional>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LkUpload" />
</Triggers>
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Panel ID="PanelAddFiles" runat="server">
<div class="PanelAddFiles">
<asp:LinkButton ID="LkUpload" runat="server" OnClick="LkUpload_Click" Visible="false">Upload</asp:LinkButton>
<!--<asp:FileUpload ID="FileUpload1" runat="server" Visible="false" />-->
<ajaxToolkit:AsyncFileUpload runat="server" ID="FileUpload1" />
<asp:Panel ID="Dropbox" runat="server">
<div class="dropbox">
<div class="dragzone">
</div>
<span class="message">
drop files here to upload
</asp:Panel>
</div>
</asp:Panel>
</form>
</div>
потому что здесь есть форма страницы, а также форма, которую я здесь использую. У меня есть Dropbox, который я показываю или нет, если это IE или нет. Поэтому, когда это IE, я просто отображаю файл загрузки.
Может быть, потому что есть две формы, которые больше не стреляют?
Должен ли я определенно использовать этот AjaxToolkit?