我在我的網頁上使用餅圖,必須每4秒更新一次,所以我使用了這個如何僅刷新網站的幾個部分
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server">
<meta http-equiv="refresh" content="4" />
我的餅圖位於頁面底部。每次頁面刷新時頁面都會顯示在頂部。當我向下滾動以查看餅圖時,它會再次刷新。
//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>
我必須更新表格和餅圖
什麼是解決方案,只刷新網站所需的部分,使網頁保持在準確的位置,而不是到頂部
簡而言之,使用AJAX。 – Sorpigal
你可以使用iFrame嗎? – JonH