Hola amigos:
Tengo un problema que no sé como resolver, aquí los datos:
1. Tengo un MasterPage y ahí tengo un UpdatePanel y un ModalPopup que lanza un UpdateProgress... la página tiene esta forma básica:
Código PHP:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MyMasterPage.master.cs" Inherits="Presentation_MyMasterPage" %>
<%-- ... --%>
<ajax:ToolkitScriptManager ID="tsmAjaxScriptManager" runat="server" EnableScriptGlobalization="True" EnablePartialRendering="true" EnableScriptLocalization="True">
</ajax:ToolkitScriptManager>
<asp:UpdatePanel ID="upAdmin" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:ContentPlaceHolder ID="cph_body" runat="server">
</asp:ContentPlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Panel ID="panelUpdateProgress" runat="server" CssClass="updateProgress">
<asp:UpdateProgress ID="UpdateProg1" DisplayAfter="0" runat="server">
<ProgressTemplate>
<div style="position: relative; top: 30%; text-align: center; vertical-align: middle;">
<asp:Image ID="imgProcessing" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/App_Themes/Default/img/loading.gif" />
<asp:Label ID="lblProcessing" runat="server" Text="Procesando..."></asp:Label>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</asp:Panel>
<ajax:ModalPopupExtender ID="ModalProgress" runat="server" TargetControlID="panelUpdateProgress" BackgroundCssClass="modalBackground_new" PopupControlID="panelUpdateProgress">
</ajax:ModalPopupExtender>
2. Tengo un montón de páginas que tienen asociado el master page que he descrito antes... las web se ven asi:
Código PHP:
<%@ Page Language="C#" MasterPageFile="~/Presentation/MyMasterPage.master" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="Presentation_MyPage" Title="Untitled Page" %>
<asp:Content ID="cnt_body" ContentPlaceHolderID="cph_body" runat="Server">
<asp:MultiView ID="mv01" runat="server" ActiveViewIndex="0">
<asp:View ID="mv01_List" runat="server">
<%-- ... --%>
</asp:View>
<asp:View ID="mv01_New" runat="server">
<%-- ... --%>
<asp:UpdatePanel ID="upAdminInsert" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="btnNewSave" />
</Triggers>
<ContentTemplate>
<asp:FileUpload ID="fuNewImagen" runat="server" />
<asp:Button ID="btnNewSave" runat="server" Text="Aceptar"
OnClick="btnNewSave_Click"
ValidationGroup="NewNews" CssClass="Blue_Style"
OnClientClick="javascript:bloquea('NewNews');" />
</ContentTemplate>
</asp:UpdatePanel>
</asp:View>
<asp:View ID="mv01_Edit" runat="server">
<%-- ... --%>
</asp:View>
</asp:MultiView>
El problema es el sigueinte: cuando entro por primera vez a la página MyPage.aspx, me aparece la primera vista, aprieto un botón que hay en ella y voy a la vista que muestra el <asp:FileUpload />... subo un archivo, doy clic en "Aceptar"... se graban los datos de un formulario (que no he puesto aquí para abreviar cdigo) pero el archivo no sube, no se guarda físicamente... cuando trato de hacer la misma operación (ya por segunda vez) si sube el archivo.
En síntesis, mi priblema es que, en la primera carga no sube el archivo y en la segunda vez que entro a la vista que tiene el formulario, el archivo si sube ¿Que puede estar pasando? ¿Que solución puedo dar?
Para esto ya he intentado registrar el botón "Aceptar" en el ScriptManager asi:
Código:
AjaxControlToolkit.ToolkitScriptManager.GetCurrent(this.Page).RegisterPostBackControl(ctrl);
y así también:
Código:
tsmAjaxScriptManager.RegisterPostBackControl(ctrl);
Ademas les comento que es importante que el cliente vea el mensaje de "En proceso" que se ha introducido en el MasterPage... antes de hacer los cambios, en el MasterPage no existía el UpdatePanel ni el UpdateProgress ni el ModalPopup; tampoco existía el UpdatePanel en MyPage.aspx. Necesito resolver este problema pues tengo que replicar la implementación de esto en muuuuuchas páginas que estan asociadas a dicho MasterPage.
Quedo agradecido de antemano por las respuestas que me puedan dar
Saludos