Principales respuestas
Anular el PostBack luego de cargar un chart en modal ,

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">×</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();
}
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.
- Marcado como respuesta Tonatiuh AbregoModerator miércoles, 22 de mayo de 2019 21:09
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.
- Marcado como respuesta Tonatiuh AbregoModerator miércoles, 22 de mayo de 2019 21:09
-
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 ?
-
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.