插入后正在更新GridView
本文关键字:更新 GridView 插入 | 更新日期: 2023-09-27 18:19:46
我们使用Visual Studio 2010和.NET 4.0作为ASP.NET网站,使用MVC作为通用体系结构。
这个问题有两部分。没有什么是关于如何做到这一点,但根据良好的设计和行业标准,什么是正确的方法。
-
如果我有一个GridView(启用AJAX),其中有1000多条记录(大量数据),并且一次显示100条记录,我是回到数据库中查看接下来的100条记录呢,还是将数据存储在会话中,然后通过从会话中获取新数据来重新绑定GridView?
-
在插入的情况下,我有两个选择。首先,在数据库中插入一条记录,然后重新加载网格视图并重新绑定。第二,在会话和数据库中插入记录,并根据会话数据更新GridView。我不需要从数据库下载新数据。
你能给我指正确的方向吗?
一次忘记1000条记录。。。如果你一次只显示100,那就是你所需要担心的。在我看来,重新查询数据库。一次100张唱片并不多。不要依赖会话来做这种事情,要接受网络的"无状态"性质。
我认为使用会话不会给你带来太多好处。无论哪种方式,信息都需要发送到用户的浏览器。查询数据库中的100条记录可能是一项微不足道的操作(就延迟而言)。从开发的角度来看,在这里引入会话状态所增加的复杂性是不值得的。(问问自己,会话到底给你带来了什么好处?)
这只是我的看法,其他人可能会有所不同。但我无法想象在这种情况下一次查询100条记录会遇到太多问题
您可以将数据存储在服务器的缓存对象中,以避免每次都要读取数据库。http://msdn.microsoft.com/en-us/library/aa478965.aspx
阅读ScottGu的这篇文章。在数据库中分页记录集。在大多数情况下,这是正确的方法。这篇文章展示了一些基准。如果您的网站流量很高,则会话中的存储可能会占用大量资源。如果要扩展到一个Web场,那么很可能最终会将会话状态存储在sql server中。
会话数据也是不稳定的。如果用户在两个浏览器窗口中打开同一个页面,该怎么办?你最终会踩到每一页的脚趾。如果用户离开页面,让会话或缓存过期,该怎么办?Cache也会出现同样的问题。
服务器上的分页可扩展性最好。
https://web.archive.org/web/20211020140032/https://www.4guysfromrolla.com/articles/031506-1.aspx#postadlink