当我有两个提交按钮时,FileUpload为HasFile属性返回false

本文关键字:FileUpload HasFile false 返回 属性 按钮 提交 两个 | 更新日期: 2023-09-27 18:21:45

我有一个FileUpload按钮和两个Submit按钮。第一个名为Confirm,只显示一个页面,其中包含我放入表单中的所有数据,以确认是否正常。第二个名为Save,将这些数据保存在我的数据库中。

问题是,当我单击Confirm按钮时,FileUploadtrue返回到HasFile属性,但在第二个按钮中,相同的操作将false返回到HasFile

我能做些什么来修复它?

代码

public void Confirm_Click(object sender, EventArgs e)
{
    if (FileUpload1.HasFile)
    {
          // Many validations here
    }
}
public void Save_Click(object sender, EventArgs e)
{
    // Always return false here
    if (FileUpload1.HasFile)
    {
          // Many validations here
    }
}

ASPX代码

<asp:Content ID="Content2" ContentPlaceHolderID="contentConteudo" runat="server">
   <asp:Panel runat="server" ID="Formulario">
      <asp:Panel ID="pnl_form" runat="server">
         <asp:FileUpload id="FileUpload1" class= "span2" runat="server"></asp:FileUpload>
         <asp:Button ID="Confirm" CssClass="btn btn-netimoveis btn-large" runat="server"
          OnClick="Confirm_Click"  UseSubmitBehavior="false"  Text="Confirmar" />
      </asp:Panel>
 </asp:Panel>
 <asp:Panel ID="pnl_confirm" runat="server">
    <asp:Button ID="Save" CssClass="btn btn-netimoveis btn-large" runat="server"
     Text="Incluir" OnClick="Save_Click" />
</asp:Panel>

当我有两个提交按钮时,FileUpload为HasFile属性返回false

FileUpload背后的逻辑并不容易理解。。文件是如何获取的,如果保存的话
如果你忽略它,你可以在文件可用时使用它!

public void Confirm_Click(object sender, EventArgs e)
{
    if (FileUpload1.HasFile)
    {
          // Many validations here
          // Keep file in Session or in a temporary storage
    }
}
public void Save_Click(object sender, EventArgs e)
{
    // Take the file from session or temporary storage and save it
    if (myFile != null)
    {
          // Many validations here
     }
}