J'utilise un graphique circulaire dans ma page Web qui doivent être mis à jour toutes les 4 secondes, donc je l'ai utilisé cetteComment rafraîchir seulement quelques parties du site
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server">
<meta http-equiv="refresh" content="4" />
Mon diagramme circulaire est en bas de la page . Chaque fois que la page se rafraîchit, la page va en haut. Au moment où je fais défiler vers le bas pour voir le graphique circulaire, il rafraîchit à nouveau.
//Passing values to draw pie chart
var pie1 = new RGraph.Pie('pie1', <%= Session["uStats"] %>);
// Create the pie object
pie1.Set('chart.key', ['Read', 'Received', 'Not Received']);
pie1.Set('chart.key.align', 'right');
pie1.Set('chart.key.position.x', 200);
pie1.Set('chart.key.position.y', 100);
//pie1.Set('chart.gutter.right', 100);
pie1.Set('chart.colors',['#86cf21', '#eaa600', '#e01600']);
pie1.Set('chart.title', "Message Status");
pie1.Set('chart.align', 'left');
pie1.Set('chart.shadow', true);
pie1.Set('chart.radius', 70);
pie1.Set('chart.labels.sticks', false);
pie1.Set('chart.tooltips.effect', 'fade');
pie1.Set('chart.tooltips.event', 'onmousemove');
pie1.Set('chart.highlight.style', '3d'); // Defaults to 3d anyway; can be 2d or 3d
if (!RGraph.isIE8())
{
pie1.Set('chart.zoom.hdir', 'center');
pie1.Set('chart.zoom.vdir', 'up');
pie1.Set('chart.labels.sticks', false);
pie1.Set('chart.labels.sticks.color', '#aaa');
}
pie1.Draw();
}
//I add the values to the session.
Session.Add("uStats", "[" + read + "," + received2 + "," + NotReceived + "]");
<div id="pie" "top: 165px; left: 536px; width: 74px; position: absolute; height: 529px;">
<canvas id="pie1" width="400" height="400">[No canvas support]</canvas>
</div>
<asp:Panel runat="server" ID="Panel_Users" ScrollBars="Auto" Style="z-index: 1; left: 748px;
top: 621px; position: absolute; height: 250px; width: 287px">
<asp:GridView ID="Grid_UserTable" runat="server" Style="z-index: 1; left: 2px; top: 5px;
position: absolute; height: 152px; width: 243px" BorderColor="#666666" AutoGenerateColumns="False"
OnRowDataBound="MyGrid_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<asp:Image ID="Status" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="TimeReceived" HeaderText="TimeReceived" InsertVisible="False"
ReadOnly="True" SortExpression="TimeReceived" />
<asp:BoundField DataField="TimeRead" HeaderText="TimeRead" SortExpression="TimeRead" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
</Columns>
</asp:GridView>
</asp:Panel>
Je dois mettre à jour le tableau et le graphique circulaire
Quelle est la solution pour rafraîchir uniquement les parties requises du site et de faire la page Web pour rester sur l'endroit exact au lieu d'aller au sommet
En bref, utiliser AJAX. – Sorpigal
Pouvez-vous utiliser un iFrame? – JonH