gpt4 book ai didi

asp.net - ASP 页面在 UpdatePanel 更新时滚动到顶部

转载 作者:行者123 更新时间:2023-12-05 08:59:57 25 4
gpt4 key购买 nike

我遇到一个问题,我有一个 UpdatePanel,它使用计时器触发更新 ASP 图形的新点(本质上是“创建实时图表”下 https://web.archive.org/web/20201205213920/https://www.4guysfromrolla.com/articles/121609-1.aspx 的指南)。我遇到了一个问题,每当计时器滴答作响时,整个页面都会滚动到顶部。计时器滴答时如何保持页面中的滚动位置?我试过 https://web.archive.org/web/20211020140248/https://www.4guysfromrolla.com/articles/111704-1.aspx 上的说明和其他几个类似的 JavaScript 解决方案,但是每当计时器滴答时,x 和 y 变量就会被清除。

代码:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication4._Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"></asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:ScriptManager ID="scmManager" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="updRealtimeChart" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:Chart ID="chtRandomData" ...></asp:Chart><br />
<asp:Repeater ID="valueRepeater"...></asp:Repeater>
<asp:Label ID="errorLabel" Font-Bold="true" Font-Size="Larger" ForeColor="Firebrick" BackColor="Khaki" runat="server"></asp:Label>
<asp:Timer ID="tmrRefreshChart" runat="server" Interval="300"></asp:Timer>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="periodUpdate" />
</Triggers>
</asp:UpdatePanel>
...etc rest of the page...

编辑:在后面的代码中,我试过这个来检查发生了什么:

public partial class _Default : System.Web.UI.Page
{
public int count = 0;
protected void Page_Init(object sender, EventArgs e)
{
Page.MaintainScrollPositionOnPostBack = true;
count++;
}
protected void Page_Load(object sender, EventArgs e)
{
errorLabel.Text += count;
... }

当我运行它时,UpdatePanel 不断向 errorLabel 添加“1”,表示 Page_Load 和 Page_Init 函数只发生一次,但更新面板仍在移动滚动位置。

最佳答案

您可以在 javascript 中使用 document.body.scrollTop 来存储滚动位置,然后再将其分配回来。我用过它,它对我很有用。

也试试

Page.MaintainScrollPositionOnPostBack = true; 

关于asp.net - ASP 页面在 UpdatePanel 更新时滚动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11161652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com