把這個代碼你的腳本經理後,也將在全球範圍解決問題。我剛測試過這個作品很棒。
<script type="text/javascript">
try
{
var prm = Sys.WebForms.PageRequestManager.getInstance();
function beginRequest() {
prm._scrollPosition = null;
}
prm.add_beginRequest(beginRequest);
}
catch (err) {
alert(err);
}
</script>
As seen here
這裏是我與測試了它的代碼。我只是讓計時器每100ms更新一次空的更新面板,以便很容易發現問題。如果您在腳本管理器下面註釋掉<script type="text/javascript">....<script>
,您會看到之前和之後幾乎不可能在某些瀏覽器中向下滾動頁面!
Default.aspx的
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<script type="text/javascript">
try
{
var prm = Sys.WebForms.PageRequestManager.getInstance();
function beginRequest() {
prm._scrollPosition = null;
}
prm.add_beginRequest(beginRequest);
}
catch (err) {
alert(err);
}
</script>
<asp:Timer ID="Timer1" Interval="100" runat="server" />
<asp:UpdatePanel ID="up1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
<br /><br />
<div style="min-height:2000px"></div>
</asp:Content>
你使用一個更新面板,其中兩個定時器,並與文本形成的?如果是這樣的使用定時器標籤和單獨的更新面板多了一個對的形式。 – sathishkumar
@sathishkumar我只有一個更新面板,但只有計時器和標籤接收時間在裏面。表單的其餘部分根本不在更新面板中。 –
爲什麼不使用JavaScript定時器,這樣就不會有回發效果... – Madhu