<asp:fileupload>没有文件

时间:2018-12-20 09:34:37

标签: c# asp.net

这是我在网络表单中的位置:

 <tr>
      <td  class="OnlyStandard">
        <asp:Label ID="lCompanyLogoImageName" runat="server" AssociatedControlID="fupCompanyLogoImageName" CssClass ="smallfont">Company Logo:</asp:Label>
      </td>
      <td  class="OnlyStandard">
        <div>
          <asp:FileUpload ID="fupCompanyLogoImageName" runat="server" CssClass ="smallfont"/>
          <asp:Button ID="btnUploadLogo" runat="server" Text="Upload logo" OnClick="btnUploadLogo_Click"/>
          <asp:HiddenField ID="hfTmpCompanyLogo" runat="server" />
         </div>
      </td>
      <td></td>
    </tr>

当我单击按钮btnUploadLogo时,由于某些原因,指示文件已加载的字段为false。我不知道为什么

protected void btnUploadLogo_Click(object sender, EventArgs e)
{
  if (fupCompanyLogoImageName.**HasFile** && fupCompanyLogoImageName.PostedFile != null)
  {
    string[] validExtentions = { ".jpg", ".png", ".bmp", ".gif" };
    string extPostFile = Path.GetExtension(fupCompanyLogoImageName.PostedFile.FileName);
    bool flValidExt = false;
    foreach (string ex in validExtentions)
      if (extPostFile.ToUpper().Equals(ex.ToUpper()))
      {
        flValidExt = true;
        break;
      }
    if (!flValidExt)
    {
      string tmp = "";
      foreach (string str in validExtentions) tmp += str + " ";
      Response.Write("<script type='text/javascript'>alert('" + String.Format(this.GetLocalizationString("ErrorMsg_NotCorrectFileExtentsion.Text"), tmp) + "')</script>");
      return;
    }
    hfTmpCompanyLogo.Value = String.Format("{0}_{1}", Guid.NewGuid(), fupCompanyLogoImageName.FileName);
  }
}

}

fupCompanyLogoImageName.HasFile为假-不清楚,因为已选择文件enter image description here

文件名为St1.jpg-在图片上可以看到

1 个答案:

答案 0 :(得分:2)

如果您的页面containsUpdate panel,那么您首先需要trigger upload buttonPostBackTrigger来获得这样的文件名

<asp:ScriptManager ID="ScriptManager1" runat="server"/> </asp:ScriptManager>
      <asp:UpdatePanel ID="UpdatePanel1" runat="server">
      <Triggers>
        <asp:PostBackTrigger ControlID="btnUploadLogo" /> 
      </Triggers>
      <ContentTemplate>
        <asp:FileUpload ID="FileUpload1" runat="server" />
        <asp:Button ID="btnUploadLogo" runat="server" Text="Upload" OnClick="UploadFile" /> 
      </ContentTemplate>
      </asp:UpdatePanel>
相关问题