Как рассчитать результат в экзаменационной системе в ASP.NET VB
Мы разрабатываем экзаменационную систему, но наш результат не вычисляется . я не знаю, в чем проблема, но есть ли кто-нибудь, кто может удалить ошибки.
вот мой дизайнерский код:-
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="MainExam.aspx.vb" Inherits="Examination_system1.MainExam" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>Examination System | Exam</title> <link href="../CSS/buttons.css" rel="stylesheet" type="text/css" /> <link href="../CSS/Content.css" rel="stylesheet" type="text/css" /> <link href="../CSS/Exam.css" rel="stylesheet" type="text/css" /> <link href="../CSS/global.css" rel="stylesheet" type="text/css" /> <link href="../font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css" /> <link href="../CSS/Input.css" rel="stylesheet" type="text/css" /> </head> <script type = "text/javascript" language="javascript" > var tim; var min = 10; var sec = 60; var f = new Date(); function f1() { f2(); } function f2() { if (parseInt(sec) > 0) { sec = parseInt(sec) - 1; document.getElementById("Label5").innerHTML = "Time Left : " + min + ": " + sec + " Seconds"; tim = setTimeout("f2()", 1000); } else { if (parseInt(sec) == 0) { min = parseInt(min) - 1; if (parseInt(min) == 0) { sec = 60; document.getElementById("Label5").innerHTML = "Time Left :" + min + " :" + sec + " Seconds"; tim = setTimeout("f2()", 1000); } else { clearTimeout(tim); location.href="/KB/answers/StudentResult.aspx"; } } } } </script> <body onload ="f1()"> <form id="form1" runat="server"> <div> <div class="header"> <div class="logo"> <a href="#"> Examination System</a> </div> </div> </div> <div class="container"> <div class="PaperDetail"> <h2> <asp:Label ID="Label2" runat="server" Text="{Exam Heading}"></asp:Label> </h2> <p style=" margin-right : 10px"> <asp:Label ID="Label3" runat="server" Text="{Set BY }"></asp:Label><br /> <asp:Label ID="Label4" runat="server" Text="Max Minutes"></asp:Label> </p> <p style="float:right;"> <asp:Label ID="Label5" runat="server" Text="{Timer}" Font-Size="15pt" ForeColor="#999966"></asp:Label> </p> </div> </div> <br /> <br /> <div class="questions"> <center> <asp:GridView runat="server" id="grd" AutoGenerateColumns="false" CellPadding="3"> <Columns> <asp:TemplateField HeaderText="Question"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%#Eval("Question_ID") %>'></asp:Label> <asp:Label ID="qstn" runat="server" Text='<%#Eval("Question") %>'></asp:Label><br /> <asp:RadioButton ID="rad1" runat="server" Text='<%#Eval("Choice1") %>' GroupName="A" Checked ="false" /><br /> <asp:RadioButton ID="rad2" runat="server" Text='<%#Eval("Choice2") %>' GroupName="A" Checked ="false" /><br /> <asp:RadioButton ID="rad3" runat="server" Text='<%#Eval("Choice3") %>' GroupName="A" Checked ="false" /><br /> <asp:RadioButton ID="rad4" runat="server" Text='<%#Eval("Choice4") %>' GroupName="A" Checked="false" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </center><br /> <br /> <center><asp:Button ID="Button1" runat="server" Text="Submit" class="btn btn-info" /></center> </div> <div class="footer"> </div> </form> </body> </html> What I have tried: <pre> and here is my code behind: <pre>Imports System.Data.OleDb Imports System.Timers.Timer Imports System.Data Public Class MainExam Inherits System.Web.UI.Page Public Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Client") Is Nothing Then Response.Redirect("~/Login.aspx") End If Dim conn As New OleDb.OleDbConnection Dim cmd As New OleDb.OleDbCommand Dim cmd1 As New OleDb.OleDbCommand conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Project\Examination_system1\Examination_system1\Db\ExamDb.accdb" cmd.CommandText = "select * FROM Exam_Question" cmd.Connection = conn conn.Open() cmd.ExecuteNonQuery() Dim da As New OleDbDataAdapter(cmd) Dim dt As New DataTable() da.Fill(dt) If dt.Rows.Count > 0 Then grd.DataSource = dt grd.DataBind() Else grd.EmptyDataText = "Empty" End If 'cmd1.CommandText = "Select * from Exam_detail" 'cmd1.Connection = conn 'Dim rdr As OleDbDataReader = cmd1.ExecuteReader() 'rdr.Read() 'Label2.Text = "Subject : " & rdr("Exam_Heading").ToString() 'Label3.Text = "Set By : " & rdr("SetBy").ToString() 'Label4.Text = "Max. Minutes : " & rdr("Exam Timing").ToString() & "Minutes" 'conn.Close() End Sub Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click Dim conn As New OleDb.OleDbConnection Dim cmd As New OleDb.OleDbCommand Dim cmd1 As New OleDb.OleDbCommand conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Project\Examination_system1\Examination_system1\Db\ExamDb.accdb" Dim rw As GridViewRow Dim rdAns1, rdAns2, rdAns3, rdAns4 As New RadioButton For Each rw In grd.Rows Dim str As String rdAns1 = CType(rw.FindControl("rad1"), RadioButton) rdAns2 = CType(rw.FindControl("rad2"), RadioButton) rdAns3 = CType(rw.FindControl("rad3"), RadioButton) rdAns4 = CType(rw.FindControl("rad4"), RadioButton) If rdAns1.Checked Then Str = "A" ElseIf rdAns2.Checked Then Str = "B" ElseIf rdAns3.Checked Then Str = "C" ElseIf rdAns4.Checked Then Str = "D" cmd1.CommandText = "Insert into AnswerTable Values(@userid,@QuestionID,@Answer)" cmd1.Parameters.AddWithValue("@userid", Session("Client").ToString()) cmd1.Parameters.AddWithValue("@QuestionID", rw.Cells.Count) cmd1.Parameters.AddWithValue("@Answer", str.ToString()) cmd1.ExecuteNonQuery() MsgBox("Record added") End If Next End Sub End Class