用了一个ScriptHelper的类来搞定,这个类有个GetViewControlScript(string controlName)的方法,它返回是一段客户端的脚本,传入的参数就是这个控件的ID。

ScriptHelper类代码:

/// <summary>
 /// 提供一些产生页面脚本的方法
 /// </summary>
 public class ScriptHelper
 {

/// <summary>
  /// 获取客户端查看控件的脚本
  /// </summary>
  /// <param name="controlName"></param>
  /// <returns>脚本代码</returns>
  public static string GetViewControlScript(string controlName)
  {

//创建客户端函数ViewObj
   string script = "\n";
   script += "<script language=\"javascript\">\n";
   script += "function ViewObj(objName)\n";
   script += "{\n";
   script += "var obj = document.all.item(objName);\n";
   script += "if (obj != null)\n";
   script += "{\n";
   script += "\tobj.scrollIntoView();\n";
   script += "\tobj.focus();\n";
   script += "}\n";
   script += "}\n";

//创建客户端函数ToDo
   script += "function ToDo()";
   script += "{\n";
   script += string.Format("setTimeout(\"ViewObj('{0}')\",1000);\n", controlName);
   script += "}\n";

script += "window.onload = ToDo;\n";
   script += "</script>\n";

return script;
  }

}

使用示例:

为了方便输入脚本,我在页面上放了个Label:lblScript,并把lblScript的EnableViewState属性和Visible属性设成False。
然后在lblScrpt的Click事件的操作代码后添加输入脚本的代码,如下所示:

private void btnSave_Click(object sender, System.EventArgs e)
{
 project.UpdateProjectInfo(ds);
 lblScript.Text = ScriptHelper.GetViewControlScript("btnSave");
}

在点击btnSave按钮后,页面会自动滚动到btnSave的位置,减少了页面刷新带来的不便。

转载于:https://www.cnblogs.com/foxhorse/archive/2007/07/02/803065.html

(转)让页面自动滚动到刷新页面之前的控件处,减少页面刷新带来的不便。相关推荐

  1. html 页面自动滚动,打开网页后屏幕自动滚动代码

    双击页面自动滚动代码一: 以下代码直接放在你的网页 中间就可以了 //双击鼠标滚动屏幕的代码 var currentpos,timer; function initialize() { timer=s ...

  2. 小程序聊天对话,每次都显示最新消息(让页面自动滚动到底部)

    //页面自动滚动到底部pageScrollToBottom:function(){wx.createSelectorQuery().select('#scrollpage').boundingClie ...

  3. html页面自动滚动+点击停止滚动

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  4. jquery网页刷新后控件失效_jquery动态增减控件如何才能不刷新页面

    已结贴√ 问题点数:20 回复次数:9 jquery动态增减控件如何才能不刷新页面 用jquery动态管理控件,可是每一次增减控件都会刷新页面,然后控件里面原来输入的值就都不在了,可以怎么来实现在动态 ...

  5. C# webbrowser控件点击页面按钮

    用金山快盘时需要每天签到挣空间容量,一直都想写个定时程序实现,然后挂到实验室的服务器上.通过参考网上一些资料,自己动手实现一个利用webbrowser控件实现了自动点击网页按钮的功能,其实很简单的,下 ...

  6. 第三篇:属性_第二节:控件属性在页面及源码中的表示方式

    一.属性在页面及源码中的表示方式 认真地看看页面中声明控件的代码,你会发现控件属性在页面中的表示千变万化.我们看看下面这些: <%@ Page Language="C#" A ...

  7. 如何在用户控件中操作页面中的控件?

    一般来讲我们会把功能集中在ASCX文件实现,以便能够多次使用,但在某种情况下,我们可能会用到对用户控件所在的页面容器进行操作. 其实如果想一下,道理也很简单,如果ASCX被使用了,其会出现在页面容器中 ...

  8. [IE编程] WebBrowser控件的多页面浏览(Tabbed Browsing)开发接口

    从IE7 开始, IE 支持多页面(Tab)浏览. 而IE 的WebBrowser 控件也相应的多页面浏览开发接口. 出于向下兼容考虑,该接口在缺省情况下是被屏蔽的. 假设你用WebBrowser 控 ...

  9. 怎么把一个控件放到tab页面上去?_移动端页面内容切换

    # 移动端页面内容切换 上周做了一个和页面切换相关的需求,为了探寻在需求场景下最符合用户心理模型的交互方式,当时一共输出了有四五种方案.总结一下各种切换页面内容的方式的特点和他们适用的场景.## 一. ...

  10. IE8浏览器32位被360篡改为64位(OCX控件在web页面不能加载的问题)

    OCX控件在web页面不能加载的问题 IE8浏览器32位被360篡改为64位 解决办法: 除了在ie浏览器自定义项中设置启用,将C:\Program Files\Internet Explorer下的 ...

最新文章

  1. cefsharp 加载慢_知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍!
  2. 万字大白话带你重拾JVM
  3. viewPager开启界面导航之旅
  4. UA MATH571A ANCOVA简介
  5. 一篇文章带你搞懂 DEX 文件的结构
  6. ajax 实时进度_【乐建工程宝】如何把控施工项目进度
  7. Docker教程小白实操入门(11)--如何构建私有Registry
  8. 蓝桥方格分割(搜索)
  9. 拍摄须知ISO、快门、光圈、曝光概念
  10. VoLTE网络各节点功能介绍
  11. 手把手的教你安装PyCharm --Pycharm安装详细教程(一)(非常详细,非常....)
  12. linux的系统文件位置,剖析Linux系统中的文件系统路径
  13. Request和response的用法总结
  14. js 判断字符串是中文、数字、大小写字母
  15. 计算机应用的多级列表是什么,Word2019中应用多级列表并更改级别的方法
  16. Android上好看的倒数日APP,Hurry:颜值超高的倒数日 App,让 Android 手机桌面好看 2 倍 #Android...
  17. github 私有化部署_项目私有化部署
  18. 怎么将html链接发微博,微博怎么发Word里带超链接的文字?
  19. Javaswing+MySQL实现超市收银管理系统(含源码、包运行)
  20. CFA II学习记录-Economics

热门文章

  1. 今年中秋云遮月,来年元宵雨打灯
  2. mysql编码方式查看_Mysql必读查看mysql编码方式 mysql数据库编码查看方法
  3. python3 获取文件目录_python3--os.path获取当前文件的绝对路径和所在目录
  4. mysql的bht_BHT
  5. guid linux 识别的分区表_Linux开机流程详解:BIOSgt;MBRgt;GRUBgt;Kernel
  6. xpath获取标签的属性值_爬虫必备技能之网页解析库:xpath用法和实战
  7. OpenWrt running on VMware
  8. Java : logback简单配置
  9. mysqldump gzip压缩 备份及还原
  10. 雷达发现 |最新教育行业数据报告