网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.追踪ASP.NET代码里的bug.
.Web Service非Soap头(Session)身.
.在.Net 里用XPath的case-insensi.
.用GZip压缩和解压.
.解决ASP.NET的进程帐户没有访问 .
.Asp.Net中NHiernate的Session的管.
.ASP.NET中Datagrid常见错误.
.原创的自定义分页UserControl 分.
..net 后台的小偷程序.
.ASP.NET组件DataGrid的分页实用方.
.使用MD5加密注册用户密码的简单示.
.在自定义HttpHandler中使用Sessi.
.RSS 文档中 language 标签中的可.
.ASP.NET系统用户权限设计与实现.
.ASP.NET 2.0 WebService中传递Da.
.调试ASP.NET应用程序的方法和技巧.
.ASP.NET设计网络硬盘之删除文件夹.
.获得connect string简单方法.
.如何读取XML文件内容.
.net中统一的存储过程调用方法.

实现asp.net只对个别控件实时访问数据库刷新数据

发表日期:2006-2-15


问题:
        在webform上有一个控件,这个控件最好是能够实时的去访问数据库,一旦数据库里面有改动,便对客户端提交数据,显示最新的数据。

分析:
        因为是要客户端更新,所以必须要用到js的前台时钟功能,服务端变了,客户端要刷新才能更新数据,如何能做到不刷新更新数据,或者假刷新页面,即客户端基本看不出的刷新。       

解决办法:(有错的地方还请大家更正,本人水平有限,谢谢了)
        主要有两种解决方法:实时性的和轮询性的
       
        实时:通过在数据库中增加触发器去触发,然后在服务器中写了一个文件,用做信号量。这种技术我觉得对这个问题来言过于复杂,所以就没继续研究,有兴趣的朋友可以去MSDN上看,但确实能够做到实时的更新数据,对即时的对话最有效。
       
        轮询:1、采用xmlhttp无刷新方式。这类方式可以看下我前面转的别人写的文章,里面有详细介绍,但是我测试了后,发觉从服务器上获取的是整个页面的html代码,要从中得到你需要的控件内容,并且重置还是过于复杂,且效率不一定高。
                    2、用html的框架去完成,也就是我主要写的方法,这个方法简单易于实现,对只是动态显示很小数据的情况我觉得非常好用。
       
        详细介绍:在html中需要更新的地方写上<iframe src="../test/WebForm2.aspx"></iframe> src就是要连接的页面,然后把框架的大小和滚动条什么的按照需要调整下。
        新建一个页面WebForm2.aspx,作为被框架的连接页面,把需要实时更新的控件也放在这个页面里面,然后在其中的Page_Load事件里面
   
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置获取数据库更新的代码,和控件关联
    End Sub
        
    再在html中加入<meta HTTP-EQUIV="Refresh" content="1" URL="/test/WebForm2.aspx">
   表示间隔1秒自动刷新本页面(你也可以根据实际情况,添加如window.setInterval(function,1000)等前台时钟),这样结果就完成了,在第一个页面启动后第二个页面没隔一段时间刷新,但是客户端的感觉和没刷新一样的。

上一篇:在.NET开发中灵活使用TreeView控件 人气:8098
下一篇:asp.net应用程序级别跟踪 人气:6683
浏览全部asp.net的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐