FileUpload1.HasFile siempre devuelve falso

Estoy cargando el archivo usando el control de carga de archivos ASP.net. My FileUpload1.HasFile siempre devuelve false.

if (FileUpload1.HasFile)
        {
            DBOperations db = new DBOperations();

            try
            {
                FileUpload1.SaveAs(Server.MapPath("~/uploadedImages/" + db.uploadImage(System.IO.Path.GetExtension(FileUpload1.FileName)) + System.IO.Path.GetExtension(FileUpload1.FileName)));
            }
            catch (Exception Ex)
            {
                String he = Ex.Message;
            }
        }

Estoy usando el siguiente código ASP.net

<asp:UpdatePanel ID="fileUpload" runat="server">
           <ContentTemplate>
             <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="btnUploadFile" EventName="Click" />
             </Triggers>
               <asp:FileUpload ID="FileUpload1" runat="server" /> 
               <asp:Button ID="btnUploadFile" Text="Upload File" runat="server" 
                   onclick="btnUploadFile_Click" />
                   <br />
             <asp:RegularExpressionValidator ID="revImage" ControlToValidate="FileUpload1" ValidationExpression="^.*\.((j|J)(p|P)(e|E)?(g|G)|(g|G)(i|I)(f|F)|(p|P)(n|N)(g|G))$" Text="Invalid image type" runat="server" />

          </ContentTemplate>
       </asp:UpdatePanel>

Lo he intentado incluso eliminando AsyncPostBackTrigger e incluso eliminando Whole asp: updatePanel y luego también mi FileUpload1.HasFile siempre devuelve falso.

Respuestas a la pregunta(3)

Su respuesta a la pregunta