I see you have written this:
Dim l As Label
l = CType(v.FindControl("Label1"), Label)
l.Text = dt.Rows(ctr).Item("Serial") & "."
l = CType(v.FindControl("Label2"), Label)
l.Text = dt.Rows(ctr).Item("question")
You have changed the Label1's text and it does not look like an integer. When you explicitly tried it to convert it directly into an integer you got type cast exception. Please DEBUG and you can see for yourself, what is the value of 'label1.Text' and make sure it has the value that you intend it to have.