国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

實現asp.net只對個別控件實時訪問數據庫刷新數據

2019-11-18 17:56:22
字體:
來源:轉載
供稿:網友

問題:
        在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)等前臺時鐘),這樣結果就完成了,在第一個頁面啟動后第二個頁面沒隔一段時間刷新,但是客戶端的感覺和沒刷新一樣的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五台县| 昭平县| 伽师县| 合水县| 五常市| 西和县| 景谷| 朔州市| 晋城| 青神县| 凌源市| 泰宁县| 册亨县| 化州市| 芒康县| 沐川县| 枣庄市| 绩溪县| 九江市| 黑山县| 潼关县| 井冈山市| 右玉县| 泰州市| 鄂州市| 苍山县| 民丰县| 包头市| 政和县| 穆棱市| 驻马店市| 普安县| 太仓市| 泗水县| 永嘉县| 理塘县| 池州市| 宜昌市| 莱西市| 宁波市| 丰县|