国产探花免费观看_亚洲丰满少妇自慰呻吟_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)等前臺時鐘),這樣結果就完成了,在第一個頁面啟動后第二個頁面沒隔一段時間刷新,但是客戶端的感覺和沒刷新一樣的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湘乡市| 博客| 东乌珠穆沁旗| 上虞市| 安福县| 广安市| 志丹县| 象州县| 金溪县| 定西市| 赤壁市| 宁安市| 广昌县| 建德市| 四川省| 民乐县| 喀喇| 灌云县| 吴忠市| 吉木萨尔县| 齐河县| 灌南县| 剑河县| 康乐县| 嘉祥县| 托克托县| 池州市| 资源县| 东阳市| 河池市| 新宁县| 遂川县| 时尚| 枣强县| 上饶市| 阳原县| 六枝特区| 辽源市| 阳泉市| 曲阳县| 余姚市|