第一种方式使用java脚本
或
第二种方式在asp.net sqldatasourse中使用Data sourse
在将数据加载到网页时压力较小
答案 0 :(得分:4)
将10000条记录绑定到网页上是一个可怕的想法。明智的解决方案做分页;即,它们显示数据的子集,然后让用户在其中向上/向下翻页。
答案 1 :(得分:1)
你可能想要分页数据,取决于你是怎么做的,你可以用javascript或.net sqldatasource这两种方式来做。
如果您不关心具有JavaScript功能的用户,我会使用javascript加载数据以获得更好的用户体验。
这里有一个关于如何使用ajax:Grid来分页数据但没有回发的例子。
http://dotnetslackers.com/articles/ajax/ASPNETAjaxGridAndPager.aspx
答案 2 :(得分:1)
回应 sikender 的评论
ya ..我知道分页在那里......但是它用于查看...页面模式中的数据..但我想用datagrid ...使用哪种方法绑定这种类型的数据。告诉我哪种方法..我提到两种方法..以上..哪一个更好,怎么......告诉我..请
异步javascript调用似乎可以减少压力,因为客户端能够看到页面部分加载后跟其数据。
答案 3 :(得分:1)
为什么要使用javascript方法绑定数据网格?
为什么不使用数据表?
//一些代码段
e.g。
datatable myDt = getTheDataSourceFromDatabase();
if(myDt != null && myDt.rows.count > 0)
{
myDatagrid.datasource = myDt;
myDatagrid.databind();
}
如果您需要异步响应,请使用“更新”面板。
使用javascript方法有很多陷阱
a)客户端可以禁用浏览器的JavaScript
b)Sql注入,因为你在访问javascript时不能使用存储过程,除非你使用 native ajax 等列出一些
因此,在服务器端进行大量数据库操作。
否则最好进行分页 ..您不必一次从数据库中提取所有记录。编写一个存储的proc,它将接受开始和结束页面限制,并将获取记录(use row_number() function
)。或者,使用LINQ
执行相同的操作(via Take & Skip
)