【发布时间】:2012-06-27 17:44:39
【问题描述】:
我对 JavaScript / jQuery 比较陌生,并且使用 ASP.NET 的经验不到 6 个月。我在使用带有 SQL Server 应用程序的 ASP.NET 的 colorbox 插件时遇到了问题。
现在,我正在使用 colorbox 在我正在开发的 PhotoGallery 中打开缩略图的更大显示。一切似乎都很好,我可以在彩盒显示中将照片组合在一起。
一切正常,除了我的ListView 有分页,所以每页只显示 40 张图像。 Colorbox 只会对当前在 ListView 页面上的照片进行分组。
.ASPX 页面ListView(不漂亮但可以)
<ItemTemplate>
<td id="Td2" runat="server" style="padding:10px">
<a class='colorbox' href="/Photos/AllPhotos/<%#Eval("FileName") %>"
title="<strong><%# Eval("Title") %></strong> photo by: <%#Eval("Name") %>">
<img src="/Photos/AllPhotos/Thumbnail/<%#Eval("FileName") %>"
title="<%# Eval("Title") %>" /></a>
</td>
</ItemTemplate>
用于绑定颜色框的 JavaScript:
function pageLoad() {
$("a.colorbox").colorbox({
rel: "gal",
maxWidth: "100%",
maxHeight: "100%"
})
};
我想要将颜色框绑定到绑定到ListView 的所有照片,而不仅仅是当前页面。因此,理想情况下,用户可以翻阅我们画廊中的所有照片(通过单击其中一个缩略图),而不必关闭颜色框 --> 转到下一页 --> 再次打开颜色框。
有没有一种简单的方法可以将颜色框绑定到ListView 中的所有照片?我可以想到一些“黑客”方法(例如将照片绑定到隐藏的ListView,并将它们与显示的照片分组),但我正在尝试开发一个很好用的应用程序!
我发现了一些看起来像 promising 的东西,但我以前从未使用过 JSON/SQL,所以如果我必须这样做的话,我会有一个学习曲线。
任何帮助都将不胜感激,我在工作中经常使用这些论坛,所以这是我第一个来寻求建议的地方。
(对不起,如果我错过了什么,这是我的第一篇文章)
编辑
好吧,我想出了一些办法,可以完成工作,但可能不如我希望的那么好。我最终做的是创建第二个数组,其中填充了所有未显示的照片,将其绑定到隐藏的 ListView,然后将隐藏的照片与显示的照片分组。它似乎工作得很好,只是没有我希望的那么干净,所以我仍然愿意接受更好的方法(如果有的话),但现在我很满足。
【问题讨论】:
-
我可能是误会了,但你能不能在你的
ListView上禁用分页?或者这不是你想要的? -
我可以,是的,这就是我想要的效果。但是我的老板非常坚持只在页面上显示几个,而其余的可以通过单击缩略图来访问:/
-
您可能想查看类似datatables 的内容。然后你可以将所有数据绑定到listview服务器端,并处理所有的分页客户端。您的所有颜色框链接仍然可以正常工作。
-
hmm,这看起来很有趣,想尝试一下,但至于执行我有点迷茫。它看起来很容易使用,我下载了 .js 文件,并在 aspx 页面中引用了它,但就我所知。现在我正在查询一个 SQL 数据库,并将它返回的数据表绑定到代码隐藏中的列表视图。我将如何整合 dataTables.js 的东西?再次感谢您提供的任何帮助。
-
仅供参考,您可以使用“@”符号通知 cmets 中的人(例如 @hmqcnoesy 将通知此评论链中的其他人)。
标签: javascript asp.net listview colorbox