[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

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する