none
Anular el PostBack luego de cargar un chart en modal , RRS feed

  • Pregunta

  • Estimados. 

    Tengo un gridView que al presionar el imagebuton debería salir un modal con un chart dentro,

    El Problema es que la pagina hace postback y pierdo el modal, ya he intentado todo lo que he leido y nada.

    Copio el codigo por si me pueden guiar.

    Este es el grid:

                                                                               

     <asp:GridView ID="GridView1" runat="server" CssClass="auto-style24" CellPadding="2" ForeColor="#333333" GridLines="None" ShowHeaderWhenEmpty="True" EmptyDataText="No se encontraron registros para los criterios de búsqueda ingresados." HeaderStyle-HorizontalAlign="Center" AutoGenerateColumns="False" OnSelectedIndexChanged="GridView1_SelectedIndexChanged1" DataKeyNames="Estaciones" HorizontalAlign="Justify">           
                   <AlternatingRowStyle BackColor="White"/>
                   <RowStyle HorizontalAlign="Justify" VerticalAlign="Middle" />
                   <HeaderStyle HorizontalAlign="Justify" VerticalAlign="Middle" />

                   <Columns>

                       <asp:HyperLinkField HeaderText="Acceso a estación" NavigateUrl="~/DatosEstaciones.aspx" Target="_blank" Text="Entrar a estación" DataNavigateUrlFields="Estaciones,Fecha" DataNavigateUrlFormatString="DatosEstaciones.aspx?Estaciones={0}&Fecha={1}" />
                       <asp:BoundField DataField="Estaciones" HeaderText="Estacion"></asp:BoundField>
                       <asp:BoundField DataField="Error" HeaderText="% Error"></asp:BoundField>
                       <asp:BoundField DataField="Fecha" HeaderText="Fecha"></asp:BoundField>

                       <asp:TemplateField HeaderText="Grafico semanal">
                           <ItemTemplate>
                               <asp:ImageButton type="button" ID="imagebtn" runat="server" ImageUrl="~/VerGrafico.png" CommandName="Select" ImageAlign="Middle" data-toggle="modal" data-target="#modChart">   </asp:ImageButton>
                           </ItemTemplate>

                       </asp:TemplateField>
                   </Columns>
                   <EditRowStyle BackColor="#2461BF" />
                   <EmptyDataRowStyle HorizontalAlign="Justify" VerticalAlign="Middle" />
                   <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                   <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" HorizontalAlign="Justify" VerticalAlign="Middle" />
                   <PagerStyle BackColor="#2461BF" ForeColor="White" />
                   <RowStyle BackColor="#EFF3FB" VerticalAlign="Middle" HorizontalAlign="Justify" />
                   <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" HorizontalAlign="Justify"   VerticalAlign="Middle" />
                   <SortedAscendingCellStyle BackColor="#F5F7FB" HorizontalAlign="Justify" VerticalAlign="Middle" />
                   <SortedAscendingHeaderStyle BackColor="#6D95E1" />
                   <SortedDescendingCellStyle BackColor="#E9EBEF" />
                   <SortedDescendingHeaderStyle BackColor="#4870BE" />
               </asp:GridView>

    Este es el modal :

                  

    <!--modal con grafica -->

            <asp:ScriptManager ID="ScriptManager1" runat="server" ></asp:ScriptManager>

            <asp:Panel ID="Panel1" runat="server" >
             <asp:UpdatePanel ID="UpdatePanel1" runat="server" ViewStateMode="Inherit">
              <ContentTemplate>

                <div class="modal fade" id="modChart" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" >
                    <div class="modal-dialog">
                        <div class="modal-content">            
                         <div class="modal-header" >
                            <button type="button" class="close" data-dismiss="modal" >
                                <span aria-hidden="true">&times;</span><span class="sr-only">Close</span>
                            </button>
                            <h4 class="modal-title" id="exampleModalLabel">Medicion semanal</h4>
                        </div>               
                        <div class="modal-body" >                     
                            <asp:Chart ID="Chart1" runat="server" CssClass="chart" Height="600" Width="500" Style="margin-left: 30px" BackImageAlignment="Center">
                                <Series>
                                    <asp:Series Name="Series1" ChartArea="ChartArea1" Font="Microsoft Sans Serif, 50pt"></asp:Series>
                                </Series>
                                <ChartAreas>
                                    <asp:ChartArea Name="ChartArea1" AlignmentOrientation="All">
                                    </asp:ChartArea>
                                </ChartAreas>
                            </asp:Chart>
                            <canvas id="canvas" width="300" height="300" > </canvas>                   
                        </div>                       
                    </div>
                </div>
            </div>
                    </ContentTemplate>
                    </asp:UpdatePanel>                
            </asp:Panel>

    este el el codigo:

                    

    //Load de la pagina

      protected void Page_Load(object sender, EventArgs e)
        {     
               /* if (IsPostBack)
                {
                    CargarChartEspecial();

                }*/       
        }

    //Evento Selected de la grilla

      public void GridView1_SelectedIndexChanged1(object sender, EventArgs e)
        {
           CargarChartEspecial();
        }

    //Manejo los datos y cargo el Chart

    public void CargarChartEspecial()
        {

            GridViewRow row = GridView1.SelectedRow;

            //string   = row.Cells[1].Text;
            if (row!=null)
            {
                string estacion = row.Cells[1].Text;
                string fecha = row.Cells[3].Text;

                string eliminoletras = "";
                string eliminoletras2 = "";

                string eliminoguion = "";
                if (fecha.Length == 7)
                {
                    eliminoletras = fecha.Remove(2, 1);
                    eliminoletras2 = eliminoletras.Remove(0, 1);
                    CargarChart(eliminoletras2, estacion);
                }
                else
                {
                    eliminoguion = fecha.Remove(3);
                    CargarChart(eliminoguion, estacion);
                }

            }

        }

    //Cargo el Chart

                                                     

     public void  CargarChart(string fecha, string estacion)
        {
            EntitieslabMedida bd = new EntitieslabMedida();

            //aqui cargas los datos del chert

            var semana1 = .........

                var semana2 = .........

                var semana3 = f.....

                var semana4 = ....

                var semana5 = .....

                ........     

                var series1 = new Series()
                {

                    Color = System.Drawing.Color.Green,
                    IsVisibleInLegend = true,
                    IsXValueIndexed = true,
                    ChartType = SeriesChartType.Line
                };
                //series1.AxisLabel = "";

                series1.Points.AddXY("Semana 1", valorSemana1);
                series1.Points.AddXY("Semana 2", valorSemana2);
                series1.Points.AddXY("Semana 3", valorSemana3);
                series1.Points.AddXY("Semana 4", valorSemana4);
                series1.Points.AddXY("Semana 5", valorSemana5);

                Chart1.Series.Add(series1);
                Chart1.DataBind();

        }

    martes, 14 de mayo de 2019 19:48

Respuestas

  • Hola daniel_fiveSix

    Te indico que el código parece estar en el paso de los parámetros.

    No dudes en ampliar más sobre este tema si es que aún lo requirieras o de abrir una nueva consulta en caso de tener alguna situación o necesitarla con algún otro de los productos de Microsoft.

     

    Adicional le invito a consultar los siguientes recursos:

    Guía para formular preguntas en el foro

    Channel 9 - donde puedes encontrar una sección de: ASP.NET

    También te invito a realizar dichas consultas en stackoverflow.com

     

    Gracias por usar los foros de TechNet.

    Erick Rivera

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de    conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    martes, 14 de mayo de 2019 21:27

Todas las respuestas

  • Hola daniel_fiveSix

    Te indico que el código parece estar en el paso de los parámetros.

    No dudes en ampliar más sobre este tema si es que aún lo requirieras o de abrir una nueva consulta en caso de tener alguna situación o necesitarla con algún otro de los productos de Microsoft.

     

    Adicional le invito a consultar los siguientes recursos:

    Guía para formular preguntas en el foro

    Channel 9 - donde puedes encontrar una sección de: ASP.NET

    También te invito a realizar dichas consultas en stackoverflow.com

     

    Gracias por usar los foros de TechNet.

    Erick Rivera

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de    conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    martes, 14 de mayo de 2019 21:27
  • Gracias por la respuesta, 

    Soy nuevo en esto, creo que te refieres a los parámetros con los cuales lleno en chart.

    series1.Points.AddXY("Semana 1", valorSemana1);

    Si son estos parametros los que causan el problema 

    tendria que pasarlos al cliente y cargar al chart por javascrpit ?

    miércoles, 15 de mayo de 2019 13:47
  • Hola 

    Debido a que no hemos recibido alguna notificación que aún se esté presentando el problema que enuncias en tu consulta  y que la respuesta provista provee un amplio panorama y campo de acción sobre tu duda; vamos a considerar tu duda como resuelta debido a la respuesta apropiada proporcionada  y así proceder a calificar las misma como respuesta.

    No dudes en ampliar más sobre este tema si es que aún lo requirieras o de abrir una nueva consulta en caso de tener alguna situación o necesitarla con algún otro de los productos de Microsoft.

    Gracias por usar los foros de MSDN.

    Tonatiuh Abrego
     ____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. 
    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.
    miércoles, 22 de mayo de 2019 21:09
    Moderador