基于B/S的网上考试系统的设计与实现(6)
作者:佚名; 更新时间:2014-12-05
("studentid") = s_datagrid.DataKeys(CInt(E.Item.ItemIndex))

//使用下拉列表控件的SelectedIndexChanged事件,实现下拉列表改变,自动按不同班级查询学生信息

Public Sub class_name_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles class_name.SelectedIndexChanged

        dblstr = Request.Form("class_name")

        ifsub()

End Sub

//根据不同的查询条件生成不同的查询字符串

Sub ifsub()

//使用like '%" & key & "%'实现按关键字查询,以下输入学号关键字为来实现查询

        If skey = "s_no" Then

            comdskey = " where s_no like '%" & key & "%' "

            comdstr = "select * from student " & comdskey

        End If

        Session("str") = comdstr

        adp = New SqlDataAdapter(comdstr, conn)

        ds = New DataSet

        adp.Fill(ds, "student")

        s_datagrid.DataSource = ds.Tables("student").DefaultView

        s_datagrid.DataBind()

End Sub

4.3.1 添加、修改学生信息(addstudentinfo/)

  添加学生信息与修改学生信息共用一个页面,在执行不同操作时,传递不同的参数editstudent,当editstudent为空值时,显示添加学生信息页面,不为空显示为修改学生信息,并根据参数绑定数据库中的对应的学生信息,显示在相应的文本框或下拉列表中。如图4-2所示:

基于B/S的网上考试系统的设计与实现

图4-2 添加、修改学生信息页面

关键代码解释:

//根据不同editstudent参数值显示不同的页面标题,其中editstudent为学生id

<%If editstudent = "" Then%>添加学生信息

<%Else%>修改学生信息<%End If%>

//根据不同editstudent参数值显示不同的按钮文本

<%If editstudent = "" Then%><asp:Button Text=" 添加学生信息" />

<%Else%><asp:Button runat="server" Text="修改学生信息"></asp:Button><%End If%>

//该句的功能是把表单提交的变量editstudent的值赋给一个Session对象studentid。这个对象用来存储学生id,它在用户对每个页面的访问中有效。

editstudent = Session("studentid")

//点击修改学生信息事件,使用Request对象的Form获得页面上表单的内容

        nums = Request.Form("num")

        names = Request.Form("name")

        pwds = Request.Form("pwd")

        grades = Request.Form("grade")

strA = "update student set s_no='" & nums & "',s_name='" & names & "',s_pwd='" & pwds & "',class='" & grades & "' where" width=382>

图4-3 科目管理页面

关键代码解释:

//使用Panel控件的Visible属性,当点击修改时,Panel.Visible = True,

comdstr1 = "select * from subject whereid").ToString

End If

  4.5 试题管理页面(manexampage/)的实现

  该页面以Repeater控件实现了试题的显示,每一题都用一个表格来显示,每一题都有一个操作,放了三个链接,点击添加,则跳转到添加试题页面,点击修改,则跳转到试题修改页面,点击删除,则删除该题。此外该页还进行了分页,可以到上一页,下一页,直接到达首页和尾页,并显示了总页数和当前页码。如图4-4所示:

基于B/S的网上考试系统的设计与实现

图4-4 试题管理页面

关键代码解释:

manadp = New SqlClient.SqlDataAdapter

manadp.SelectCommand = objcomd

mands = New DataSet

//填充DataSet数据集

manadp.Fill(mands, "mana")

//设置分页显示试题的数量

Dim manpd As PagedDataSource = New PagedDataSource

manpd.DataSource = mands.Tables("mana").DefaultView()

manpd.AllowPaging = True

manpd.PageSize = 4

//定义当前页变量CurPage

Dim CurPage As Integer

//设置当前页的页码索引为当前页码减一

manpd.CurrentPageIndex = CurPage - 1

lblCurrentPage2.Text = " <共:" & CurPage.ToString() & "http://www.lunwentianxia.com/" & manpd.PageCount & "页>"

//如果是上一页,跳转到前一页

If Not manpd.IsFirstPage Then

lnkPrev2.NavigateUrl = Request.CurrentExecutionFilePath & "?Page=" & Convert.ToString(CurPage - 1) & "&mana=" &        Server.UrlEncode(Ses

核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com