0

1FileUploadつボタンと2つSubmitボタンがあります。最初のものは呼び出さConfirmれ、フォームに入力したすべてのデータを含むページを表示して、問題がないことを確認します。と呼ばれる 2 番目のものは、Saveこれらのデータをデータベースに保存します。

問題は、Confirmボタンをクリックすると がプロパティにFileUpload戻りますが、2 番目のボタンでは同じ操作が に戻ることです。trueHasFilefalseHasFile

修正するにはどうすればよいですか?

コード

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>
4

1 に答える 1

0

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
     }
}
于 2013-07-10T13:50:12.713 に答える