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);  
    这种方法其实就是触发某个元素的事件
  • 相关阅读:
    登录注册测试用例
    礼盒抽奖测试点
    jmeter性能测试
    selenium的常用API及案例演示
    jmeter+ant+jenkins接口自动化测试框架
    开源性能测试工具jmeter
    Jmeter响应断言,性能测试,定时器,cookie
    Charles的介绍,配置与使用
    异常捕获以及文件的相关操作
    函数封装及面向对象
  • 原文地址:https://www.cnblogs.com/zhangyuhang3/p/6874018.html
Copyright © 2011-2022 走看看