C# FileUpload.HasFile始终为空
我想知道为什么我的方法FileUpload.HasFile总是空的 这是我使用的XamlC# FileUpload.HasFile始终为空,c#,asp.net,file-upload,updatepanel,C#,Asp.net,File Upload,Updatepanel,我想知道为什么我的方法FileUpload.HasFile总是空的 这是我使用的Xaml <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanelAddFiles" runat="server" UpdateMode=Conditional> <Triggers&g
<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,我都会显示出来。所以当它是IE时,我只显示文件上传。
也许是因为有两种形式它不再发射了
我应该明确使用这个AjaxToolkit吗 文件上载在UpdatePanel中不起作用。您必须使用ASPNET AJAX控件工具包中的
使用AsyncFileUpload时,必须在页面或母版页中的表单标记中设置正确的参数:
<form id="form1" runat="server" enctype="multipart/form-data" method="post">
如果未设置正确的加密类型和方法,则UploadedComplete将永远不会启动,并且您将无法获取FileUpload.FileBytes,因为FileUpload.HasFile仅在UploadedComplete执行期间返回true
此外,AsyncFileUpload的早期版本在Chrome上不起作用。实际版本解决了问题。文件上载在UpdatePanel中不起作用。您必须使用ASPNET AJAX控件工具包中的
使用AsyncFileUpload时,必须在页面或母版页中的表单标记中设置正确的参数:
<form id="form1" runat="server" enctype="multipart/form-data" method="post">
如果未设置正确的加密类型和方法,则UploadedComplete将永远不会启动,并且您将无法获取FileUpload.FileBytes,因为FileUpload.HasFile仅在UploadedComplete执行期间返回true
此外,AsyncFileUpload的早期版本在Chrome上不起作用。实际版本解决了问题。使用以下代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="futest.aspx.cs" Inherits="erpweb.futest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="smTest" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="upTest" runat="server">
<ContentTemplate>
<ajaxToolkit:AsyncFileUpload ID="AsyncFileUpload1" runat="server"
onuploadedcomplete="AsyncFileUpload1_UploadedComplete" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
使用以下代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="futest.aspx.cs" Inherits="erpweb.futest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="smTest" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="upTest" runat="server">
<ContentTemplate>
<ajaxToolkit:AsyncFileUpload ID="AsyncFileUpload1" runat="server"
onuploadedcomplete="AsyncFileUpload1_UploadedComplete" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
删除
asp:FileUpload
control的Visible=“false”
删除asp:FileUpload
control的Visible=“false”
是否有其他方法在不使用此更新面板及其工作的情况下使用FileUpload?FileUpload必须放在updatepanel之外:它需要页面的完整回发。没有更新面板FileUpload Works当我没有更新面板并且只是上传时,FileUpload仍然始终为空。那么有没有其他方法可以在没有更新面板及其工作的情况下使用FileUpload?FileUpload必须放在updatepanel之外:它需要完整的页面回发。如果没有更新面板文件上载工作,则当我没有更新面板且仅上载文件上载时,文件上载始终为空