c# - FileUpload1.HasFile 总是返回 false

标签 c# asp.net

我正在使用 ASP.net 文件上传控件上传文件。 我的 FileUpload1.HasFile 总是返回 false。

if (FileUpload1.HasFile)
        {
            DBOperations db = new DBOperations();

            try
            {
                FileUpload1.SaveAs(Server.MapPath("~/uploadedImages/" + db.uploadImage(System.IO.Path.GetExtension(FileUpload1.FileName)) + System.IO.Path.GetExtension(FileUpload1.FileName)));
            }
            catch (Exception Ex)
            {
                String he = Ex.Message;
            }
        }

我正在使用以下 ASP.net 代码

<asp:UpdatePanel ID="fileUpload" runat="server">
           <ContentTemplate>
             <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="btnUploadFile" EventName="Click" />
             </Triggers>
               <asp:FileUpload ID="FileUpload1" runat="server" /> 
               <asp:Button ID="btnUploadFile" Text="Upload File" runat="server" 
                   onclick="btnUploadFile_Click" />
                   <br />
             <asp:RegularExpressionValidator ID="revImage" ControlToValidate="FileUpload1" ValidationExpression="^.*\.((j|J)(p|P)(e|E)?(g|G)|(g|G)(i|I)(f|F)|(p|P)(n|N)(g|G))$" Text="Invalid image type" runat="server" />

          </ContentTemplate>
       </asp:UpdatePanel>

我什至尝试删除 AsyncPostBackTrigger,甚至删除 Whole asp:updatePanel 然后我的 FileUpload1.HasFile 总是返回 false。

最佳答案

ASP.NET 的“AJAX”功能不支持开箱即用的 UpdatePanel 中的文件上传。将该触发器更改为 PostBackTrigger(这会导致整个页面加载)或使用其他方式上传文件。

关于c# - FileUpload1.HasFile 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5848523/

相关文章:

c# - 使用 serilog 解构开放泛型

javascript - 使用动态创建的按钮调用 SignalR hub 方法

javascript - 如何使用javascript获取复选框项目的值

c# - 在 Linux X11/Gtk 上创建分层窗口

javascript - 显示 angular-loading-bar 并禁用页面的所有内容,直到页面加载

c# - 如何在 Web API 应用程序中使用 ASP.net 5 Identity?基于 token 的用户认证。移动应用

asp.net - 是否可以在同一项目上运行 3.5 ASP.NET Web 表单和 MVC 3.0

c# - .Net 4.0 System.Web.Security.MembershipProvider 引用不明确?

c# - Nancy 示例应用程序中的 Lambda 错误

c# - wcf 联合安全 token 是 session token 还是可重用的?