2

我正在编写一个让用户输入关键字的小程序。然后程序搜索数据库表并找到所有符合用户搜索条件的记录(使用 LINQ)。

返回的结果记录将以图像的形式显示在屏幕上(很像 Google 的图像搜索页面)。然后,用户将能够单击任何返回的图像并被带到一个页面,其中包含有关该图像的更多详细信息。

我的问题是,用于显示用户初始搜索结果的图像的最佳控件是什么?这是一个 ASP.Net 程序。在网格视图中显示图像会更好吗?还是列表视图?或者建立一个表格并用图像按钮填充每个单元格?我以前从未这样做过,所以我基本上只是想知道如何呈现数据。

我不是在寻找代码,但我很想听听你会如何处理这个问题。

谢谢!

编辑:

我应该补充一点,所有图像的大小都相同,我想我会返回所有图像并让用户向下滚动页面。实际上,我认为不会有超过 50 张图片供用户选择。我设想在返回的每行结果中有五个图像,如下图所示: 网格样机

4

3 回答 3

3

我一直很喜欢通过尽可能使用中继器来保持简单。您可以更好地控制为自己的 HTML 编写的内容。

由于您使用的是图像,并且我假设它们的大小不同,因此我会让 Itemtemplate 包含一个带有锚点的 div 和内部的 img。在图像上设置一个最大宽度并隐藏 div 上的溢出,这样图像就不会看起来皱巴巴的。

只需设置从过滤器返回的数据源属性,调用 databind() 就可以了。

这就是我处理这种情况的方式。我也有兴趣听取其他人的比较。

于 2013-04-09T18:01:03.413 回答
2

我会选择可靠的中继器控制。这使您可以灵活地为任何集合呈现您想要的任何内容。

于 2013-04-09T17:56:05.417 回答
2

我将创建一个构建动态表控件的控件。你可以有一个List<string>保存每张图片的网址。我将公开一个名为的公共方法AddImage(string imageUrl),该方法会将 url 添加到List<string>集合中。

准备好呈现页面后,我会将您拥有的图像数量除以 5(这将为您提供所需的行数),然后只呈现表格。另外,在渲染之前,你可以使用 LINQ 来获取渲染之前的数据(例如,排序)

于 2013-04-09T18:16:29.473 回答