//使用下拉列表控件的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所示:
图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所示:
图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