簡體   English   中英

插入后更新GridView

[英]Updating GridView after insert

我們將Visual Studio 2010和.NET 4.0用於ASP.NET網站,將MVC用於常規體系結構。

這個問題分為兩部分。 什么都沒有做,但是按照好的設計和行業標准,正確的方法是什么。

  1. 如果我有一個GridView(啟用AJAX),具有1000條以上的記錄(大量數據),並且一次顯示100條記錄,那么我是否要返回數據庫以獲取下100條記錄,還是將數據存儲在會話中,然后重新綁定gridview?從會話中獲取新數據?

  2. 在插入的情況下,我有2個選擇。 一種,在數據庫中插入一條記錄,然后重新加載gridview並重新綁定。 二,在會話和數據庫中插入記錄,並根據會話數據更新GridView。 我不需要從數據庫下載新數據。

能給我指出正確的方向嗎?

一次忘記1000條記錄...如果一次只顯示100條,這就是您所需要擔心的。 我認為,請重新查詢數據庫。 一次100條記錄並不多。 不要依靠會話來完成這類事情,而應該擁抱網絡的“無狀態”本質。

我認為使用會話不會給您帶來太多好處。 無論哪種方式,都需要將信息發送到用戶的瀏覽器。 在數據庫中查詢100條記錄可能很簡單(就延遲而言)。 從開發的角度來看,在此處引入會話狀態增加的復雜性是不值得的。 (問問自己,會議在這里給您帶來了什么好處?)

那只是我的意見,其他人可能會有所不同。 但是我無法想象在這種情況下一次查詢100條記錄會遇到太多問題

閱讀ScottGu的這篇文章。 在數據庫上分頁記錄集。 在大多數情況下,這是正確的方法。 本文顯示了一些基准。 如果您的站點流量很高,則會話中的存儲可能會占用大量資源。 如果要擴展到Webfarm,則無論如何都可能最終將會話狀態存儲在sql服務器中。

會話數據也是易變的。 如果用戶在2個瀏覽器窗口中打開同一頁面怎么辦? 您最終將踩到每頁的腳趾。 如果用戶離開頁面,讓會話或緩存過期,該怎么辦? 緩存也會遇到相同的問題。

在服務器上分頁可最佳擴展。

http://www.4guysfromrolla.com/articles/031506-1.aspx#postadlink

您可以將數據存儲在服務器上的緩存對象中,以避免每次都必須讀取數據庫。 http://msdn.microsoft.com/en-us/library/aa478965.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM