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


    问题:
            在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)等前台时钟),这样结果就完成了,在第一个页面启动后第二个页面没隔一段时间刷新,但是客户端的感觉和没刷新一样的。

  • 相关阅读:
    《Windows程序设计》中未归类的API
    C++编程技巧亮点集结
    详解python实现FPTREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(5)
    python源码剖析 读书笔记
    python操作时间的几个重要函数总结 import time!
    判断关联规则是否可靠提升度 lift,KULC,IR
    详解python实现FPTREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(3)
    python 使用装饰器模式 保证带有默认值的参数不被修改默认值
    python open文件 读写模式说明
    详解python实现FPTREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(4)
  • 原文地址:https://www.cnblogs.com/Carlwave/p/330962.html
Copyright © 2020-2023  润新知