来写个人课表页面!就是展示一个人已经选了的课程并且可以在本页面退课。
一、 页面设计
- 跟前几个页面一样,上下左设定为默认,右侧作为展示区;
- 添加SqlDataSource,便于查找数据库内容;
- 我们希望展示在表格中,在表格中展示。加入GridView,配置数据源为前面引入的SqlDataSource1,列设置如下:前几列是需要展示的属性,最后一个TemplateField是用于放置选课按钮的:
<asp:TemplateField> <ItemTemplate> <asp:LinkButton runat ="server" CommandArgument='<%#Eval("lesson_ID")%>' CommandName="Delete" Text="退课"> </asp:LinkButton> </ItemTemplate> </asp:TemplateField>
- 最终效果如下:
二、 添加退课功能
为了实现退课功能,我们需要获取当前用户的ID和所要退课的课程ID,然后进行数据库删除操作。
- 获取当前用户的ID。由于我们需要在右上角展示一下欢迎标(如图),所以对我们而言比较方便的是之前已经设置了ID的session,此处我们可以直接使用;
- lessonID的获取通过CommandArgument进行获取,如下:
string lessonID = e.CommandArgument.ToString(); string studentID = Session["ID"].ToString();
- 好咯,数据到手,可以开始写函数啦
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { // 如果指令是“Delete” if (e.CommandName == "Delete") { string lessonID = e.CommandArgument.ToString(); string studentID = Session["ID"].ToString(); // 进行数据库操作 using (SqlConnection conn = new SqlConnection(connStr)) { // 建立连接 conn.Open(); string deleteQuery = "DELETE FROM take_course WHERE lesson_ID = @lessonID AND ID = @studentID"; // 建立操作对象,获取sql语句中用到的变量,执行语句 using (SqlCommand cmd = new SqlCommand(deleteQuery, conn)) { cmd.Parameters.AddWithValue("@lessonID", lessonID); cmd.Parameters.AddWithValue("@studentID", studentID); cmd.ExecuteNonQuery(); } conn.Close(); // 刷新GridView GridView1.DataBind(); // 显示删除成功的消息 Response.Write("<script>alert('退课成功!');</script>"); } } }
完结撒花!!✿✿ヽ(°▽°)ノ✿
教务信息系统的页面暂时完成到这里,继续加油!