注册 登录
编程论坛 ASP.NET技术论坛

从SQL Server数据库提取图片并显示在DataGrid中的性能疑惑

dic4000 发布于 2009-12-02 22:24, 1260 次点击
看了孟子E章的一篇例文http://dotnet.aspx.cc/article/ecd9ae16-8ff0-4a1c-9b9f-5e8b641cb1b1/read.aspx
,有几点疑惑,想请教大家一下:
如果数据库的表中有4条记录,那么在第一次生成DataGridShowImage.aspx页面时(也就是在调用BindGrid()方法时),就会调用四次
string FormatURL(object strArgument);
方法,而这个FormatURL方法会跳转到ReadImage.aspx页面,在这个页面的Page_Load方法里会从数据库提取正在绑定到DataGrid控件那一行记录的图片,并以流形式生成出这一行的图片,这个图片会被源页中DataGrid的行引用.

1:那么跳转到ReadImage.aspx页面的过程是否属于跨页发送?如果不是跨页发送那是什么发送?

2:在调用DataGridShowImage.aspx页面的BindGrid()方法时要访问一次数据库,生成完所有图片时,需要4次跳转到ReadImage.aspx页面,访问4次数据库,也就是一共要访问5次数据库,这样性能上会不会比较低效?

3:我想在BindGrid()方法中,如果要绑定到DataGrid的结果集是DataTable或一个强类型集合,把这个结果集作为一个公共属性公开的话,在每次跳转到ReadImage.aspx页面时,能不能访问得到跳转前源页中的属性?如果能访问得到,就不用再去访问数据库,而是直接找到这个公共属性的结果集中的特定记录就可以了.有这个思路但不知道怎么访问跳转前源页中的公开的属性,好像这个不属于跨页发送.大家还有什么好的办法吗?
5 回复
#2
haizeng2009-12-17 08:53
恩  同问!
#3
仰望星空2009-12-17 10:25
米用过数据库存图片,那样真的好吗?没觉得这种方法有什么可用性,直接用数据库存路径不就好了?
#4
bygg2009-12-17 12:46
你一次性将四条数据都取出来啊,干嘛四条数据就访问四次啊?

#5
aspic2009-12-17 14:40
米用过控件~
#6
luonangaosi2010-01-05 11:32
一定要数据库存图片吗? 存图片路径岂不是更好
我开始也是一味的把图片存到数据库 后来尝试存路径 效果不错
1