ASP.Net刷新頁面后自動滾動到原來位置方法匯總
在網(wǎng)上搜索之后總結(jié)了三種方式:
1.設(shè)置Page中的MaintainScrollPositionOnPostback屬性為true
A>.頁面里有MaintainScrollPositionOnPostback,默認是false,設(shè)為true即可(頁面級)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" MaintainScrollPositionOnPostback="true" Inherits="Default.Defa
ult" %>
B>.設(shè)置web.config配置文件中的Pages節(jié)點中的MaintainScrollPositionOnPostback屬性為true(網(wǎng)站級或目錄級)
如果修改網(wǎng)站根目錄下的web.config則所有的頁面均會受影響,若只修改某個目錄下的web.config文件則只影響這個目錄中的頁面
具體辦法:
在<system.web>節(jié)點下配置:
<pages maintainScrollPositionOnPostBack="true"></pages>
C>.在頁面的code頁面,通過C#或VB代碼設(shè)置page的MaintainScrollPositionOnPostback屬性為true
Page.MaintainScrollPositionOnPostBack = true;
或這樣寫
this.MaintainScrollPositionOnPostBack = true;
2.可以使用Jquery,通過獲取某個元素當前位置的高度,具體實現(xiàn)如下
function setPosition()
{
var top=$("#元素id").offset().top();
$("html,body").animate({scrollTop:top},1000);
}
3.可以使用錨點,但這里可使用靈活處理
首先獲取需要滾動到的位置的id,如,可以設(shè)置一個元素(<span name="postion" id="postion"></span>,注:要在form里),另外在form的任意位置設(shè)置
<a href="#postion" id="clickLink"></a>
注:a標簽里不要有內(nèi)容,在回傳的地方調(diào)用
Page.ClientScript.RegisterStartupScript(this.GetType(), "scroll", "document.getElementById('clickLink').click();", true);
這種方法其實就是觸發(fā)某個元素的事件
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
asp.net 根據(jù)漢字的拼音首字母搜索數(shù)據(jù)庫(附 LINQ 調(diào)用方法)
我們經(jīng)常需要使用拼音首字母來檢索數(shù)據(jù)庫,特別是應用于醫(yī)院、商店等行業(yè)軟件中。譬如搜索“zgr”就可以搜索所有包含“中國人”的記錄。那么如果來實現(xiàn)才能即高效又方便呢?2010-04-04asp.net 通過httpModule計算頁面的執(zhí)行時間
有時候我們想檢測一下網(wǎng)頁的執(zhí)行效率。記錄下開始請求時的時間和頁面執(zhí)行完畢后的時間點,這段時間差就是頁面的執(zhí)行時間了。要實現(xiàn)這個功能,通過HttpModule來實現(xiàn)是最方便而且準確的。2011-02-02asp.net中Timer無刷新定時器的實現(xiàn)方法
這篇文章主要介紹了asp.net中Timer無刷新定時器的實現(xiàn)方法,是一個非常具有實用價值的技巧,需要用到Ajax技術(shù),需要的朋友可以參考下2014-08-08