Question

ASP.Net For this exercise, Create a short online quiz. Make sure the quiz has at least...

ASP.Net

For this exercise, Create a short online quiz. Make sure the quiz has at least 3 questions and that each question has at least 3 possible answers. After the questions there should be a button web control that will display the users score. The correct answer should be shown for the ones the user get incorrect.

This needs to be done on visual studio using visual basic programming

0 0
Add a comment Improve this question Transcribed image text
Answer #1

HTML SOURCE CODE FOR VS.NET

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="TestPage.aspx.vb" Inherits="WebApplication7.TestPage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">   
<table style="width:100%;"> <tr> <td colspan="2">QUIZ TEST </td>   
</tr>
<tr>
<td colspan="2">
<asp:Label ID="LBq1" runat="server" Text="Label"></asp:Label>
</td>   
</tr>
<tr>
<td> <asp:RadioButton ID="option1" GroupName="option" runat="server" /></td> <td>
&nbsp;</td>   
</tr>
<tr>
<td>
<asp:RadioButton ID="option2" GroupName="option" runat="server" /></td> <td>&nbsp;</td>   
</tr>
<tr>
<td> <asp:RadioButton ID="option3" GroupName="option" runat="server" /></td> <td>&nbsp;</td>
</tr>
<tr>
<td><asp:Button ID="btnNext" runat="server" Text=" Next " /> <asp:HiddenField ID="hdnQNo" runat="server" /> </td>
<td>&nbsp;</td>   
</tr> </table>
<div id="divScore" runat="server"> </div>
</form>
</body>
</html>

VB CODE

Public Class TestPage
Inherits System.Web.UI.Page

Dim qList(4, 4) As String '' STORES QUESTION WITH POSSIBLE ANSWER , MAXIMUM 3 QUESTION
Dim qAnswer(3, 2) As String '' STORES ACTUAL ANSWERS TO QUESTIONS
Dim userResp(3) As String '' STORES WHAT USER HAVE GIVEN RESPONSE
Dim qPosition As Integer '' CURRENT SL NO OF QUESTION
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then

setQuestion() '' INITIALIZE THE QUESTION

'' AS ASP.NET IS STATELESS WE ARE USING VIEWSTATE TO STORE SOME DATA
ViewState("score") = 0 '' STORE A BINARY VALUE TO JUST DETECT WHETHER TO GET RESULT OR NOT
ViewState("userResp") = userResp '' STORE USER RESPONSE/ANSWERS

hdnQNo.Value = 0 '' FIRST QUESTION INDEX IS 0 , hdnQNo IS HIDDEN FIELD
showQuestion() ' SHOW THE QUESTION


End If
End Sub

'' SET OF QUESTINS AND POSSIBLE ANSWERS INITIALIZED TO ARRAY AND CORRECT ANSWER ALSO
Public Sub setQuestion()

'' SET QUESTION IN 2D ARRAY

'FIFRST QUESTION
qList(0, 0) = "size of int in java?"
qList(0, 1) = "1" '' PROBABLE ANSWER 1
qList(0, 2) = "2" '' PROBABLE ANSWER 2
qList(0, 3) = "4"

''SECOND QUESTION
qList(1, 0) = "Which of these classes is not included in java.lang?"
qList(1, 1) = "Byte"
qList(1, 2) = "Integer"
qList(1, 3) = "Array"

qList(2, 0) = "Which of these is a super class of wrappers Double & Integer?"
qList(2, 1) = "Number"
qList(2, 2) = "Digits"
qList(2, 3) = "Float"

'' ACTUAL ANSWER TO THE QUESTIONS
qAnswer(0, 0) = "size of int in java?"
qAnswer(0, 1) = "4"

qAnswer(1, 0) = "Which of these classes is not included in java.lang?"
qAnswer(1, 1) = "Array"

qAnswer(2, 0) = "Which of these is a super class of wrappers Double & Integer?"
qAnswer(2, 1) = "Number"

End Sub

Public Sub showQuestion()

'' IF ViewState("score") TURNS 1 THEN SHOW RESULT , INITIALY IT IS 0
If Val(ViewState("score").ToString) = 1 Then
showResult()
End If

If hdnQNo.Value >= 3 Then
ViewState("score") = 1 '' AFTER VISTING ALL QUESTION ViewState("score") BECOMES 1
btnNext.Text = " Display Score " '' BUTTON CAPTION CHANGES
Else
'' BEFORE LOADING QUESTION PRESENT RESPONSE CLEARED
option1.Checked = False
option2.Checked = False
option3.Checked = False

'' QUESTION ARE NOT SAVED IN STATE , THAT IS WHAY WE ARE INITIALIZED AT EACH BUTTON CLICK
setQuestion()

'' SHOW QUESTION DETAILS
LBq1.Text = hdnQNo.Value + 1 & ": " & qList(hdnQNo.Value, 0) '' SHOW QUESTION BY THE SL POSTION FROM THE ARRAY
option1.Text = qList(hdnQNo.Value, 1)
option2.Text = qList(hdnQNo.Value, 2)
option3.Text = qList(hdnQNo.Value, 3)
End If


End Sub
Public Sub saveResp()

Dim ans As String = ""
''RETRIEVE PREV VALUE FROM STATE
userResp = ViewState("userResp")

'' GETS THE ANWSER BY USER
If option1.Checked = True Then
ans = option1.Text
ElseIf option2.Checked = True Then
ans = option2.Text
ElseIf option3.Checked = True Then
ans = option3.Text
End If
'' STORE RESPONSE TO ANSWER ARRAY INDEX
userResp(hdnQNo.Value) = ans

'' SAVED BACK TO STATE FOR FUTURE USE
ViewState("userResp") = userResp

End Sub
Protected Sub btnNext_Click(sender As Object, e As EventArgs) Handles btnNext.Click

'' SAVE THE CURRENT RESPONSE.
saveResp()

'' SL NO INCREMENT AND NEW QUESTION COME
hdnQNo.Value = hdnQNo.Value + 1
showQuestion()
End Sub
Public Sub showResult()

Dim result As Integer = 0


''AGAIN LAODING QUESTION SET
setQuestion()


Dim tab As String = "" '' DISPLAYING DATA IN HTML TABLE FORMAT
userResp = ViewState("userResp")

tab = tab & "<tr> <td colspan=2> Incorrect Response </td> </tr>"
tab = tab & "<tr><td> Question </td> <td> Actual Answer </td></tr>"

''ITERATE THROUGH USER RESPONSE
For i As Integer = 0 To 3
If userResp(i) = qAnswer(i, 1) Then
result = result + 1 '' INCREMENT FOR CORRECT RESPONSE
Else
tab = tab & "<tr><td> " & qAnswer(i, 0) & " </td> <td> " & qAnswer(i, 1) & " </td></tr>"
End If
Next

If result = 3 Then ''' IF SCORE IS 3 THEN ONLY DISPLAY IT
tab = "<table border=1><tr><td> <b> SCORE </b> </td> <td> : <b>" & result & " </b> </td></tr>"
Else '' ELSE DISPLAY SCORE ALONG WITH INCORRECT ANSWER WITH CORRECT ONE
tab = "<table border=1><tr><td> <b> SCORE </b> </td> <td> : <b>" & result & " </b> </td></tr>" & tab
End If

tab = tab & "</table>"

'' LOAD THE COADED TABLE TO DIV , divScore IS DIVISION TAG

divScore.InnerHtml = tab


End Sub
End Class

SCREEN SHOT OF CODE

OUTPUT SCREENSHOT

Add a comment
Know the answer?
Add Answer to:
ASP.Net For this exercise, Create a short online quiz. Make sure the quiz has at least...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT