Pages

2012/06/25

[ASP.NET] ポストバック時にスクロールバーを保持する(Chrome, Firefox)

基本的に、Page 要素に MaintainScrollPositionOnPostBack="true"と記述すれば良かったのだが、Chrome や Firefox ではこれが効かない。有効にするためにはもうひと工夫しなければならないのだ。
  1. プロジェクトを右クリックして、ASP.NET フォルダの追加。
    App_Browsers フォルダを追加する。
  2. App_Browsers に、新しい項目 (ブラウザ ファイル) を追加。
    BrowserFIle.browser というファイルが追加されるので、以下の記述を追加する。

  
    
      
    
  
  
    
      
    
  

refID="Safari1Plus" というのが Chrome のことである。 これで今までどおり MaintainScrollPositionOnPostBack="true" を追加すれば OK。
Page_Load に this.MaintainScrollPositionOnPostBack = true; を追加するという記述があるサンプルもあるが、ページにタグを追加しても同じ効果のようだ。

[ 参考 ] http://www.codeproject.com/Tips/207917/Maintain-Scroll-Position-Problem-fix-for-Chrome - THE CODE PROJECT
Related Posts Plugin for WordPress, Blogger...