السلام عليكم ورحمة الله ،
عامل DataList وربطتها بـ SqlDataSource ، والهدف منها عرض صور ،
الصور مخزنه في مجلد ، واسم الصورة في مخزن في DataBase ،
المشكلة في عرض الصور آخر صورة ما تظهر لأنه في الأساس حلقة التكرار ما توصل لآخر حقل ،
هذا الكود :
Protected Sub dlPrd_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dlPrd.ItemDataBound
Dim Image1 As New Image
Dim lbl As New Label
Dim i, counter As Integer
Dim zoom As New HyperLink
counter = dlPrd.Items.Count()
For i = 0 To counter - 1
lbl = dlPrd.Items(i).FindControl("Label1")
Image1 = dlPrd.Items(i).FindControl("prdImg")
Image1.ImageUrl = "~/Prd_Img/" + lbl.Text.ToString + ""
zoom = dlPrd.Items(i).FindControl("HyperLink1")
zoom.NavigateUrl = "~/Prd_Img/" + lbl.Text.ToString + ""
Next
End Subتابعتها بالـBreakPoint :
فظهر كأنه يزداد العداد واحد ثم يصفر ثم يزداد على مقبله ثم يصفر وهكذا ..
أول مرة : counter =0 ،مايدخل حلقة التكرار ، بعدها ينتقل إلى صفحة source ، ويصفر counter ،
بعدها : counter =1 ،يدخل حلقة التكرار ، بعدها ينتقل إلى صفحة source ،
بعدها : counter =2 ،يدخل حلقة التكرار ، بعدها ينتقل إلى صفحة source ،
إلى قبل آخر حقل ،
فما هو الحل ،
أو هل الحدث المستخدم ItemDataBound مناسب ؟ مع العلم استخدمت كذلك ItemCreated ونفس المشكلة ؟
أو هل Item هو المعرف للحقل في DataList ؟ كما Rows في GridView ؟؟
موفقين لكل خير


