ASP控件FileUpload始终为方法false返回FileUpload.HasFile。我曾尝试使用触发器,但这对我不起作用。

这是按钮方法

protected void btnUploadFile_Clicked(object sender, EventArgs e)
{
  testMethod();
}


这是testMethod() if语句始终评估为false的地方。

protected void testMethod()
{
  if(FileUploadImage.HasFile)
  {
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "NoDatabaseAlertMessage", "alert('it work')", true);
  }
  else
  {
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "NoDatabaseAlertMessage", "alert('no work')", true);
  }
}


Edit1:这是我尝试实现的HTML触发器内容,未成功

<div>
  <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

  <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Always" runat="server">
    <Triggers>
      <asp:PostBackTrigger ControlID="btnUploadFile" />
    </Triggers>
  </asp:UpdatePanel>

  <asp:FileUpload ID="FileUploadImage" runat="server" />

  <asp:Button ID="btnUploadFile" runat="server" Text="Upload File" class="btn btn-primary transition-3d-hover" OnClick="btnUploadFile_Clicked" />

</div>

最佳答案

我注意到团队中有人对.aspx文件中的代码进行了错误的编辑,并且没有关闭表单标签。关闭表单标签后,问题消失了,控件的行为也达到了预期。

关于c# - FileUpload.HasFile错误地返回false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58664852/

10-13 06:53