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>
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>
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:
y así también:AjaxControlToolkit.ToolkitScriptManager.GetCurrent(this.Page).RegisterPostBackControl(ctrl);
Código:
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.tsmAjaxScriptManager.RegisterPostBackControl(ctrl);
Quedo agradecido de antemano por las respuestas que me puedan dar
Saludos