FlieUpload dentro de un MultiView y un UpdatePanel

by eva02lasthope 10. junio 2009 04:59

FlieUpload dentro de un MultiView y un UpdatePanel


En un desarrollo en el cual estaba involucrado era necesario subir archivos al servidor pero me encontré con el problema que al colocar un FileUpload dentro de un MultiView y este a su vez dentro de un UpdatePanel que la propiedad  PostedFile al hacer PostBack siempre era Null.

Había conseguido poder colocar dentro de un UpdatePanel un control FileUpload y colocando un trigger en el UpdatePanel haciendo referencia al boton que ejecutará la acción de subir el archivo, era suficiente.


<asp:UpdatePanel runat="server" ID="upSubirArchivo">

    <ContentTemplate>

        <asp:MultiView ID="mvArchivo" runat="server" ActiveViewIndex="0">

            <asp:View ID="viewLiteal" runat="server">

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

                <asp:Button ID="btnArchivo " OnClick="btnArchivo _Click" runat="server" Text="subir" />

            </asp:View>

        </asp:MultiView>

    </ContentTemplate>

    <Triggers>

        <asp:PostBackTrigger ControlID="btnArchivo" />

    </Triggers>

</asp:UpdatePanel>

Pero el problema surgio cuando trate de colocar el FileUpload dentro de un MultiView y ni le busquen tratando de ocupar el asp:panel por que es lo mismo.


<asp:UpdatePanel runat="server" ID="upSubirArchivo">

    <ContentTemplate>

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

        <asp:Button ID="btnArchivo " OnClick="btnArchivo _Click" runat="server" Text="subir" />

    </ContentTemplate>

    <Triggers>

        <asp:PostBackTrigger ControlID="btnArchivo" />

    </Triggers>

</asp:UpdatePanel>

La solución fue modificando la propiedad Enctype del form a multipart/form-data entonces tan sencillo como colocar.

form1.Enctype = "multipart/form-data";

Pero que tal si estamos dentro de una página que contiene una MasterPage pues simple hagamos un FindControl.

((System.Web.UI.HtmlControls.HtmlForm)this.Page.Master.FindControl("form1")).Enctype = "multipart/form-data";

Tags: ,

dotNet

Agregar Comentario


(Su Gravatar icono será mostrado)

  Country flag

biuquote
  • Comentario
  • Vista Previa
Loading



Disclaimer
Las opiniones mostradas en este blog son responsabilidad del autor y sólo son con la finalidad de compartir conocimientos a la comunidad de tecnologías de información.

© Copyright 2010 Mindev