2013-04-09 58 views
2

我正在寫一個讓用戶輸入關鍵字的小程序。程序然後搜索數據庫表並查找所有符合用戶搜索條件的記錄(使用LINQ)。使用ASP.Net,在這種情況下最好使用什麼控件?

返回的結果記錄將作爲圖像顯示在屏幕上(很像谷歌圖像搜索頁面)。然後,用戶可以點擊任何返回的圖像並將其帶到有關該圖像的更多細節的頁面。

我的問題是,什麼是最好的控制來顯示用戶的初步搜索結果的圖像?這是一個ASP.Net程序。在GridView中顯示圖像會更好嗎?或者一個列表視圖?或者建立一個表格並用圖像按鈕填充每個單元格?我從來沒有這樣做過,所以我基本上只是想知道如何呈現數據。

我不是在尋找代碼,但我很想聽聽你如何處理這個問題。

謝謝!

編輯:

我要補充一點,所有的圖像的大小相同,我想,我會歸還所有影像,讓用戶向下滾動頁面。實際上,我不認爲會有超過50張圖片供用戶選擇。我設想在返回的結果的每一行上有五個圖像,如下圖所示: grid mockup

+0

你可以考慮用更多的信息來擴展你的問題,你需要實現什麼以及數據是什麼,最終的佈局:這些圖像有多少和多大?大小相等(即全部是100x100平方)還是不同的大小?你想要一次顯示全部,還是需要一些分頁(前50張圖像,後50張圖像等)?你需要自動加載像谷歌(所以你不需要點擊'顯示更多的圖像'和下一個圖像自動加載自己,當你向下滾動)? – quetzalcoatl 2013-04-09 17:55:33

+0

[Repeater,ListView,DataList,DataGrid,GridView ...哪些選擇?](http://stackoverflow.com/questions/139207/repeater-listview-datalist-datagrid-gridview-which-to-choose) – 2013-04-11 07:16:03

回答

3

我一直以來都是通過在可以的地方使用Repeater保持簡單的事情。您可以更好地控制自己HTML的外觀。

由於您使用的圖像,我假設他們將在不同的大小,我會讓項目模板包含一個具有錨和img內部的div。將最大寬度拍到圖像上,並將div上的溢出隱藏起來,這樣圖像看起來不會變形。

只需設置過濾器返回內容的datasource屬性,就可以調用databind(),並且您可以輕鬆前往。

這就是我如何處理這種情況。我也有興趣聽到別人的比較。

+0

看起來很容易!我還在YouTube上發現了一個視頻,其中顯示了您在此處描述的內容。謝謝您的幫助! – Kevin 2013-04-09 18:29:10

2

我會去信任的Repeater控制。這使您可以靈活地呈現您想要收集的任何東西。

2

我會創建一個控件來構建動態table control。你可以有一個List<string>來保存每個圖像的網址。我會公開一個名爲AddImage(string imageUrl)的公共方法,該方法會將網址添加到List<string>集合中。

一旦頁面準備好呈現,我會將你擁有的圖像數量除以5(這會給你你需要的行數),然後渲染表格。另外,在渲染之前,你可以使用LINQ在渲染之前獲取數據(例如,對它進行排序)

相關問題