zoukankan      html  css  js  c++  java
  • ASP.Net页面刷新后自动滚动到原来位置

    在网上搜索之后总结了三种方式:

    1.设置Page中的MaintainScrollPositionOnPostback属性为true

      A>.页面里有MaintainScrollPositionOnPostback,默认是false,设为true即可(页面级)
     
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"  MaintainScrollPositionOnPostback="true"  Inherits="Default.Defa
    ult
    " %>

      B>.设置web.config配置文件中的Pages节点中的MaintainScrollPositionOnPostback属性为true(网站级或目录级)

        如果修改网站根目录下的web.config则所有的页面均会受影响,若只修改某个目录下的web.config文件则只影响这个目录中的页面

       具体办法:

      在<system.web>节点下配置:

    <pages maintainScrollPositionOnPostBack="true"></pages> 

      C>.在页面的code页面,通过C#或VB代码设置page的MaintainScrollPositionOnPostback属性为true

    Page.MaintainScrollPositionOnPostBack = true;

    或这样写

    this.MaintainScrollPositionOnPostBack = true;


     

    2.可以使用Jquery,通过获取某个元素当前位置的高度,具体实现如下
    function setPosition()  
    {  
         var top=$("#元素id").offset().top();  
         $("html,body").animate({scrollTop:top},1000);  
    }  
     
    3.可以使用锚点,但这里可使用灵活处理
    首先获取需要滚动到的位置的id,如,可以设置一个元素(<span name="postion" id="postion"></span>,注:要在form里),另外在form的任意位置设置
    <a href="#postion" id="clickLink"></a>
    注:a标签里不要有内容,在回传的地方调用
    Page.ClientScript.RegisterStartupScript(this.GetType(), "scroll", "document.getElementById('clickLink').click();", true);  
    这种方法其实就是触发某个元素的事件
  • 相关阅读:
    TCP四种计时器
    TCP滑动窗口机制的简洁模型
    JAVA安全模型
    MongoDB性能优化
    mysql权限管理
    一个类似抖音 APP 拍摄按钮效果的控件
    App 组件化/模块化之路——使用SDK的思路进行模块化设计接口
    在 Android 中如何优雅地配置私密信息
    在Android中使用枚举注解而不是枚举
    Android 组件化/模块化之路——在展示层搭建MVP结构
  • 原文地址:https://www.cnblogs.com/weihanli/p/aspdotnetScrollBarFixed.html
Copyright © 2011-2022 走看看