当我有两个提交按钮时,FileUpload为HasFile属性返回false
本文关键字:FileUpload HasFile false 返回 属性 按钮 提交 两个 | 更新日期: 2023-09-27 18:21:45
我有一个FileUpload
按钮和两个Submit
按钮。第一个名为Confirm
,只显示一个页面,其中包含我放入表单中的所有数据,以确认是否正常。第二个名为Save
,将这些数据保存在我的数据库中。
问题是,当我单击Confirm
按钮时,FileUpload
将true
返回到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背后的逻辑并不容易理解。。文件是如何获取的,如果保存的话
如果你忽略它,你可以在文件可用时使用它!
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
}
}