我正在尝试从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();
}
如果您对如何使此代码有效或是否有其他推荐解决方案,请告诉我。
谢谢。
答案 0 :(得分:0)
我是作者,所以这肯定是有偏见的,但我认为你应该查看http://imageresizing.net/项目。它提供了一个SQL集成插件,可以让您通过磁盘缓存非常有效地提供SQL blob,并且只需几分钟即可完成设置。
作为奖励,它可以让您轻松调整所有图像的大小以适应某些约束,这非常方便。