PDA

View Full Version : سوال: صفحه بندی DATALIST برای گالری عکس



littledemon
یک شنبه 03 مرداد 1389, 11:41 صبح
با سلام به هم سایتی های عزیز
راستش من خواستم یه گالری عکس بسازم به صورتی که عکس ها که حدود 200-300 تا هستند در4 ستون قرار بگیرند
یعنی در هر صفحه حدودا بین 4 تا 16 عدد عکس
اومدم و از کنترل های دیتالیست و ریپیتر استفاده کردم اما این دو کنترل خاصیتی برای صفحه بندی ندارند
کنترل گرید ویو هم که انگار فقط به صورت ستونی نمایش میده با این که صفحه بندی داره .حالا من اومدم و از دیتا لیست استفاده کردم و توی
تمپلیت فوتر یه دکمه گزاشتم برای رفتن به سری بعدی عکس ها
و از تابع زیر برای خوندن عکس ها استفاده کردم


Function Getphotos(ByVal start As Integer) As List(Of String)
Dim photo As New List(Of String)
Dim _path As String = MapPath("~/img/gallery/")
Dim file As String() = Directory.GetFiles(_path)
Dim _ph As String
Label1.Text = file.Length().ToString & "/num " & start & " /to num " & (start + 4)
For i As Integer = start To (start + 4)
_ph = file(i)
If _ph = file(i) <> False Then
photo.Add("~/img/gallery/" + Path.GetFileName(_ph))
End If
Next
Return photo
End Functionو در رویداد کلیک بر روی دکمه بعدی این کد رو نوشتم


itemcount = itemcount + 5
Label2.Text = "new number of seri : " & itemcount
DataList1.DataSource = Getphotos(itemcount)
DataList1.DataBind()
وقتی سایت رو تست میکنم اولین بار که 5 تا عکس لود میشه . روی دکمه که کلیک میکنم 5 تای بعدی لود میشه ولی بعد از اون هر کار میکنم دیگه هیچ تغییری در
ایتم های دیتالیست نمیبینم و خشکش میزنه.

به نظر شما میشه این کد رو اصلاح کرد یا از یه راه دیگه امتحان کنم ؟ البته اگه لطف کنید و بهم اون راه رو پیشنهاد بدید .ممنون میشم .

موفق باشید

Vahid_moghaddam
یک شنبه 03 مرداد 1389, 14:05 عصر
به itemcount چطوری مقدار می دید؟ منظورم اینه که itemcount مقدار قبلی رو چطوری نگهداری می کنه؟

littledemon
یک شنبه 03 مرداد 1389, 19:53 عصر
سلام و تشکر
داخل ماژول فرم تعریف شده با مقدار 0
یعنی بعد از تکه کدی که مربوط به وراثت صفحه هست...

فرقی داره؟

Vahid_moghaddam
یک شنبه 03 مرداد 1389, 20:11 عصر
سلام و تشکر
داخل ماژول فرم تعریف شده با مقدار 0
یعنی بعد از تکه کدی که مربوط به وراثت صفحه هست...

فرقی داره؟
هر بار که postback می کنید این مقدار برابر 0 می شه. چون هر بار یه نمونه از کلاس ایجاد می شه. آخرین مقدار رو توی viewstate ذخیره کنید و بخونید.