Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何只刷新网站的几个部分_C#_Asp.net - Fatal编程技术网

C# 如何只刷新网站的几个部分

C# 如何只刷新网站的几个部分,c#,asp.net,C#,Asp.net,我在我的网页中使用了一个饼图,每4秒钟更新一次,所以我使用了这个 <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server"> <meta http-equiv="refresh" content="4" /> 我的饼图在这页的底部。每次页面刷新时,页面都会转到顶部。当我向下滚动查看饼图时,它会再次刷新 //Passing values to draw pi

我在我的网页中使用了一个饼图,每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>
//传递值以绘制饼图
var pie1=新的RGraph.Pie('pie1',);
//创建饼图对象
pie1.Set('chart.key'、['Read'、'Received'、'notreceived');
pie1.Set('chart.key.align','right');
pie1.Set('chart.key.position.x',200);
pie1.Set('chart.key.position.y',100);
//pie1.集合('图.沟.右',100);
pie1.Set('chart.colors'、['#86cf21'、'#eaa600'、'#e01600']);
pie1.Set('图表标题',“消息状态”);
pie1.Set('chart.align','left');
pie1.Set('chart.shadow',true);
pie1.集合('图表半径',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');//默认为3d;可以是2d或3d
如果(!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();
}
//我将这些值添加到会话中。
添加(“uStats”,“读取+”,“+received2+”,“+NotReceived+”)”;
[无画布支持]
我必须更新表格和饼图


什么是只刷新网站所需部分的解决方案,并使网页停留在正确的位置而不是停留在顶部

我需要了解更多有关您的设计的信息,才能明确地说出来,但您可能可以使用UpdatePanel在特定的时间间隔更新图表。只有UpdatePanel中的内容才会得到更新

下面是一个如何每秒更新内容的示例:


我需要了解更多关于您的设计的信息,才能明确地说出任何事情,但您可能可以使用UpdatePanel以一定的时间间隔更新图表。只有UpdatePanel中的内容才会得到更新

下面是一个如何每秒更新内容的示例:

仅刷新所需部件的解决方案是什么

你自己决定,但概念是一样的。本质上,您需要在页面上有一些JavaScript,它偶尔会向服务器资源发出请求,以获取更新的数据并更新页面上的相关元素

下面介绍这在浏览器中的行为以及客户端代码和服务器端代码如何交互

仅刷新所需部件的解决方案是什么

你自己决定,但概念是一样的。本质上,您需要在页面上有一些JavaScript,它偶尔会向服务器资源发出请求,以获取更新的数据并更新页面上的相关元素


下面介绍了这在浏览器中的行为以及客户端代码和服务器端代码的交互方式。

通常的方法是编写一个小页面,该页面可以输出JSON片段或表示更改部分的原始HTML。然后通过XMLHttpRequest从Javascript定期调用此页面,捕获其输出,然后直接插入页面以替换现有内容,或者,如果是JSON,则将其值用于就地更新内容


具体操作方法根据您的情况、代码库、样式等而有所不同。

通常的方法是编写一个小页面,该页面可以输出JSON片段或表示更改部分的原始HTML。然后通过XMLHttpRequest从Javascript定期调用此页面,捕获其输出,然后直接插入页面以替换现有内容,或者,如果是JSON,则将其值用于就地更新内容


具体如何执行此操作取决于您的情况、代码库、样式等。

所以每次更新面板时,服务器端代码是否会被执行?是的,但您应该使用JavaScript在指定的时间间隔调用以更新图表,而不是元刷新。因此每次更新面板时,服务器端代码会被执行吗?是的,但是您应该使用JavaScript调用以指定的时间间隔更新图表,而不是元刷新。