2012-01-09 76 views
2

我们将Visual Studio 2010和.NET 4.0用于ASP.NET网站,并将MVC用于一般体系结构。插入后更新GridView

这个问题有2个部分。没有什么是如何做到这一点,但按照良好的设计和行业标准,什么是正确的方式。

  1. 如果我有一个GridView(支持AJAX)与1000条+记录(大量的数据),并且一次显示100条记录,我该回去数据库接下来的100条记录,或者将数据存储在会话,并通过从会话中获取新数据来重新绑定gridview?

  2. 在插入的情况下,我有2个选择。一,在数据库中插入一条记录并重新加载gridview和重新绑定。二,在会话和数据库中插入记录并根据会话数据更新GridView。我不需要从数据库下载新的数据。

请问您能指点我正确的方向吗?

回答

3

一次忘记1000条记录......如果您一次只显示100条记录,那就只需要担心。在我看来,重新查询数据库。一次100个记录并不多。不要依赖会话来解决这类问题,拥抱网络的'无状态'性质。

我不认为使用会话会给你带来很多好处。无论哪种方式,信息都需要发送到用户的浏览器。查询数据库中的100条记录可能是一个微不足道的操作(就延迟而言)。从开发的角度来看,这里引入会话状态的复杂性并不值得。 (问问你自己,到底会给你什么好处?)

这只是我的看法,其他人可能会有所不同。但我无法想象在这种情况下遇到太多查询100条记录的问题

+0

感谢您的意见。这很有帮助 – pskk 2012-01-09 16:26:03

1

阅读本文来自ScottGu。在数据库中寻找你的记录集。在大多数情况下,这是正确的方法。文章显示了一些基准。如果您的网站流量很高,则在会话中存储可能会占用大量资源。如果你要扩展到一个webfarm,你最终可能会在sql server中存储会话状态。

会话数据也是不稳定的。如果用户在2个浏览器窗口中打开相同的页面会怎么样?你最终会踩到每页的脚趾。如果用户离开页面,会话或缓存过期会怎么样?您将遇到与缓存相同的问题。

在服务器上调页最好。

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