【发布时间】:2012-01-10 09:07:22
【问题描述】:
在我的 Microsoft Access 数据库中,我有一个名为 Picture 的表和 3 个字段:ID、Name、Image。我想知道是否可以从“图像”字段中获取所有图像并将它们显示到 SlideShowExtender 中。
是否有任何示例或解释可以做到这一点?
【问题讨论】:
标签: asp.net vb.net visual-studio-2010 ms-access asp.net-ajax
在我的 Microsoft Access 数据库中,我有一个名为 Picture 的表和 3 个字段:ID、Name、Image。我想知道是否可以从“图像”字段中获取所有图像并将它们显示到 SlideShowExtender 中。
是否有任何示例或解释可以做到这一点?
【问题讨论】:
标签: asp.net vb.net visual-studio-2010 ms-access asp.net-ajax
我认为您应该使用其他幻灯片放映工具,例如“http://www.twospy.com/galleriffic/”,使用起来非常简单
【讨论】:
如果您的图像存储在 Access 数据库中,那么您首先必须创建一个处理程序来显示它们。此处理程序将根据 ID 获取 Image 列的字节,并将字节作为图像发送回浏览器。举个例子:
Using ASHX files to retrieve DB images
有了它,您可以显示如下图像:
<asp:Image runat="server" ImageUrl="~/DatabaseImagehandler.ashx?id=42" />
SlideShowExtender 需要一个服务来为其提供一组幻灯片,所以这个服务应该基本上返回这个:
// Based on SELECT COUNT(Id) FROM Images
int count = 5;
// Create the array of slides
AjaxControlToolkit.Slide[] slides = new AjaxControlToolkit.Slide[count];
// Put the URL and name for each image in the array
// Reader based on SELECT Id, Name FROM Images
int index = 0;
while(reader.Read()) {
string id = reader["Id"].ToString();
string name = reader["Name"].ToString();
string.path = Server.MapPath("~/DatabaseImagehandler.ashx?id=" + id);
// Create slide object with path set to point to the handler
AjaxControlToolkit.Slide slide = new AjaxControlToolkit.Slide(path, name, "img" + id);
slides[index] = slide;
index++;
}
return slides;
【讨论】: