Travail sur un test en ligne.Test en ligne avec ASP.NET/Linq
J'ai 3 tables
- Questions
- Sujet
- Sujet
J'ai fait une procédure stockée qui renvoie 25 enregistrements aléatoires. Je veux le stocker en mémoire puis afficher une question à la fois avec AJAX. Je ne veux pas frapper la base de données 25 fois car il y a beaucoup d'utilisateurs, j'ai essayé et stocké le résultat dans viewstate mais je ne suis pas capable de le rejeter. si j'utilise
Dim qus = from viewstate("questions")
cela fonctionne, mais cela ne fonctionne pas lorsque je récupère 1 enregistrement à la fois.
code:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
ViewState.Add("QuestionNo", 0)
Dim qus = From q In PML.PM_SelectRandomQuestionFM Select q
viewstate.add("questions",qus)
LoadQuestion(0)
End If
End Sub
Private Sub LoadQuestion(ByVal i As Integer)
Dim QuestionNo As Integer = CType(ViewState("QuestionNo"), Integer) + 1
Try
If QuestionNo <= 25 Then
Dim qus = viewstate("questions")
Me._subjectTopic.Text = String.Format("<b>Subject:</b> {0} -- <b>Topic:</b> {1}", qus(i).subjectName, qus(i).TopicName)
Me._question.Text = " " & qus(i).Question
Me._answer1.Text = " " & qus(i).Answer1
Me._answer2.Text = " " & qus(i).Answer2
Me._answer3.Text = " " & qus(i).Answer3
Me._answer4.Text = " " & qus(i).Answer4
Me._questionNo.Text = String.Format("Question No. {0}/25", QuestionNo)
ViewState.Add("QuestionNo", QuestionNo)
Else
Server.Transfer("freeMemberResult.aspx")
End If
Catch ex As Exception
Throw New System.Exception(ex.ToString)
End Try
End Sub
J'ai essayé couler l'objet à
Dim qus = CType(ViewState("questions"), IQueryable(Of PM_SelectRandomQuestionFMResult))
mais je reçois cette erreur
System.Linq.Enumerable + WhereSelectEnumerableIterator`2
S'il vous plaît HELP ou s'il existe une autre méthode pour le faire, si ma méthode de test en ligne est erronée.
Cordialement
merci pour la réponse, oui je suis sur l'ingénierie, donc devrais-je utiliser jquery pour cacher div ou ajax fera. –
Plain JavaScript ou JQuery ferait ... – mmattax