السلام عليكم ورحمة الله وبركاته
اخواني الاعزاء انا اسوي اختبار اون لاين واجهتني مشكلة في حلقة فور ايش لا اعلم لماذا الحلقة لا تقوم بدوران على جميع السجلات
سوق اقوم بشرح الكود
لدي جدول مكون من
id_question رقم السؤال
quesion السؤال
answer_q_1 الاجابة الاول
answer_q_2 الاجابة الثانية
answer_q_3 الاجابة الثالثة
answer_q_4 الاجابة الرابعه
ولدي جدول اخر فيه
id_question رقم السؤال
answer اجابة السؤال
-----------------------
واقوم بعرض الاسئلة في datalist والاجابات داخل RadioButton طبعاُ قمت باضافات اربعه RadioButton على عدد الاجابات وهي مضافة في datalist
وعند ما اقوم بعمل تشيك على احد الاجابات عملت دالة تتحقق لي اذا تم عمل تشيك على الاجابة تقوم باخذ رقم السؤال + الاجابة وتذهب الى الجدول الي فيه رقم السؤال والاجابة واذا كان صح
يتم اضافة +1 الى المتغير الذي سوق يحسب لي عدد الاجابات
ولكن المشكلة ان الحلقة لا تدخل على على جميع السجلات وبالاحراء على الرديو بوتون
وهذه هو الكود
والذي اريدة انه اذا تم الاجابة عن السؤال وكانت صحيحة يتم حساب اضافة +1 الى المتغير الذي اسمة session("sum")
وفي نهاية الفور ايش يطلع لي كم عدد الصح فاذا قام الطالب بالاجابة على اربعه اسئلة صحيحة يكون الناتج 4
عفو على الاطالة وهذه هو الكود واريد ان اعرف لماذا لا تدور الحلقة على جميع السجلات وبالاحراء على RadioButton
Dim sum As Integer = 0
sum = Session("sum_dg")
For Each row As DataListItem In DataList1.Items
Dim lab_id_Q As String = CType(row.FindControl("Labelid_Q"), Label).Text
Dim rd1 As RadioButton = CType(row.FindControl("Rad1"), RadioButton)
Dim rd2 As RadioButton = CType(row.FindControl("Rad2"), RadioButton)
Dim rd3 As RadioButton = CType(row.FindControl("Rad3"), RadioButton)
Dim rd4 As RadioButton = CType(row.FindControl("Rad4"), RadioButton)
If rd1.Checked = False And rd1.Checked = False And rd3.Checked = False And rd4.Checked = False Then
' Literal1.Text = "عزيز الطالب يوجد بعض الاسئلة لم تجب عليها يرجى مراجعة الاسئلة والتاكد"
Exit Sub
End If
If rd1.Checked = True Then
Dim dt As New DataTable
dt = ob.GetAnswer(lab_id_Q)
If rd1.Text = dt.Rows(0)(1) Then
Session("sum_dg") += 1
End If
End If
If rd2.Checked = True Then
Dim dt1 As New DataTable
dt1 = ob.GetAnswer(lab_id_Q)
If rd2.Text = dt1.Rows(0)(1) Then
Session("sum_dg") += 1
End If
End If
If rd3.Checked = True Then
Dim dt2 As New DataTable
dt2 = ob.GetAnswer(lab_id_Q)
If rd3.Text = dt2.Rows(0)(1) Then
Session("sum_dg") += 1
End If
End If
If rd4.Checked = True Then
Dim dt3 As New DataTable
dt3 = ob.GetAnswer(lab_id_Q)
If rd4.Text = dt3.Rows(0)(1) Then
Session("sum_dg") += 1
End If
End If
Next
MsgBox(Session("sum_dg"))مع العلم حاولت اعملها عن طريق اف واف الس ولكن نفس المشكلة وحولتها افات ونفس المشكلة