asp.net通过AjaxUpdatePanel回传后滚动条位置变更解决方法
2023-06-13 09:14:23 时间
主要方法是:
用一个隐藏控件保存当前scorll值。回传回来后根据scroll的值在重新设置scroll。
1、首先用onscroll事件保存scorll值,并用HiddenField记录scroll值
复制代码代码如下:
用一个隐藏控件保存当前scorll值。回传回来后根据scroll的值在重新设置scroll。
1、首先用onscroll事件保存scorll值,并用HiddenField记录scroll值
<divid="lv_content"class="unify_content"style="padding-left:0;height:455px;"onscroll="SetScrollPosition(this)">
</div>
<asp:HiddenFieldID="HiddenFieldScroll"runat="server"/>
代码
//2、编写onscroll事件,主要用于保存当前控件的scroll值
functionfunSaveScroll(sender){
//得到隐藏控件
varvScroll=$get("ctl00_ContentPlaceHolder1_hfLvScroll");
if(vScroll!=null){
//设置隐藏控件的值为scorll值
vScroll.value=sender.scrollTop;
}
}
代码
//3、在页面的加载完成事件中处理scorll值
varprm=Sys.WebForms.PageRequestManager.getInstance();
//设置加载完成事件
prm.add_pageLoaded(pageLoaded);
//加载完成重新设置控件的scroll值
functionpageLoaded(sender,args){
//得到要设置scroll值的控件
varvDiv=$get("lv_content");
if(vDiv!=null){
//得到隐藏控件
varvScrollValue=$get("ctl00_ContentPlaceHolder1_hfLvScroll");
//设置控件的scroll值
vDiv.scrollTop=vScrollValue.value;
}
}
通过以上代码就可以解决回传回来后scroll变动的问题。
如果使用了Master页面,可以将上边的代码放在master页面中,进行公用。
1)先在Master页面中加入HiddenField。
<asp:HiddenFieldID="HiddenFieldScroll"runat="server"/>
代码
/*
2)在master页面中编写onscroll事件,记录其它页面中控件的scroll值
使用方法:只要在要设置控件中设置其ID并加入onscroll事件即可。即加入onscroll="SetScrollPosition(this)"语句
*/
functionSetScrollPosition(sender){
varscrollTemp=$get("ctl00_HiddenFieldScroll");
if(scrollTemp!=null){
//将要设置控件的ID和scroll值一起保存。中"|"分隔
scrollTemp.value=sender.id+"|"+sender.scrollTop;
}
}
代码
//3)在页面的加载完成事件中处理scorll值
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(onPageLoaded);
//ThePageloadedforscrollorientation
functiononPageLoaded(sender,args){
varscrollTemp=$get("ctl00_HiddenFieldScroll");
if(scrollTemp!=null){
varscorllValue=scrollTemp.value;
if(scorllValue.length>0){
vartarget=scorllValue.split("|");
if(target.length>1){
vartargetControlID=target[0];
vartargetValue=target[1];
vartargetControl=$get(targetControlID);
//得到要设置控件
if(targetControl==null||targetValue.length<1){
return;
}
//设置控件的scroll值
targetControl.scrollTop=targetValue;
}
}
}
}
4)调用时,其它页面控件中加onscroll="SetScrollPosition(this)"并设置ID即可
<divid="lv_content"class="unify_content"style="padding-left:0;height:455px;"onscroll="SetScrollPosition(this)">
</div>
相关文章
- 《ASP.NET Core 6框架揭秘》勘误
- ASP.NET访问Excel 失败的解决方法(错误号:80070005,8000401a)
- ASP.NET MVC 上传文件方法
- Linux上安装.NET:提高开发效率,拓展技术栈(linux安装.net)
- ASP驱动的Oracle数据库连接源码解析(asp连oracle源码)
- 使用ASP连接Oracle数据源的简便方式(asp数据源oracle)
- Asp.Net中文本换行
- asp.net跳转页面的三种方法比较
- asp.net数据库的连接和datatable类
- asp.net页面之间传递参数的几种方法
- ASP.NET前后台调用方法
- asp.net删除MFC单文档默认菜单栏的两种方法
- asp页面和Asp.net页面传中文参数UrlEncode编码以及接收解码
- Asp.Net网站优化系列之数据库优化分字诀分表(纵向拆分,横向分区)
- asp.net中Datalist使用数字分页的实现方法
- 关于有些Asp.net项目发布后出现网址乱码的解决方法
- ASP.NET页面借助IFrame提交表单数据所遇到问题的解决方法分享
- 正则表达式速查表(ASP.NET)
- asp.NET连接数的设置方法
- ASP.NET生成树形显示的GridView实现思路
- ASP.NET中后台注册js脚本使用的方法对比
- 在ASP.NET中连接SQLServer的简单方法
- ASP.NET服务器端控件RadioButtonList,DropDownList,CheckBoxList的取值、赋值用法
- ASP.NET中实时图表的实现方法分享
- ASP.NET从字符串中查找字符出现次数的具体实现方法
- asp.net刷新本页面的六种方法总结
- ASP.NET防止页面刷新的两种解决方法小结
- 刷新页面的几种方法小结(JS,ASP.NET)
- asp.net验证码图片生成示例
- ASP.NET实现将word文档转换成pdf的方法
- ASP.NET网站实时显示时间的方法
- ASP.NET显示农历时间的方法
- ASP.NET静态页生成方法
- Asp.net实现MVC处理文件的上传下载功能实例教程
- ASP.NET中使用TreeView显示文件的方法
- asp.net后台如何动态添加JS文件和css文件的引用