Эти данные помещаются в таблицу объектов DataSet:
DBCommand.Fill(DSPageData, _
"CourseName")
Из названия курса и стандартного текста формируется заголовок страницы:
IblTitle.Text = "<center>Kypc " _
& DSPageData.Tables("CourseName"). _
Rows (0) .Item(."CourseName")
& "</center>"
Далее извлекаются названия всех разделов, относящихся к выбранному курсу:
DBCommand = New OleDbDataAdapter _
("Select CourseSectionID, SectipnName from " _
& "CourseSections Where " _
& "CourselD = " & Session("CburselD") _
, DBConn)
DBCommand.Fill(DSPageData, _
"CourseSections")
Перечень разделов отображается как в первом элементе управления DropDown-List:
ddlSectionsl.DataSource =_
DSPageData.Tables("CourseSections").Defaultview
ddlSectionsl.DataBind()
так и во втором:
ddlSections2.DataSource = _
DSPageData.Tables("CourseSections").Defaultview
ddlSections2.DataBind() .
На следующем этапе извлекаются все результаты тестов, выполненных учащимся на данном курсе. При этом объединяются данные из таблиц CourseSections и QuizResuIts. Обратите внимание на то, что используется подзапрос, позволяющий ограничить возвращаемые записи только теми, которые относятся к текущему курсу:
DBCommand - New OleDbdataAdapter _
("Select SectipnName, as [Ваэдел], Score as [Баллы],
& "TotalQuestions as [Количество вопросов], " _
& "Convert(varchar(12),DateTaken,107) " _
& "as [Дата] From CourseSections " _
& "Inner Join QuizResults On " _
& "QuizResults.CourseSectionID = " _
& "CourseSections.CourseSectionID Where StudentID = " _
& Session("StudentID") & " And " _
& "QuizResults.CourseSectionID In (("_
& "Select CourseSectionID from CourseSections where " _
& "CourselD = " & Session("CourselD")&"))"_
, DBConn)
DBCommand.Fill(DSPageData, _
"QuizResults")
Результат выполнения запроса ставится в соответствие элементу управления DataGrid:
dgQuizResults.DataSource = _
DSPageData.Tables("QuizResults").DefaultView
dgQuizResults.DataBind()
Вторая процедура активизируется в результате щелчка на элементе Button, который связан с первым раскрывающимся списком, где осуществляется выбор разделов для просмотра их содержимого.
Sub SubmitBtnContent_Click(Sender As Object, E As EventArgs)
Session("CourseSectionID") = ddlSectionsl.Selectedltem.Value
Response.Redirect("./course_content.aspx")
End Sub
Идентификатор выбранного раздела сохраняется:
Session("CourseSectionID") = ddlSectionsl.Selectedltem.Value
и учащийся переходит на страницу Материалы курса:
Response.Redirect("./course_content.aspx")
Третья процедура активизируется в результате щелчка на элементе Button, который связан со вторым раскрывающимся списком, где осуществляется выбор теста.
Sub SubmitBtnQuiz_Click(Sender As Object, E As EventArgs)
Session("CourseSectionID") = ddlSections2.Selectedltem.Value
'Response.Redirect("./course_quiz.aspx")
End Sub
В этом случае также сохраняется идентификатор текущего раздела:
Session("CourseSectionlD") = ddlSections2.Selectedltem.Value
Однако на этот раз учащийся переходит на страницу Тест:
Response.Redirect ("./course_quiz.aspx")
|