none
Aplicación asp.net demasiada lenta RRS feed

  • Pregunta

  • Buenas tardes

    Acabo de concluir un módulo de logística, al subirlo al servidor todo estaba muy lento, se demora como 10 segundos en cargar una página. 

    Yo ya he desarrollado un sistema de producción y ventas utilizando la misma lógica que he utilizado en este proyecto. Les cuento que en el antiguo proyecto usaba excesivas ViewState, dataset ,Session o hasta controles de terceros e imagenes super cargadas , en esos tiempos no tenía muchos conocimientos.

    Ahora he renderizado casi todo, no uso muchos Session ni viewstate las imagenes son pocas y las degrado con css.

    Lo que si uso y no usé antes es el ModalPopUpExtender de Ajax, cada página tiene de 2 a 3 pop up pero no creo que por eso esté lento, o sí? Este es un ejemplo de la página más cargada, las demás son la mitad o quizá menos (Lo sé es mucho):

    <%@ Page Title="" Language="C#" MasterPageFile="~/web_forms/menu/MasterPage.master" AutoEventWireup="true" CodeFile="frmPedido.aspx.cs" Inherits="web_forms_pedidos_frmPedido" %>
    
    <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<meta name="keywords" content="" />
    		<meta name="description" content="" />
    		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
    		<title>
    			
    		</title>
            <link />
            <script type="text/javascript" src="../../resources/js/jquery-1.8.0.min.js"></script>
            <script type="text/javascript" src="../../resources/js/jquery-ui-1.9.2.custom.js"></script>
            <script type="text/javascript" src="../../resources/js/jquery-ui-1.9.2.custom.min.js" ></script>
            <script type="text/javascript" src="../../resources/js/messi.js"></script>
    		<link rel="stylesheet" type="text/css" href="../../resources/css/gridviewstyle.css"/>
    		<link rel="stylesheet" type="text/css" href="../../resources/css/style.css" />
            <link rel="stylesheet" type="text/css" href="../../resources/css/modalstyle.css"/>
            <link rel="stylesheet" type="text/css" href="../../resources/css/messi.css"/>
            <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
    
            <script type="text/javascript">
                function mostrarMensaje() {
                    new Messi('Centro de costo agregado satisfactoriamente', { title: 'Mensaje', modal: true });
                }
    
                function mostrarMensajeEditar() {
                    new Messi('Proveedor modificado satisfactoriamente', { title: 'Mensaje', modal: true });
                }
    
                function mostrarMensajeAEliminado() {
                    new Messi('Artículo eliminado satisfactoriamente', { title: 'Mensaje', modal: true });
                }
    
                function mostrarMensajeEliminar() {
                    Messi.ask('¿Desea eliminar este artículo?', function (valor) {
                        debugger;
                        if (valor == "Y") {
                            $.ajax({
                                type: "POST",
                                url: "frmArticulos.aspx/eliminarArticulo",
                                data: '{}',
                                contentType: "application/json; charset=utf-8",
                                dataType: "json",
                                success: function (data) {
                                    if (data.d) {
                                        alert('hola');
                                    } else {
                                        //mostrarMensajeAEliminado();
                                        window.location.href = '/Web/web_forms/mantenimientos/frmArticulos.aspx';
                                    }
                                },
                                error: function (e) {
                                    //alert('hola');
                                    //mostrarMensajeAEliminado();
                                }
                            });
                        } else {
                            return false;
                        }
                    });
                }
    
                $(function () {
                    $("#tabs").tabs();
                });
                
            </script>
    	</head>
    	<body>
    
        <div style="background: azure; height: 701px;">
    		  <div style="width: 100%; text-align: right; height: 34px;">
                  <table>
                     <tr style="font: normal 12px tahoma,arial,verdana,sans-serif">
                        <td>
                            <asp:Button ID="btnNewPedido" runat="server"
                                        style="background: url(/Web/resources/imgs/pedidos.png); background-repeat: no-repeat"
                                        title="Agregar Pedido" Text="  Nuevo Pedido" 
                                Height="23px" Width="138px" onclick="btnNewPedido_Click" 
                                />
                        </td>
                        <td><td class="style4"><td class="style1"></td></td></td>
                         <td class="style2">
                           <label>Almacen :</label>
                         </td>
                         <td>
                             <asp:DropDownList ID="ddlAlmacen" runat="server" AutoPostBack="true" 
                             Width="227px" onselectedindexchanged="ddlAlmacen_SelectedIndexChanged"></asp:DropDownList>
                         </td>
                     </tr>
                  </table>
    		  </div>
              <div>
                 
                 <asp:GridView ID="gvListado" runat="server" 
                  AutoGenerateColumns="False"  GridLines="None" AllowPaging="true" PageSize="30"
                  CssClass="mGrid"  PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt" ShowHeaderWhenEmpty="True"
                      
                      DataKeyNames="ID" onrowcommand="gvListado_RowCommand">
                      <Columns>
                          <asp:BoundField DataField="Id" HeaderText="ID" Visible="False"/>
                          <asp:BoundField DataField="NumeroPedido" HeaderText="N# Pedido"/>
                          <asp:BoundField DataField="Solicitante" HeaderText="Solicitante"/>
                          <asp:BoundField DataField="FechaPedido" HeaderText="Solicitado"/>
                          <asp:BoundField DataField="EstadoId" HeaderText="Estado"/>
                          <asp:ButtonField CommandName="Select" ButtonType="Image"
                          ImageUrl="../../resources/imgs/select.png"/>
                          <asp:ButtonField CommandName="Reportear" ButtonType="Image"
                          ImageUrl="../../resources/imgs/print.png"/>
                       
                      </Columns>
                      <FooterStyle BackColor="#CCCC99" ForeColor="Black" />
                      <HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
                      <PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
                      <SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
                      <SortedAscendingCellStyle BackColor="#F7F7F7" />
                      <SortedAscendingHeaderStyle BackColor="#4B4B4B" />
                      <SortedDescendingCellStyle BackColor="#E5E5E5" />
                      <SortedDescendingHeaderStyle BackColor="#242121" />
                      
                  </asp:GridView>
    
                  
                  <asp:UpdatePanel ID="UpCargar" runat="server">
                  <ContentTemplate>
                  <asp:UpdateProgress ID="UpdateProgress1" runat="server">
                    <ProgressTemplate>
                        <div id="Background"></div>
                            <div id="Progress">
                                <img src="../../resources/imgs/ajax-loader.gif" style="vertical-align:middle"/>
                                Cargando ...
                            </div>
                    </ProgressTemplate>
                </asp:UpdateProgress>
                </ContentTemplate>
                </asp:UpdatePanel>
              </div>
              
                <asp:LinkButton ID="LnkReporte" runat="server"></asp:LinkButton>
                    <asp:ModalPopupExtender ID="MPEReporte" runat="server" CancelControlID="close"
                    DropShadow="true" BackgroundCssClass="modalBackground" PopupControlID="PanelReporte"
                    TargetControlID="LnkReporte">
                    </asp:ModalPopupExtender>
                    <asp:Panel ID="PanelReporte" runat="server">
                        <div style="background-color: rgba(255, 255, 255, 0.9);">
                           <table>
                              <tr style="background: aliceblue">
                                 <td colspan="2" style="background: aliceblue" rowspan="1">
                                   <asp:Button ID="close" runat="server" Text="   Cancelar" CssClass="button-inner"
                                   style="background: url(/Web/resources/imgs/close.png); background-repeat: no-repeat;" 
                                   Height="23px"/>
                                 </td>
                               </tr>
                            </table>
                          </div>
                        <div>
                            <asp:UpdatePanel ID="UPReporte" runat="server">
                                <ContentTemplate>
                                    <iframe src="frmPedidoReporte.aspx" width="600px" height="600px"></iframe>
                                </ContentTemplate>
                            </asp:UpdatePanel>
                        </div>
                        
                    </asp:Panel>
                    
                    
                  <asp:LinkButton ID="LnkSelect" runat="server"></asp:LinkButton>
                  <asp:ModalPopupExtender ID="MPESelect" runat="server" CancelControlID="cerrarcerrar"
                  DropShadow="True"  PopupControlID="PanelSelect" BackgroundCssClass="modalBackground"
                  TargetControlID="LnkSelect">
                  </asp:ModalPopupExtender>
    
                  <asp:Panel ID="PanelSelect" runat="server" Width="841px">
                      <div>
                          <asp:UpdatePanel ID="UPSelect" runat="server" UpdateMode="Conditional">
                              <ContentTemplate>
                                  
                                <div style="background-color: rgba(255, 255, 255, 0.9);">
                                    
                                    <table>
                                        <tr style="background: aliceblue">
                                            <td colspan="2" style="background: aliceblue" rowspan="1">
                                                <asp:Button ID="cerrarcerrar" runat="server" Text="   Cancelar" CssClass="button-inner"
                                                style="background: url(/Web/resources/imgs/close.png); background-repeat: no-repeat;" 
                                                Height="23px"/>
                                            </td>
                                        </tr>
                                    </table>
                                    <asp:TabContainer ID="tabContainer1" runat="server">
                                        <asp:TabPanel ID="TabPanel1" runat="server" HeaderText="Información del Pedido"><ContentTemplate>
                                            <asp:Panel ID="Panel2" runat="server" GroupingText="Datos"><table><tr>
                                                        <td class="style18">Num. Pedido: </td>
                                                        <td class="style8"><asp:TextBox ID="txtNumPedidoSelect" runat="server" 
                                                                Width="200px"></asp:TextBox></td>
                                                        <td class="style11"></td><td></td></tr>
                                                        <tr><td class="style18">Almacen Solicita: </td>
                                                            <td class="style8"><asp:TextBox ID="txtAlmSolicitaSelect" runat="server" 
                                                                    Width="300px"></asp:TextBox></td></tr>
                                                        <tr><td>Solicitante: </td>
                                                            <td><asp:TextBox ID="txtSolicitanteSelect" runat="server" Width="300px"></asp:TextBox></td></tr>
                                                        <tr><td class="style11">Observacion: </td>
                                                            <td><asp:TextBox ID="txtObsSelect" runat="server" TextMode="MultiLine" 
                                                                    Width="300px"></asp:TextBox></td></tr>
                                                        <tr><td>Acción: </td>
                                                            <td><asp:TextBox ID="txtAccion" runat="server" Width="300px"></asp:TextBox></td></tr></table></asp:Panel>
                                            <asp:Panel ID="Panel3" runat="server" GroupingText="Detalle"><table><tr>
                                                        <td>
                                                            <asp:GridView ID="gvItems" runat="server" AllowPaging="True" 
                                                                AutoGenerateColumns="False" CssClass="mGrid" GridLines="None" PageSize="30" 
                                                                ShowHeaderWhenEmpty="True" Width="750px"><AlternatingRowStyle CssClass="alt" />
                                                                <Columns><asp:BoundField DataField="NOMBRE" HeaderText="Nombre Articulo" />
                                                                    <asp:BoundField DataField="CANTIDAD" HeaderText="Cantidad" /><asp:BoundField 
                                                                        DataField="UMEDIDA" HeaderText="U.Medida" />
                                                                </Columns>
                                                                <PagerStyle CssClass="pgr" />
                                                            </asp:GridView></td></tr></table></asp:Panel>
                                            </ContentTemplate></asp:TabPanel>
    
                                    <asp:TabPanel ID="TabPanel2" runat="server" HeaderText="Eventos"><ContentTemplate>
                                        <table>
                                            <tr>
                                                <td colspan="3">
                                                    <asp:GridView ID="gvEventoModificar" runat="server" AllowPaging="true" 
                                                        AlternatingRowStyle-CssClass="alt" AutoGenerateColumns="False" CssClass="mGrid" 
                                                        GridLines="None" PagerStyle-CssClass="pgr" PageSize="30" 
                                                        ShowHeaderWhenEmpty="True" Width="750px"><Columns><asp:BoundField DataField="Hora" 
                                                                HeaderText="Hora" />
                                                        <asp:BoundField DataField="Usuario" HeaderText="Usuario" /><asp:BoundField 
                                                                DataField="Accion" HeaderText="Accion" />
                                                        </Columns>
                                                    </asp:GridView>
                                                </td>
                                            </tr>
                                        </table>
                                        <asp:Panel ID="Panel4" runat="server" GroupingText="Detalle"><table><tr>
                                                    <td>Observaciones: </td><td>
                                                    <asp:TextBox ID="txtObsDetalleSelect" runat="server" 
                                                TextMode="MultiLine" Width="300px"></asp:TextBox></td></tr></table></asp:Panel>
                                        </ContentTemplate></asp:TabPanel>
                                    </asp:TabContainer>
                                    
                                  
                                </div>
                                
                              </ContentTemplate>
                              
                          </asp:UpdatePanel>
                      </div>
                  </asp:Panel>
                    
                  <asp:LinkButton ID="LnkAgregar" runat="server"></asp:LinkButton>
                  <asp:ModalPopupExtender ID="MPEAgregar" runat="server" CancelControlID="btnCerrar"
                  DropShadow="True"  PopupControlID="PanelAgregar" BackgroundCssClass="modalBackground"
                  TargetControlID="LnkAgregar">
                  </asp:ModalPopupExtender>
    
                  <asp:Panel ID="PanelAgregar" runat="server" Width="841px">
                      <div>
                          <asp:UpdatePanel ID="UP_AGREGAR" runat="server" UpdateMode="Conditional">
                              <ContentTemplate>
                                  
                                <div style="background-color: rgba(255, 255, 255, 0.9);">
                                    
                                    <table>
                                        <tr style="background: aliceblue">
                                            <td colspan="2" style="background: aliceblue" rowspan="1">
                                                <asp:Button ID="btnGrabar" runat="server" Text="   Grabar"
                                                style="background: url(/Web/resources/imgs/grabar.png); background-repeat: no-repeat;" 
                                                Height="23px" onclick="btnGrabar_Click" />
                                                &nbsp;&nbsp;
                                                <asp:Button ID="btnCerrar" runat="server" Text="   Cancelar" CssClass="button-inner"
                                                style="background: url(/Web/resources/imgs/close.png); background-repeat: no-repeat;" 
                                                Height="23px"/>
                                            </td>
                                        </tr>
                                    </table>
                                    <asp:TabContainer ID="tabContainerData" runat="server">
                                        
                                        <asp:TabPanel ID="holi" runat="server" HeaderText="Información del Pedido"><ContentTemplate>
                                            <asp:Panel ID="pnlDatos" runat="server" GroupingText="Datos"><table><tr>
                                                        <td class="style18">Num. Pedido: </td>
                                                        <td class="style3"><asp:TextBox ID="txtNumPedido" runat="server" Width="200px"></asp:TextBox>
    </td>
                                                        <td class="style11"></td><td></td></tr>
                                                        <tr><td class="style18">Almacen Solicita: </td>
                                                            <td class="style3"><asp:TextBox ID="txtAlmacenSolicita" runat="server" 
                                                                    Width="300px"></asp:TextBox>
    </td></tr>
                                                        <tr><td>Solicitante: </td>
                                                            <td class="style3"><asp:TextBox ID="txtSolicitante" runat="server" Width="300px"></asp:TextBox>
    </td></tr>
                                                        <tr><td class="style11">Observacion: </td>
                                                            <td class="style3"><asp:TextBox ID="txtObs" runat="server" TextMode="MultiLine" 
                                                                    Width="300px"></asp:TextBox>
    </td></tr>
                                                        <tr><td>Acción: </td>
                                                            <td class="style3"><asp:DropDownList ID="ddlAccion" runat="server" 
                                                                    AutoPostBack="True" onselectedindexchanged="ddlAccion_SelectedIndexChanged" 
                                                                    Width="118px"></asp:DropDownList>
    
                                                                <asp:DropDownList ID="ddlAlmOrigen" runat="server" Visible="False" 
                                                                    Width="163px" />
    <asp:DropDownList ID="ddlCCosto" runat="server" 
                                                                    Visible="False" Width="163px" />
    </td></tr>
                                                        <tr><td></td>
                                                            <td>
                                                                <asp:DropDownList ID="ddlAlmOrigen2" runat="server" style="margin-left: 117px" 
                                                                    Visible="False" Width="163px" />
    </td></tr></table></asp:Panel>
    
                                            <asp:Panel ID="pnlDetalle" runat="server" GroupingText="Detalle"><table><tr>
                                                        <td><asp:Button ID="btnAdd" runat="server" onclick="btnAdd_Click" 
                                                                style="background-image: url(/Web/resources/imgs/add2.png); background-repeat: no-repeat" 
                                                                Text="   Agregar" />
    </td></tr><tr><td>
                                                            <asp:GridView ID="gvArticulos" runat="server" AllowPaging="True" 
                                                        AutoGenerateColumns="False" CssClass="mGrid" GridLines="None" PageSize="30" 
                                                        ShowHeaderWhenEmpty="True" Width="750px">
                                                        <AlternatingRowStyle CssClass="alt" />
                                                            <Columns>
                                                                <asp:TemplateField HeaderText="Nombre Articulo">
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblArticulo" runat="server" Text='<%#Eval("Column1") %>'></asp:Label>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <asp:TemplateField HeaderText="Cantidad">
                                                                    <ItemTemplate>
                                                                        <asp:TextBox ID="txtCantidad" runat="server"></asp:TextBox>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <asp:TemplateField HeaderText="U.Medida">
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblUMedida" runat="server" Text='<%#Eval("Column3") %>'></asp:Label>
                                                                    </ItemTemplate>
    
                                                                </asp:TemplateField>
                                                                <asp:CommandField ShowDeleteButton="True" />
                                                            </Columns>
    
    <PagerStyle CssClass="pgr" />
    </asp:GridView>
    </td></tr></table></asp:Panel>
    
                                            
    </ContentTemplate>
    </asp:TabPanel>
                                    <asp:TabPanel ID="tb2" runat="server" HeaderText="Eventos">
                                        <ContentTemplate>
                                            <table>
                                                <tr>
                                                    <td colspan="3">
                                                        <asp:GridView ID="gvEvento" runat="server" AllowPaging="true" 
                                                            AlternatingRowStyle-CssClass="alt" AutoGenerateColumns="False" CssClass="mGrid" 
                                                            GridLines="None" PagerStyle-CssClass="pgr" PageSize="30" 
                                                            ShowHeaderWhenEmpty="True" Width="750px"><Columns><asp:TemplateField 
                                                                    HeaderText="Hora"><ItemTemplate>
                                                            <asp:Label ID="lblHora" runat="server" Text='<%#Eval("Column1") %>'></asp:Label>
                                                                </ItemTemplate>
                                                                </asp:TemplateField>
                                                        <asp:TemplateField HeaderText="Usuario">
                                                            <ItemTemplate><asp:Label ID="lblUsuario" runat="server" 
                                                                    Text='<%#Eval("Column2") %>'></asp:Label>
                                                                </ItemTemplate>
                                                                </asp:TemplateField>
                                                        <asp:TemplateField HeaderText="Accion">
                                                            <ItemTemplate><asp:Label ID="lblAccion" runat="server" Text='<%#Eval("Column3") %>'></asp:Label>
                                                                </ItemTemplate>
                                                                </asp:TemplateField>
                                                        <asp:CommandField ShowDeleteButton="True" />
                                                            </Columns>
                                                        </asp:GridView>
                                                    </td>
                                                </tr>
                                            </table>
                                            <asp:Panel ID="pnlDetalleEvento" runat="server" GroupingText="Detalle"><table><tr>
                                                    <td>Observaciones: </td><td>
                                                    <asp:TextBox ID="txtObsDetalleEvento" runat="server" TextMode="MultiLine" 
                                                    Width="300px"></asp:TextBox></td></tr></table></asp:Panel>
                                        
    </ContentTemplate>
                                        
    </asp:TabPanel>
                                    </asp:TabContainer>
                                    
                                  
                                </div>
                                
                              </ContentTemplate>
                              
                          </asp:UpdatePanel>
                      </div>
                  </asp:Panel>
    
    
                  <asp:LinkButton ID="LnkArticulo" runat="server"></asp:LinkButton>
                  <asp:ModalPopupExtender ID="MPEArticulo" runat="server" CancelControlID="btnCerrar2"
                  DropShadow="True"  PopupControlID="PanelArticulo" BackgroundCssClass="modalBackground"
                  TargetControlID="LnkArticulo">
                  </asp:ModalPopupExtender>
    
                  <asp:Panel ID="PanelArticulo" runat="server">
                      <div>
                          <asp:UpdatePanel ID="UPArticulo" runat="server" UpdateMode="Conditional">
                              <ContentTemplate>
                                  
                                <div style="background-color: rgba(255, 255, 255, 0.9)">
                                    
                                    <table>
                                        <tr style="background: aliceblue">
                                            <td colspan="2" style="background: aliceblue" rowspan="1">
                                                <asp:Button ID="btnAgregar" runat="server" Text="   Grabar"
                                                style="background: url(/Web/resources/imgs/grabar.png); background-repeat: no-repeat;" 
                                                Height="23px" OnClick="btnAgregar_Click"/>
                                                &nbsp;&nbsp;
                                                <asp:Button ID="btnCerrar2" runat="server" Text="   Cancelar" CssClass="button-inner"
                                                style="background: url(/Web/resources/imgs/close.png); background-repeat: no-repeat;" 
                                                Height="23px"/>
                                            </td>
                                        </tr>
                                    </table>
                                    <table>
                                        <tr>
                                            <td>
                                                Buscar Articulos:
                                            </td>
                                            <td>
                                                <asp:Panel ID="pnlBuscar" runat="server" DefaultButton="btnBuscar">
                                                <asp:TextBox ID="txtBuscar" runat="server" Width="200px"></asp:TextBox></asp:Panel>
                                                <asp:Button ID="btnBuscar" runat="server" onclick="btnBuscar_Click" style="display: none"/>
                                            </td>
                                            
                                        </tr>
                                    </table>
                                    <asp:Panel ID="pnlArticulo" runat="server" GroupingText="Artículos" Visible="False"
                                        Height="528px" Width="618px">
                                     <table>
                                        <tr>
                                            <td>
                                                <div style="overflow: scroll; height: 500px;">
                                                <asp:GridView ID="gvListaArticulos" runat="server" 
                                                AutoGenerateColumns="False"  GridLines="None" 
                                                CssClass="mGrid"  PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt" ShowHeaderWhenEmpty="True"
                                                DataKeyNames="Nombre, U.Medida">
                                                <Columns>
                                                    <asp:TemplateField>
                                                        <ItemTemplate>
                                                            <asp:CheckBox ID="CheckBox1" runat="server"/>
                                                        </ItemTemplate>
                                                    </asp:TemplateField>
                                                    <asp:BoundField DataField="ID" HeaderText="Id" Visible="False"/>
                                                    <asp:BoundField DataField="Nombre" HeaderText="Nombre"/>
                                                    <asp:BoundField DataField="Modelo" HeaderText="Modelo"/>
                                                    <asp:BoundField DataField="Fabricante" HeaderText="Fabricante"/>
                                                    <asp:BoundField DataField="U.Medida" HeaderText="U.Medida"/>
                                                    <asp:BoundField DataField="Familia" HeaderText="Familia"/>
                                              </Columns>
                                              <FooterStyle BackColor="#CCCC99" ForeColor="Black" />
                                                <HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
                                                <PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
                                                <SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
                                                <SortedAscendingCellStyle BackColor="#F7F7F7" />
                                                <SortedAscendingHeaderStyle BackColor="#4B4B4B" />
                                                <SortedDescendingCellStyle BackColor="#E5E5E5" />
                                                <SortedDescendingHeaderStyle BackColor="#242121" />
                      
                                            </asp:GridView>
                                            </div>
                                           </td>
                                        </tr>
                                    </table>
                                    </asp:Panel>
                                    <asp:Panel ID="pnlStockArticulo" runat="server" GroupingText="Artículos" Visible="False">
                                        <table>
                                            <tr>
                                                <td>
                                                    <asp:GridView ID="gvSTOCK" runat="server"
                                                AutoGenerateColumns="False"  GridLines="None"
                                                CssClass="mGrid"  PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt" ShowHeaderWhenEmpty="True"
                                                DataKeyNames="NOMBRE, U.Medida">
                                                <Columns>
                                                    <asp:TemplateField>
                                                        <ItemTemplate>
                                                            <asp:CheckBox ID="Check1" runat="server"/>
                                                        </ItemTemplate>
                                                    </asp:TemplateField>
                                                    <asp:BoundField DataField="ID" HeaderText="Id" Visible="False"/>
                                                    <asp:BoundField DataField="NOMBRE" HeaderText="Nombre"/>
                                                    <asp:BoundField DataField="U.Medida" HeaderText="U.Medida"/>
                                                    <asp:BoundField DataField="MODELO" HeaderText="Modelo"/>
                                                    <asp:BoundField DataField="MAXSTOCK" HeaderText="Max.Stock"/>
                                                    <asp:BoundField DataField="MINSTOCK" HeaderText="Min.Stock"/>
                                                    <asp:BoundField DataField="CONTABLESTOCK" HeaderText="Stock Contable"/>
                                                    <asp:BoundField DataField="DISPONIBLESTOCK" HeaderText="Stock Disponible"/>
                                                    <asp:BoundField DataField="PENDIENTESTOCK" HeaderText="Stock Pendiente"/>
                                                    <asp:BoundField DataField="PRECIO" HeaderText="Precio Actual"/>
                                              </Columns>
                                              <FooterStyle BackColor="#CCCC99" ForeColor="Black" />
                                                <HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
                                                <PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
                                                <SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
                                                <SortedAscendingCellStyle BackColor="#F7F7F7" />
                                                <SortedAscendingHeaderStyle BackColor="#4B4B4B" />
                                                <SortedDescendingCellStyle BackColor="#E5E5E5" />
                                                <SortedDescendingHeaderStyle BackColor="#242121" />
                      
                                            </asp:GridView>
                                                </td>
                                            </tr>
                                        </table>
                                         
                                    </asp:Panel>
                                    <asp:Panel ID="PanelStock2" runat="server" GroupingText="Artículos" Visible="False">
                                        <table>
                                            <tr>
                                                <td>
                                                    <asp:GridView ID="gvStock2" runat="server"
                                                AutoGenerateColumns="False"  GridLines="None"
                                                CssClass="mGrid"  PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt" ShowHeaderWhenEmpty="True"
                                                DataKeyNames="NOMBRE, U.Medida">
                                                <Columns>
                                                    <asp:TemplateField>
                                                        <ItemTemplate>
                                                            <asp:CheckBox ID="Check1" runat="server"/>
                                                        </ItemTemplate>
                                                    </asp:TemplateField>
                                                    <asp:BoundField DataField="ID" HeaderText="Id" Visible="False"/>
                                                    <asp:BoundField DataField="NOMBRE" HeaderText="Nombre"/>
                                                    <asp:BoundField DataField="U.Medida" HeaderText="U.Medida"/>
                                                    <asp:BoundField DataField="MODELO" HeaderText="Modelo"/>
                                                    <asp:BoundField DataField="MAXSTOCK" HeaderText="Max.Stock"/>
                                                    <asp:BoundField DataField="MINSTOCK" HeaderText="Min.Stock"/>
                                                    <asp:BoundField DataField="CONTABLESTOCK" HeaderText="Stock Contable"/>
                                                    <asp:BoundField DataField="DISPONIBLESTOCK" HeaderText="Stock Disponible"/>
                                                    <asp:BoundField DataField="PENDIENTESTOCK" HeaderText="Stock Pendiente"/>
                                                    <asp:BoundField DataField="PRECIO" HeaderText="Precio Actual"/>
                                              </Columns>
                                              <FooterStyle BackColor="#CCCC99" ForeColor="Black" />
                                                <HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
                                                <PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
                                                <SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
                                                <SortedAscendingCellStyle BackColor="#F7F7F7" />
                                                <SortedAscendingHeaderStyle BackColor="#4B4B4B" />
                                                <SortedDescendingCellStyle BackColor="#E5E5E5" />
                                                <SortedDescendingHeaderStyle BackColor="#242121" />
                      
                                            </asp:GridView>
                                                </td>
                                            </tr>
                                        </table>
                                         
                                    </asp:Panel>
                            </ContentTemplate>
                        </asp:UpdatePanel>
                        </div>
                    </asp:Panel>
    
    </asp:Content>
    <asp:Content ID="Content2" runat="server" contentplaceholderid="head">
        <style type="text/css">
            .style1
            {
                width: 464px;
            }
            .style2
            {
                width: 55px;
            }
            .style3
            {
                width: 289px;
            }
            .style4
            {
                width: 26px;
            }
        </style>
    </asp:Content>
    

    Como les dije, las otras página son la mitad o menos, estaba pensando user UserControl pero nunca he usado, quizá ese es mi débil porque una vez vi uno y no lo entendí.

    Si lo cambio a UserControl (Con un ejemplo claro) afectaría toda mi programación? Espero sus prontas respuestas, porque necesito que esto corra bien y rápido.

    miércoles, 29 de mayo de 2013 18:30

Respuestas

  • El retardo lo tienes cuando entras en la página?? Cada vez que haces PostBack?? Qué base de datos usas?? Si es SQL Server te propongo que cojas la query que carga el grid y ejecutes con el management studio el SQL Index Tunning Wizard para que analice la misma y te proponga crear indices a las tablas involucradas...


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    jueves, 30 de mayo de 2013 15:59
    Moderador

Todas las respuestas

  • yo revisaria antes de optimizar el código XML que has escrito, verificaría primero los procesos servidor que se están desarrollando en la carga de la página...aunque viendo dicho código veo que usas 5 gridview. Realizas la carga de cada uno en el Page_Load()?? Estas optimizadas las consultas de base de datos? Verifica en dicho evento si es que ahí cargas las grillas donde se pierde mas tiempo.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos



    miércoles, 29 de mayo de 2013 19:00
    Moderador
  • Hola, 

    Efectivamente no, no hago el bindeo de gridview en el page load, solo una que es el Listado principal, los demás los hago dependiendo del requeriemiento que quiero.

    Saludos

    miércoles, 29 de mayo de 2013 19:11
  • Puedes revisar cuanto tarda en realizar la carga del gridview?? Tienes asociado algun evento del gridview en el cual hagas consultas a la bbdd?? Por ejemlo si en el GridView_OnRowDataBound hacer otras consutas

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    jueves, 30 de mayo de 2013 6:29
    Moderador
  • La carga del grid no sabría decirte, pero demora 13 segundos en cargar una página.

    Solo el evento RowCommand carga consultas.

    Saludos

    jueves, 30 de mayo de 2013 15:39
  • El retardo lo tienes cuando entras en la página?? Cada vez que haces PostBack?? Qué base de datos usas?? Si es SQL Server te propongo que cojas la query que carga el grid y ejecutes con el management studio el SQL Index Tunning Wizard para que analice la misma y te proponga crear indices a las tablas involucradas...


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    jueves, 30 de mayo de 2013 15:59
    Moderador