【问题标题】:Fileupload hasfile returns false on first postbackFileupload hasfile 在第一次回发时返回 false
【发布时间】:2014-07-21 17:55:45
【问题描述】:

我有一个位于 div 元素中的文件上传。表单元素位于主文件中。 HasFile 属性在第一次回发时总是返回 false。

ASP.NET 代码

<div class="form-horizontal center-block" role="form" id="uploadFilesForm">
        <div class="form-group">
            <asp:Label runat="server" AssociatedControlID="fileUpload" CssClass="col-md-4 control-label">Select Files</asp:Label>
            <div class="col-md-8">
               <asp:FileUpload runat="server" ID="fileUpload" AllowMultiple="True" />                 
            </div>
        </div>  
        <div class="form-group">
            <asp:Label runat="server" CssClass="col-md-4 control-label"></asp:Label>
            <div class="col-md-8">
               <asp:Button runat="server" id="uploadButton" text="Upload"  CssClass="btn btn-primary" OnClick="uploadButton_Click"/>
            </div>
        </div>          
    </div>

C#代码:

protected void Page_Load(object sender, EventArgs e)
{
   Page.Form.Enctype = "multipart/form-data";   
}
protected void uploadButton_Click(object sender, EventArgs e)
{
    if (fileUpload.HasFile) // this returns false on first postback
    {
    //more code
    }
}

【问题讨论】:

  • 我发现了类似的问题:stackoverflow.com/questions/15365052/…。但我验证该文件有内容,但仍然无法在第一次点击时上传。第二次点击上传按钮即可上传相同的文件。

标签: c# asp.net file-upload


【解决方案1】:

在您的 OnInit() 方法中添加以下代码:

Page.Form.Attributes.Add("enctype", "multipart/form-data");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多