网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 网站开发-> 其它-> 用JavaScript解决ASP.NET服务器控件造成的刷新问题

用JavaScript解决ASP.NET服务器控件造成的刷新问题
作者:佚名 来源:InterNet 加入时间:2005-4-1
相关文章 相关书籍:
  • ASP.NET编程常用的函数集
  • ASP.net中绘制饼图与棒图
  • ASP.NET秘技集锦
  • ASP.NET服务器控件与组件编程
  • ASP.NET 微软培训
  • 10天学会ASP.NET教程
  • ASP.NET中实现身份验证方案
  • ASP.NET正式版开发者指南电子版
  • ASP.NET与Web Service实例剖析
  • asp.net常用函数表
  • 用ASP.NET开发的人对服务器端控件事件引起的页面刷新很头痛吧!

    我把解决问题的方法拿出来与大家共享,思路是事件执行完后写段脚本,让页面自动滚动到刷新页面之前的控件处,减少页面刷新带来的不便。
    比如按了一个按钮后,脚本会自动将页面自动滚动到这个按钮的位置。

    写段脚本的事情Not用了一个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的位置,减少了页面刷新带来的不便。


    [文章录入员:nancy]

    相关文章 相关书籍:
  • ASP.NET编程常用的函数集
  • ASP.net中绘制饼图与棒图
  • ASP.NET秘技集锦
  • ASP.NET服务器控件与组件编程
  • ASP.NET 微软培训
  • 10天学会ASP.NET教程
  • ASP.NET中实现身份验证方案
  • ASP.NET正式版开发者指南电子版
  • ASP.NET与Web Service实例剖析
  • asp.net常用函数表
  • 本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    其它
    ASP/ASP.NET
    PHP技术
    JSP技术
    XML技术
    CGI/PERL
    WEB服务器
    WordPress专题
    其它
    电脑教程阅读排行
    ·VBScript 函数集
    ·关于SQL语句中的引号问题(VB...
    ·网站建设步骤
    ·网上建站论坛的选择和安装(菜鸟版...
    ·用ASP动态生成JavaScri...
    ·Apache+PHP+MySQL...
    ·用VBScript实现对Wind...
    ·VBScript和JavaScr...
    ·在javascript中调用vb...
    ·一个简单的javascript菜...