ASP.Netページをリフレッシュした後、自動的に元の位置にスクロールする方法の要約

1635 ワード

ネット検索の後、3つの方法をまとめました.
1.PageのM i n t i n a n S t r o l l P o sitionOnPostback属性をtrueに設定する
  A>.ページにはM i n t i n a n S c r o l l PositionOnPostbackがあり、デフォルトはfalseで、trueにすればよい(ページレベル)
 
  
ult" %> 

  B>.Webを設定します.configプロファイルのPagesノードのM i n t i n a n S c r o l PositionOnPostbackプロパティはtrue(Webサイトレベルまたはディレクトリレベル)です.
サイトのルートディレクトリの下のwebを変更すると.configはすべてのページに影響を受け、あるディレクトリの下のwebだけを変更する.configファイルはこのディレクトリのページにのみ影響します
具体的な方法:
ノードの下で設定:
 
  


  C>.ページのcodeページで、C#またはVBコードでpageのM i n t i n S c r o l P o sitionOnPostback属性をtrueに設定します.
 
  
Page.MaintainScrollPositionOnPostBack = true;

あるいはこう書く
 
  
this.MaintainScrollPositionOnPostBack = true;

2.Jqueryを使用して、ある要素の現在位置の高さを取得することで、具体的には次のように実現できます.
 
  
function setPosition() 

     var top=$("# id").offset().top(); 
     $("html,body").animate({scrollTop:top},1000); 


3.アンカーポイントは使用できますが、ここではフレキシブルな処理を使用できます.
まずスクロールする位置のidを取得します.たとえば、要素(,注意:formに)、formの任意の位置に設定できます.
 
  


注意:aラベルに内容がないように、返信先で呼び出します.
 
  
Page.ClientScript.RegisterStartupScript(this.GetType(), "scroll", "document.getElementById('clickLink').click();", true); 

この方法は実際にはある要素のイベントをトリガーします
以上が本文のすべてですが、お好きになってください.