Galleria幻灯片控件:将图库数据从varbinary数据库字段加载到ASP.NET页面

时间:2012-06-08 21:08:17

标签: galleria

我正在尝试从SQL Server数据库加载Galleria幻灯片控件http://galleria.io/的图库图像。我已将Galleria控件放在ASPX页面中。

我正在尝试旧帖子中推荐的ListView解决方案:Using Galleria jQuery plugin with an asp.net ListView 但它不起作用。有谁知道是否确实可以从数据库中将图像加载到Galleria控件?如果是这样,图像字段需要具有哪种数据类型?我尝试了varbinary(实际图像)和nvarchar(只是图像的路径),没有一个工作。页面挂了。

这是我的ASPX代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Aircraftpedia_GalleriaDB.aspx.cs" 
Inherits="Library_Aircraftpedia_GalleriaDB" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0   Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
    <title></title> 
    <script type="text/javascript" src="../_js/slider_jQueryUI/jquery-1.6.2.min.js"></script> 
    <script type="text/javascript" src="../_js/galleria/galleria-1.2.7.min.js"></script> 
    </head> 
    <body> 
<asp:SqlDataSource ID="dsSelectAllAircraftpedia" runat="server" ConnectionString="<%$    ConnectionStrings:MYDB%>" 
SelectCommand="cda_Aircraftpedia_SelectAll" SelectCommandType="StoredProcedure" 
ProviderName="<%$ ConnectionStrings:MYDB.ProviderName %>"></asp:SqlDataSource> 
<asp:ListView runat="server" ID="lvw"> 
<LayoutTemplate> 
    <div id="gallery"> 
        <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder> 
    </div> 
</LayoutTemplate> 
<ItemTemplate> 
    <img id="photoAlbumPhotos" src='<%# Eval("AcImage") %>' alt="Image Not Found"     class="photoAlbumPhotos" /> 
</ItemTemplate> 
</asp:ListView> 
<script type="text/javascript"> 
$(document).ready(function () { 
    Galleria.loadTheme('../_js/galleria/themes/classic/galleria.classic.min.js'); 
    $("#gallery").galleria({ 
        width: 700, 
        height: 500 
    }); 
});          
</script> 
</body> 
</html>

我的C#代码:

protected void Page_Load(object sender, EventArgs e)
{
    this.lvw.DataSource = this.dsSelectAllAircraftpedia;
    this.lvw.DataBind();
}

如果您对如何使此代码有效或是否有其他推荐解决方案,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:0)

我是作者,所以这肯定是有偏见的,但我认为你应该查看http://imageresizing.net/项目。它提供了一个SQL集成插件,可以让您通过磁盘缓存非常有效地提供SQL blob,并且只需几分钟即可完成设置。

作为奖励,它可以让您轻松调整所有图像的大小以适应某些约束,这非常方便。