Member 13141551 Ответов: 2

Я создаю онлайн-систему викторин в ASP.NET после прохождения теста как я могу показать форму результата?


когда вопрос отображается в переключателях в форме викторины, нажмите кнопку Далее, появится следующий вопрос . как я могу проверить переключатель option click и задать правильный вопрос ans, хранящийся в базе данных, и после прохождения теста, как я могу показать результат.

Что я уже пробовал:

 private static int  question_id=0;
 protected void Page_Load(object sender, EventArgs e)
        {
            
            GetData();
           
        }

<pre> private DataTable GetData()
        {
            DataTable dt = new DataTable();
            SqlConnection connection = new SqlConnection("Data Source=.;Initial Catalog=Quiz_system;Integrated Security=True");
            try
            {
                connection.Open();
                SqlCommand sqlCmd = new SqlCommand("Select question,op1,op2,op3,op4 From tbl_question_bank  where course_name='" + Session["coursename"] + "'" , connection);
                SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
                sqlDa.Fill(dt);
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                string msg = "Fetch Error:";
                msg += ex.Message;
                throw new Exception(msg);
            }
            finally
            {
                connection.Close();
            }
            return dt;
        }

<pre> protected void btninsert_Click(object sender, EventArgs e)
        {
            DataTable dt = GetData();
            Session["dt"] = dt;
            if(Session["dt"]!=null && question_id < dt.Rows.Count)
            {
                lblquestion.Text = dt.Rows[question_id]["question"].ToString();// questions.Add(red[0]);
                rdb1.Text = dt.Rows[question_id]["op1"].ToString();// opt1.Add(red[1]);
                rdb2.Text = dt.Rows[question_id]["op2"].ToString();// opt2.Add(red[2]);
                rdb3.Text = dt.Rows[question_id]["op3"].ToString(); //opt3.Add(red[3]);
                rdb4.Text = dt.Rows[question_id]["op4"].ToString(); //opt4.Add(red[4]);
                
            }
          question_id++;
            //else
            //{
            //    Response.Write("quizz end");
            //}
        }

<

[no name]

Вы получаете данные из своей базы данных и на самом деле что-то делаете с ними, а не выбрасываете их после запроса.

2 Ответов

Рейтинг:
2

Abhishek Prakash Dixit

Вы можете отобразить все вопросы и переключатели на одной странице.Сначала, получив список всех вопросов в viewbag,отобразите один за другим вопросы на view. and под каждым вопросом покажите переключатель и дайте идентификатор переключателю ech, который должен увеличиваться автоматически.Вы можете сделать это с помощью цикла for.После этого в методе контроллера используйте formcollection, чтобы получить список выбранных ответов.И сравните два списка и покажите результат


Рейтинг:
2

Nirav Prabtani

Вы должны были сопоставить Question_ID и corrent Answer_ID в своей базе данных в качестве основных данных.

Как только ваше приложение запустится, пользователь проверит один переключатель.
После нажатия на кнопку Далее вы должны сохранить User_ID, Question_ID и Answer_ID и таблицу после окончания работы приложения вы можете рассчитать правильные ответы и неправильные ответы