實現asp.net只對個別控制項即時訪問資料庫重新整理資料

來源:互聯網
上載者:User
問題:
        在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)等前台時鐘),這樣結果就完成了,在第一個頁面啟動後第二個頁面沒隔一段時間重新整理,但是用戶端的感覺和沒重新整理一樣的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.