繁体   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