综合教务系统项目
程序员文章站
2022-05-13 20:23:28
...
学生板块
分数查询
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="ScoreQuery.aspx.cs" Inherits="Student_ScoreQuery" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" GridLines="Vertical" DataSourceID="ObjectDataSource1" DataKeyNames="学生ID,课程ID">
<Columns>
<asp:BoundField DataField="学生姓名" HeaderText="学生姓名" SortExpression="学生姓名" />
<asp:BoundField DataField="课程名称" HeaderText="课程名称" SortExpression="课程名称" />
<asp:BoundField DataField="成绩" HeaderText="成绩" SortExpression="成绩" />
<asp:BoundField DataField="教师姓名" HeaderText="教师姓名" SortExpression="教师姓名" />
<asp:BoundField DataField="备注" HeaderText="备注" SortExpression="备注" />
</Columns>
</asp:GridView>
<br />
<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default.aspx" Text="返回" Width="81px" />
<br />
<br />
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OnSelecting="ObjectDataSource1_Selecting" SelectMethod="GetMarkingTableByStudent" TypeName="MarkingBLL">
<SelectParameters>
<asp:Parameter Name="studentID" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Student_ScoreQuery : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
MembershipUser mu = Membership.GetUser();
e.InputParameters["StudentID"] = mu.ProviderUserKey.ToString();
}
}
学生选课
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="SelectCourse.aspx.cs" Inherits="Student_SelectCourse" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" GridLines="Vertical"
DataSourceID="odsStuSelCou" OnRowCommand="GridView1_RowCommand" DataKeyNames="ID"
onselectedindexchanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:BoundField DataField="Name" HeaderText="课程名称" SortExpression="Name" />
<asp:BoundField DataField="Period" HeaderText="学时"
SortExpression="Period" />
<asp:BoundField DataField="Point" HeaderText="学分" SortExpression="Point" />
<asp:BoundField DataField="Info" HeaderText="课程简介" SortExpression="Info" />
<asp:BoundField DataField="TeacherName" HeaderText="任课教师"
SortExpression="TeacherName" />
<asp:TemplateField HeaderText="选择课程" ShowHeader="false">
<ItemTemplate>
<asp:LinkButton ID="lbtnSelect" runat="server" CausesValidation="false" CommandName="CanSelectCourse" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ID") %>' Text="选择"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<asp:ObjectDataSource ID="odsStuSelCou" runat="server" SelectMethod="GetStudentNotSelectCourse" TypeName="CourseBLL" OnSelecting="odsStuSelCou_Selecting">
<SelectParameters>
<asp:Parameter Name="studentID" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<br />
<asp:Label ID="Label1" runat="server" Text="已选课程"></asp:Label>
<br />
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" GridLines="Vertical" DataKeyNames="ID"
DataSourceID="odsStuSelectedCou" OnRowCommand="GridView2_RowCommand" onselectedindexchanged="GridView2_SelectedIndexChanged"
>
<Columns>
<asp:BoundField DataField="Name" HeaderText="课程名称" SortExpression="Name" />
<asp:BoundField DataField="Period" HeaderText="学时"
SortExpression="Period" />
<asp:BoundField DataField="Point" HeaderText="学分" SortExpression="Point" />
<asp:BoundField DataField="Info" HeaderText="课程简介" SortExpression="Info" />
<asp:BoundField DataField="TeacherName" HeaderText="任课教师"
SortExpression="TeacherName" />
<asp:TemplateField HeaderText="取消选择课程" ShowHeader="false">
<ItemTemplate>
<asp:LinkButton ID="lbtnUnSelect" runat="server" CausesValidation="false" CommandName="NoSelecCourse" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ID") %>' Text="取消选择"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default.aspx" Text="返回" Width="84px" />
<asp:ObjectDataSource ID="odsStuSelectedCou" runat="server" SelectMethod="GetStudentSelectCourse" TypeName="CourseBLL" OnSelecting="odsStuSelectedCou_Selecting">
<SelectParameters>
<asp:Parameter Name="studentID" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:Label ID="Label2" runat="server"></asp:Label>
<br />
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Student_SelectCourse : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void odsStuSelCou_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
MembershipUser mu = Membership.GetUser();
e.InputParameters["StudentID"] = mu.ProviderUserKey.ToString();
}
protected void odsStuSelectedCou_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
MembershipUser mu = Membership.GetUser();
e.InputParameters["StudentID"] = mu.ProviderUserKey.ToString();
}
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e) //取消选课
{
if (e.CommandName == "NoSelecCourse")
{
MembershipUser mu = Membership.GetUser();
string studentID = mu.ProviderUserKey.ToString();
int courseID = Convert.ToInt16(e.CommandArgument.ToString());
CourseBLL cbllSelect = new CourseBLL();
int resultValue = cbllSelect.StudentUnselectCourse(studentID,courseID);
if (resultValue == -1)
{
Label1.Text = "取消选课失败,重新操作请";
}
else
{
Label1.Text = "取消选课成功!";
}
GridView1.DataBind();
GridView2.DataBind();
}
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName=="CanSelectCourse")
{
MembershipUser mu = Membership.GetUser();
string studentID = mu.ProviderUserKey.ToString();
int courseID = Convert.ToInt16(e.CommandArgument.ToString());
CourseBLL cbllSelect = new CourseBLL();
int resultValue = cbllSelect.StudentSelectCourse(studentID,courseID);
if (resultValue == -1)
{
Label1.Text = "您已选过此课程,请勿重复选择";
}
else if (resultValue != 1)
{
Label1.Text = "选课失败,请重新选择。";
}
else
{
Label1.Text = "选课成功!";
}
GridView1.DataBind();
GridView2.DataBind();
}
}
protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
教师板块
录入成绩
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="Marking.aspx.cs" Inherits="Teacher_Marking" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="odsCourse" GridLines="Vertical" DataKeyNames="ID" OnRowCommand="gvMarking_RowCommand">
<Columns>
<asp:BoundField DataField="Name" HeaderText="课程名称" SortExpression="Name" />
<asp:BoundField DataField="Period" HeaderText="学时" SortExpression="Period" />
<asp:BoundField DataField="Point" HeaderText="学分" SortExpression="Point" />
<asp:BoundField DataField="Info" HeaderText="课程简介" SortExpression="Info" />
<asp:TemplateField HeaderText="录入此课程成绩">
<ItemTemplate>
<asp:LinkButton ID="btnLuRu" Text="录入" runat="server" CausesValidation="false" CommandName="Marking" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="odsCourse" runat="server" SelectMethod="GetTeacherSelectCourse" TypeName="CourseBLL" OnSelecting="odsCourse_Selecting">
<SelectParameters>
<asp:Parameter Name="teacherID" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<br />
<asp:Label ID="Label1" runat="server" Text="选择此课的学生:"></asp:Label>
<br />
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" ShowFooter="True" DataKeyNames="学生ID,课程ID" DataSourceID="odsSelectedStudent" Width="480px" Height="176px">
<Columns>
<asp:BoundField DataField="学生姓名" HeaderText="学生姓名" SortExpression="学生姓名" />
<asp:TemplateField HeaderText="成绩" SortExpression="成绩">
<EditItemTemplate>
</EditItemTemplate>
<FooterTemplate>
</FooterTemplate>
<ItemTemplate>
<asp:TextBox ID="txtScore" runat="server" Text='<%# Bind("成绩") %>' Width="39px"></asp:TextBox>
<asp:RequiredFieldValidator ID="valrMarking" runat="server" ControlToValidate="txtScore" Display="Dynamic" ErrorMessage="RequiredFieldValidator">
分数必填
</asp:RequiredFieldValidator>
<asp:RangeValidator ID="valgMarking" runat ="server" ControlToValidate="txtScore" Display="Dynamic" ErrorMessage="RangeValidator" MaximumValue="100" MinimumValue="0" Type="Integer">
分数为0至100
</asp:RangeValidator>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="备注" SortExpression="备注">
<ItemTemplate>
<asp:TextBox ID="txtNote" runat="server" Text='<%# Bind("备注") %>' ></asp:TextBox>
</ItemTemplate>
<FooterTemplate><asp:Button ID="btnSave" Text="确认" Width="60px" runat="server" OnClick="btnSave_Click"/></FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default.aspx" Text="返回" Width="76px" />
<asp:ObjectDataSource ID="odsSelectedStudent" runat="server" SelectMethod="GetMarkingTableByCourse" TypeName="MarkingBLL" OnSelecting="odsSelectedStudent_Selecting" OldValuesParameterFormatString="original_{0}">
<SelectParameters>
<asp:SessionParameter Name="courseID" SessionField="courseID" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<br />
<br />
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Teacher_Marking : System.Web.UI.Page
{
private string _courseID;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void odsCourse_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
MembershipUser mu = Membership.GetUser(); //获取用户信息
e.InputParameters["teacherID"] = mu.ProviderUserKey.ToString(); //得到用户ID
}
protected void odsSelectedStudent_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.InputParameters["courseID"] = _courseID;
}
protected void gvMarking_RowCommand(object sender, GridViewCommandEventArgs e) //GridView1
{
if (e.CommandName == "Marking") //选择录入时
{
_courseID = e.CommandArgument.ToString(); //获取选中行的课程ID
//Session["courseID"] = _courseID;
}
GridView1.DataBind();
}
protected void btnSave_Click(object sender, EventArgs e) //确认
{
MarkingBLL mbllMarking = new MarkingBLL();
foreach (GridViewRow item in GridView2.Rows) //遍历每一行
{
//DataKeysName="学生ID,课程ID"
string studentID = GridView2.DataKeys[item.DataItemIndex][0].ToString(); //获取行中学生ID DataItemIndex获取行号
int courseID = Convert.ToInt16(GridView2.DataKeys[item.DataItemIndex][1].ToString()); //获取课程ID
int score = Convert.ToInt16((((TextBox)item.FindControl("txtScore")).Text)); //设置了ID:txtScore
string note = (((TextBox)item.FindControl("txtNote")).Text);
mbllMarking.Marking(studentID,courseID,score,note);
}
GridView2.DataBind();
}
}
教师选课
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="SelectCourse.aspx.cs" Inherits="Teacher_SelectCourse" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:Label ID="Label1" runat="server" Text="可选择的课程:"></asp:Label>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" GridLines="Vertical" DataKeyNames="ID"
DataSourceID="odsCourseCanSelect"
onRowCommand="GridView1_RowCommand"
onselectedindexchanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:BoundField DataField="Name" HeaderText="课程名称" SortExpression="Name" />
<asp:BoundField DataField="Period" HeaderText="学时" SortExpression="Period" />
<asp:BoundField DataField="Point" HeaderText="学分" SortExpression="Point" />
<asp:BoundField DataField="Info" HeaderText="课程简介" SortExpression="Info" />
<asp:TemplateField HeaderText="选择课程" ShowHeader="false">
<ItemTemplate>
<asp:LinkButton ID="lbtnSelect" runat="server" CausesValidation="false" CommandName="SelectCourse" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ID") %>' Text="选择"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Label ID="Label2" runat="server"></asp:Label>
<br />
<asp:ObjectDataSource ID="odsCourseCanSelect" runat="server" SelectMethod="GetCourseCanSelect" TypeName="CourseBLL" >
</asp:ObjectDataSource>
<br />
<asp:Label ID="Label3" runat="server" Text="已选择的课程:"></asp:Label>
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" GridLines="Vertical" DataKeyNames ="ID"
DataSourceID="odsCourseSelected" onRowCommand="GridView2_RowCommand" >
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name"
SortExpression="Name" />
<asp:BoundField DataField="Period" HeaderText="Period"
SortExpression="Period" />
<asp:BoundField DataField="Point" HeaderText="Point" SortExpression="Point" />
<asp:BoundField DataField="Info" HeaderText="Info" SortExpression="Info" />
<asp:TemplateField HeaderText="取消选择课程" ShowHeader="false">
<ItemTemplate>
<asp:LinkButton ID="lbtnUnSelect" runat="server" CausesValidation="false" CommandName="UnSelecCourse" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ID") %>' Text="取消选择"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Label ID="Label4" runat="server"></asp:Label>
<br />
<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default.aspx" Text="返回" Width="71px" />
<br />
<asp:ObjectDataSource ID="odsCourseSelected" runat="server" SelectMethod="GetTeacherSelectCourse" TypeName="CourseBLL" OnSelecting="odsCourseSelected_Selecting">
<SelectParameters>
<asp:Parameter Name="teacherID" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Teacher_SelectCourse : System.Web.UI.Page
{
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "SelectCourse") //点击选择时
{
CourseBLL cbllSelectCourse = new CourseBLL();
MembershipUser mu = Membership.GetUser(); //获取用户信息
string teacherID = mu.ProviderUserKey.ToString(); //获取教师ID(获取标识符)
int courseID = Convert.ToInt16(e.CommandArgument.ToString()); //获取选中行的课程ID(ID)
int resultValue = cbllSelectCourse.TeacherSelectCourse(teacherID, courseID); //调用方法 查课程是否被选 然后选课成功
if (resultValue == -1)
{
Label3.Text = "此课程已选,请刷新后重新选择";
}
else if (resultValue == -2)
{
Label2.Text = "选课失败";
}
else Label2.Text = "选课成功";
}
GridView1.DataBind();
GridView2.DataBind();
}
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "UnSelecCourse") //点击取消选课时
{
CourseBLL cbllSelectCourse = new CourseBLL();
MembershipUser mu = Membership.GetUser();
string teacherID = mu.ProviderUserKey.ToString();
int courseID = Convert.ToInt16(e.CommandArgument.ToString());
int resultValue = cbllSelectCourse.TeacherUnSelectCourse(teacherID, courseID);
if (resultValue != 1)
{
Label4.Text = "出现异常";
}
else
{
Label4.Text = "取消选课成功";
}
GridView1.DataBind();
GridView2.DataBind();
}
}
protected void odsCourseCanSelect_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
//MembershipUser mu = Membership.GetUser(); //获取登录成员信息
//e.InputParameters["teacherID"] = mu.ProviderUserKey.ToString(); //获取ID
}
protected void odsCourseSelected_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
MembershipUser mu = Membership.GetUser();
e.InputParameters["teacherID"] = mu.ProviderUserKey.ToString();
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
管理员板块
##用户管理
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="UserManage.aspx.cs" Inherits="Admin_UserManage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table style="width: 63%;">
<tr>
<td>
用户管理</td>
</tr>
<tr>
<td class="style1" align="center">
<asp:LinkButton ID="LinkButton1" runat="server"
PostBackUrl="~/Admin/CreateUser.aspx">添加用户</asp:LinkButton>
</td>
</tr>
</table>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="修改" ShowHeader="False">
<ItemTemplate>
<asp:button ID="btnEdit" Text="修改" runat="server" CommandName="UserEdit" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"UserName") %>' OnCommand="gvUserListCommand" NavigateUrl="~/Admin/EditUser.aspx"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="删除" ShowHeader="false">
<ItemTemplate>
<asp:Button ID="btnDelete" runat="server" CommandName="UserDel" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"UserName") %>' OnCommand="gvUserListCommand" Text="删除" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="用户名">
<ItemTemplate>
<asp:Label ID="lblUserName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"UserName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="电子邮件">
<ItemTemplate>
<asp:Label ID="lblEmail" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Email") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Admin_UserManage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = Membership.GetAllUsers();
GridView1.DataBind();
}
}
protected void gvUserListCommand(object sender, CommandEventArgs e) //删除 修改
{
if (e.CommandName.Equals("UserEdit")) //修改 跳转到Edit页面
{
Response.Redirect("EditUser.aspx?UserName=" + e.CommandArgument.ToString());
}
if (e.CommandName.Equals("UserDel"))
{
if (Membership.DeleteUser(e.CommandArgument.ToString())) //获取用户名删除此用户
{
GridView1.DataSource = Membership.GetAllUsers();
GridView1.DataBind();
Label1.Text = "删除" + e.CommandArgument.ToString() + "成功";
}
else Label1.Text = "删除" + e.CommandArgument.ToString() + "失败";
}
}
}
角色管理
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="RoleManage.aspx.cs" Inherits="Admin_RoleManage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<p>
添加角色:<asp:TextBox ID="txtRoleName" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click" />
</p>
<p>
<asp:Label ID="Label1" runat="server"></asp:Label>
</p>
<p>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField HeaderText="角色名">
<ItemTemplate>
<asp:Label ID="lblRoleName" runat="server" Text="<%# Container.DataItem.ToString() %> "></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="删除">
<ItemTemplate>
<asp:Button ID="ibtnDeleteRole" Text="删除" runat="server" CommandArgument="<%# Container.DataItem.ToString() %>" CommandName="DeleteRole" OnCommand="DeleteRoleClick" OnClientClick="return confirm('确定删除这个角色吗?')"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</p>
<p>
<asp:Button ID="Button2" runat="server" PostBackUrl="~/Default.aspx" Text="返回" Width="72px" />
</p>
<p>
<asp:Label ID="Label2" runat="server"></asp:Label>
</p>
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Admin_RoleManage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = Roles.GetAllRoles();
GridView1.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e) //添加
{
string newRoleName = txtRoleName.Text;
if (newRoleName != "")
{
if (!Roles.RoleExists(newRoleName)) //检查获取的角色是否存在
{
Roles.CreateRole(newRoleName); //添加角色
GridView1.DataSource = Roles.GetAllRoles();
GridView1.DataBind();
Label1.Text = "添加" + newRoleName + "成功!";
}
else
{
Label1.Text = "角色已存在";
}
}
else Label1.Text = "请输入角色!";
}
protected void DeleteRoleClick(object sender, CommandEventArgs e) //删除角色
{
if (e.CommandName.Equals("DeleteRole"))
{
string roleToDel = e.CommandArgument.ToString(); //获取角色名
int userRole = Roles.GetUsersInRole(roleToDel).Length; //根据角色名获取角色中的成员(的个数)
if (userRole != 0)
{
Label2.Text = "仍有" + userRole + "个用户在" + roleToDel + ",不能删除";
return;
}
else if (Roles.DeleteRole(roleToDel)) //没有用户在角色里则删除
{
GridView1.DataSource = Roles.GetAllRoles();
GridView1.DataBind();
Label2.Text = "删除" + roleToDel + "成功!";
}
else
{
Label2.Text = "删除" + roleToDel + "失败";
}
}
}
}
编辑用户资料
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="EditUser.aspx.cs" Inherits="Admin_EditUser" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table style="width: 45%;">
<tr>
<td class="style1" colspan="2" align="center">
编辑用户资料</td>
</tr>
<tr>
<td class="style2">
用户名:</td>
<td>
<asp:Label ID="LabelName" runat="server" Text="Label"></asp:Label>
</td>
</tr>
<tr>
<td class="style2">
电子邮件:</td>
<td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style2">
选择角色:</td>
<td>
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
</asp:CheckBoxList>
</td>
</tr>
<tr>
<td class="style2" colspan="2">
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
</td>
</tr>
<tr>
<td class="style2" colspan="2">
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="确认" />
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="取消" />
</td>
</tr>
</table>
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Admin_EditUser : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string eUserName = Request.QueryString["UserName"]; //获取登录用户的用户名
if (!IsPostBack)
{
MembershipUser muEdit = Membership.GetUser(eUserName); //根据用户名获取用户信息
LabelName.Text = muEdit.UserName;
TextBox1.Text = muEdit.Email;
CheckBoxList1.DataSource = Roles.GetAllRoles(); //获取所有角色显示在复选框中
CheckBoxList1.DataBind();
foreach (ListItem li in CheckBoxList1.Items)
{
if (Roles.IsUserInRole(muEdit.UserName, li.Text)) //遍历用户和复选框中值匹配的角色
{
li.Selected = true;
}
}
}
}
protected void Button2_Click(object sender, EventArgs e) //取消
{
Response.Redirect("UserManage.aspx");
}
protected void Button1_Click(object sender, EventArgs e) //确认修改
{
try
{
MembershipUser muEdit = Membership.GetUser(LabelName.Text);//根据用户名获得用户信息
muEdit.Email = TextBox1.Text;
Membership.UpdateUser(muEdit); //更新邮箱
Roles.RemoveUserFromRoles(LabelName.Text, Roles.GetRolesForUser(LabelName.Text)); //根据用户名 用户角色 删除此角色 (先要删除角色才能重新设置角色)
foreach (ListItem item in CheckBoxList1.Items) //遍历复选框中值,得到选中项,设置新选的角色。
{
if (item.Selected)
{
Roles.AddUserToRole(LabelName.Text, item.Text);
}
}
Label2.Text = "修改成功!";
}
catch (Exception ex)
{
Label2.Text = "无法更新用户信息,出现如下错误:" + ex.ToString();
}
}
}
创建新用户
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="CreateUser.aspx.cs" Inherits="Admin_CreateUser" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" OnCreatedUser="CreateUserWizard1_CreatedUser1" ContinueDestinationPageUrl="~/Default.aspx">
<WizardSteps>
<asp:CreateUserWizardStep runat="server">
<ContentTemplate>
<table>
<tr>
<td align="center" colspan="2">注册新帐户</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">用户名:</asp:Label>
</td>
<td>
<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" ErrorMessage="必须填写“用户名”。" ToolTip="必须填写“用户名”。" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">密码:</asp:Label>
</td>
<td>
<asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" ErrorMessage="必须填写“密码”。" ToolTip="必须填写“密码”。" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="ConfirmPasswordLabel" runat="server" AssociatedControlID="ConfirmPassword">确认密码:</asp:Label>
</td>
<td>
<asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="ConfirmPasswordRequired" runat="server" ControlToValidate="ConfirmPassword" ErrorMessage="必须填写“确认密码”。" ToolTip="必须填写“确认密码”。" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">电子邮件:</asp:Label>
</td>
<td>
<asp:TextBox ID="Email" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email" ErrorMessage="必须填写“电子邮件”。" ToolTip="必须填写“电子邮件”。" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="QuestionLabel" runat="server" AssociatedControlID="Question">安全提示问题:</asp:Label>
</td>
<td>
<asp:TextBox ID="Question" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="QuestionRequired" runat="server" ControlToValidate="Question" ErrorMessage="必须填写“安全提示问题”。" ToolTip="必须填写“安全提示问题”。" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">安全答案:</asp:Label>
</td>
<td>
<asp:TextBox ID="Answer" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="AnswerRequired" runat="server" ControlToValidate="Answer" ErrorMessage="必须填写“安全答案”。" ToolTip="必须填写“安全答案”。" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="center" style="height:17px" >
<asp:Label ID="RoleLable" runat="server" AssociatedControlID="Answer">选择角色</asp:Label>
</td>
<td style="height:17px"><asp:CheckBoxList ID="cblRoleList" runat="server" BorderStyle="None"></asp:CheckBoxList></td>
</tr>
<tr>
<td align="center" colspan="2">
<asp:CompareValidator ID="PasswordCompare" runat="server" ControlToCompare="Password" ControlToValidate="ConfirmPassword" Display="Dynamic" ErrorMessage="“密码”和“确认密码”必须匹配。" ValidationGroup="CreateUserWizard1"></asp:CompareValidator>
</td>
</tr>
<tr>
<td align="center" colspan="2" style="color:Red;">
<asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal>
</td>
</tr>
</table>
</ContentTemplate>
</asp:CreateUserWizardStep>
<asp:CompleteWizardStep runat="server" />
</WizardSteps>
</asp:CreateUserWizard>
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Admin_CreateUser : System.Web.UI.Page
{
CheckBoxList cblRoleList;
protected void Page_Load(object sender, EventArgs e)
{
cblRoleList = (CheckBoxList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("cblRoleList"); //获取listbox控件
if (!IsPostBack)
{
cblRoleList.DataSource = Roles.GetAllRoles(); //获取角色附给listbox
cblRoleList.DataBind();
}
}
protected void CreateUserWizard1_CreatedUser1(object sender, EventArgs e)
{
foreach (ListItem li in cblRoleList.Items) //获取选中项将用户添加到中角色中
{
if (li.Selected)
{
Roles.AddUserToRole(CreateUserWizard1.UserName.ToString(), li.Text); //根据IDUsername获取用户名 ,获取选中的内容
}
}
}
}
创建课程
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="CreateCourse.aspx.cs" Inherits="Admin_CreateCourse" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:FormView ID="FormView1" runat="server" DataSourceID="odsCreateCourse"
DefaultMode="Insert" OnItemInserted="FormView1_ItemInserted" EnableTheming="True">
<EditItemTemplate>
ID:
<asp:TextBox ID="IDTextBox" runat="server" Text='<%# Bind("ID") %>' />
<br />
Name:
<asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' />
<br />
Period:
<asp:TextBox ID="PeriodTextBox" runat="server" Text='<%# Bind("Period") %>' />
<br />
PeriodID:
<asp:TextBox ID="PeriodIDTextBox" runat="server"
Text='<%# Bind("PeriodID") %>' />
<br />
Point:
<asp:TextBox ID="PointTextBox" runat="server" Text='<%# Bind("Point") %>' />
<br />
PointID:
<asp:TextBox ID="PointIDTextBox" runat="server" Text='<%# Bind("PointID") %>' />
<br />
Info:
<asp:TextBox ID="InfoTextBox" runat="server" Text='<%# Bind("Info") %>' />
<br />
Teacher:
<asp:TextBox ID="TeacherTextBox" runat="server" Text='<%# Bind("Teacher") %>' />
<br />
TeacherName:
<asp:TextBox ID="TeacherNameTextBox" runat="server"
Text='<%# Bind("TeacherName") %>' />
<br />
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True"
CommandName="Update" Text="更新" />
<asp:LinkButton ID="UpdateCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="取消" />
</EditItemTemplate>
<InsertItemTemplate>
<table style="width: 100%; height: 261px;">
<tr>
<td class="style1">
课程名</td>
<td>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">
学时</td>
<td>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="odsPeriod" DataTextField="Description" DataValueField="Code" SelectedValue='<%# Bind("PeriodID") %>'>
</asp:DropDownList>
<asp:ObjectDataSource ID="odsPeriod" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetCodeByCodeType" TypeName="CodeBLL">
<SelectParameters>
<asp:Parameter DefaultValue="学时" Name="codeType" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</td>
</tr>
<tr>
<td class="style1">
学分</td>
<td>
<asp:RadioButtonList ID="RadioButtonList1" runat="server" DataSourceID="odsPoint" DataTextField="Description" DataValueField="Code" SelectedValue='<%# Bind("PointID") %>'>
</asp:RadioButtonList>
<asp:ObjectDataSource ID="odsPoint" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetCodeByCodeType" TypeName="CodeBLL">
<SelectParameters>
<asp:Parameter DefaultValue="学分" Name="codeType" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</td>
</tr>
<tr>
<td class="style1">
课程简介</td>
<td>
<asp:TextBox ID="TextBox2" runat="server" Height="84px" TextMode="MultiLine"
Width="266px"></asp:TextBox>
</td>
</tr>
</table>
<br />
<asp:Button ID="Button1" runat="server" Text="确认" CommandName="Insert" />
<asp:Button ID="Button2" runat="server" Text="取消" CommandName="Cancel" PostBackUrl="~/Default.aspx" />
<br />
</InsertItemTemplate>
<ItemTemplate>
ID:
<asp:Label ID="IDLabel" runat="server" Text='<%# Bind("ID") %>' />
<br />
Name:
<asp:Label ID="NameLabel" runat="server" Text='<%# Bind("Name") %>' />
<br />
Period:
<asp:Label ID="PeriodLabel" runat="server" Text='<%# Bind("Period") %>' />
<br />
PeriodID:
<asp:Label ID="PeriodIDLabel" runat="server" Text='<%# Bind("PeriodID") %>' />
<br />
Point:
<asp:Label ID="PointLabel" runat="server" Text='<%# Bind("Point") %>' />
<br />
PointID:
<asp:Label ID="PointIDLabel" runat="server" Text='<%# Bind("PointID") %>' />
<br />
Info:
<asp:Label ID="InfoLabel" runat="server" Text='<%# Bind("Info") %>' />
<br />
Teacher:
<asp:Label ID="TeacherLabel" runat="server" Text='<%# Bind("Teacher") %>' />
<br />
TeacherName:
<asp:Label ID="TeacherNameLabel" runat="server"
Text='<%# Bind("TeacherName") %>' />
<br />
<asp:LinkButton ID="NewButton" runat="server" CausesValidation="False"
CommandName="New" Text="新建" />
</ItemTemplate>
</asp:FormView>
<asp:Label ID="lblMessage" runat="server" Text="Label"></asp:Label>
<br />
<asp:ObjectDataSource ID="odsCreateCourse" runat="server" InsertMethod="CreateCourse" SelectMethod="GetAllCourses" TypeName="CourseBLL" OldValuesParameterFormatString="original_{0}">
<InsertParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="PeriodID" Type="Int32" />
<asp:Parameter Name="PointID" Type="Int32" />
<asp:Parameter Name="Info" Type="String" />
</InsertParameters>
</asp:ObjectDataSource>
<br />
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Admin_CreateCourse : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) //执行确认(insert)激发
{
if (e.Exception != null)
{
Label lblMessage = (Label)FormView1.FindControl("lblMessage"); //获取窗体中的lable控件
lblMessage.Text = "创建课程失败!原因为:" + e.Exception.Message;
}
else Response.Redirect("CourseManage.aspx");
}
}
课程管理
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="CourseManage.aspx.cs" Inherits="CourseManage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:ObjectDataSource ID="odsCourse" runat="server" DeleteMethod="DeleteCourseByID" SelectMethod="GetAllCourses" TypeName="CourseBLL" UpdateMethod="UpdateCourseByID" >
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
</DeleteParameters>
</asp:ObjectDataSource>
<asp:GridView ID="gvCourse" runat="server" AllowPaging="True" AutoGenerateColumns="False" BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="id" DataSourceID="odsCourse" GridLines="Vertical" ShowFooter="True" Width="517px">
<AlternatingRowStyle BackColor="#DCDCDC" />
<Columns>
<asp:TemplateField HeaderText="编辑" ShowHeader="False">
<EditItemTemplate>
<asp:Button ID="ImageButton1" runat="server" CommandName="Update" Height="28px" Width="77px" Text="更新" />
<asp:Button ID="ImageButton2" runat="server" CommandName="Cancel" Height="28px" Width="77px" Text="取消" />
</EditItemTemplate>
<FooterTemplate>
<asp:Button ID="ibtnAddNew" runat="server" OnClick="ibtnAddNew_Click" Height="34px" Width="80px" PostBackUrl="~/Admin/CourseManage.aspx" Text="新增" />
</FooterTemplate>
<ItemTemplate>
<asp:Button ID="ImageButton3" runat="server" CausesValidation="False" CommandName="Edit" Height="27px" Width="74px" Text="修改" />
<asp:Button ID="ImageButton4" runat="server" CausesValidation="False" CommandName="Delete" Height="27px" Width="72px" Text ="删除" />
</ItemTemplate>
<ItemStyle Wrap="false" />
</asp:TemplateField>
<asp:TemplateField HeaderText="课程名称" SortExpression="Name">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="学分" SortExpression="Point">
<EditItemTemplate>
<asp:ObjectDataSource ID="odsCodePoint" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetCodeByCodeType" TypeName="CodeBLL">
<SelectParameters>
<asp:Parameter DefaultValue="学分" Name="codeType" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:RadioButtonList ID="RadioButtonList1" runat="server" DataSourceID="odsCodePoint" DataTextField="Description" DataValueField="Code" RepeatDirection="Horizontal" RepeatLayout="Flow" SelectedValue='<%# Bind("PointID") %>'>
</asp:RadioButtonList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Point") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="学时" SortExpression="Period">
<EditItemTemplate>
<asp:ObjectDataSource ID="odsCodePeriod" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetCodeByCodeType" TypeName="CodeBLL">
<SelectParameters>
<asp:Parameter DefaultValue="学时" Name="codeType" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:DropDownList ID="dropPeriod" runat="server" DataSourceID="odsCodePeriod" DataTextField="Description" DataValueField="Code" SelectedValue='<%# Bind("PeriodID") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Period") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="课程简介" SortExpression="Info">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Info") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("Info") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<RowStyle BackColor="#EEEEEE" ForeColor="Black" />
<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#0000A9" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#000065" />
</asp:GridView>
<br />
<br />
<asp:Button ID="Button2" runat="server" PostBackUrl="~/Default.aspx" Text="返回" Width="76px" />
<br />
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class CourseManage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
gvCourse.DataBind();
}
}
protected void ibtnAddNew_Click(object sender, EventArgs e) //新增
{
Response.Redirect("CreateCourse.aspx");
}
}
公共板块
修改密码
<%@ Page Title="" Language="C#" MasterPageFile="~/EduManage.master" AutoEventWireup="true" CodeFile="ChangePwd.aspx.cs" Inherits="Common_ChangePwd" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:ChangePassword ID="ChangePassword1" runat="server" ContinueDestinationPageUrl="~/Default.aspx" CancelDestinationPageUrl="~/Default.aspx">
</asp:ChangePassword>
</asp:Content>
角色栏
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Navigate.ascx.cs" Inherits="UserControl_Navigate" %>
<asp:LoginView ID="LoginView1" runat="server">
<AnonymousTemplate>
<asp:Login ID="Login1" runat="server" Height="243px" Width="372px">
</asp:Login>
</AnonymousTemplate>
<RoleGroups>
<asp:RoleGroup Roles="Admin">
<ContentTemplate>
欢迎:<asp:LoginName ID="LoginName1" runat="server" />
<asp:LinkButton ID="LinkButton5" runat="server" PostBackUrl="~/Admin/CourseManage.aspx" CausesValidation="False">课程管理</asp:LinkButton>
<asp:LinkButton ID="LinkButton6" runat="server" PostBackUrl="~/Admin/RoleManage.aspx" CausesValidation="False">角色管理</asp:LinkButton>
<asp:LinkButton ID="LinkButton7" runat="server" PostBackUrl="~/Admin/UserManage.aspx" CausesValidation="False">用户管理</asp:LinkButton>
<asp:LinkButton ID="LinkButton8" runat="server" PostBackUrl="~/Common/ChangePwd.aspx" CausesValidation="False">修改密码</asp:LinkButton>
<asp:LinkButton ID="LinkButton9" runat="server" OnClick="LinkButton9_Click" CausesValidation="False">退出</asp:LinkButton>
</ContentTemplate>
</asp:RoleGroup>
<asp:RoleGroup Roles="Student">
<ContentTemplate>
欢迎:<asp:LoginName ID="LoginName2" runat="server" />
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/Student/SelectCourse.aspx" CausesValidation="False">选课</asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl="~/Student/ScoreQuery.aspx" CausesValidation="False">查询成绩</asp:LinkButton>
<asp:LinkButton ID="LinkButton3" runat="server" PostBackUrl="~/Common/ChangePwd.aspx" CausesValidation="False">修改密码</asp:LinkButton>
<asp:LinkButton ID="LinkButton4" runat="server" OnClick="LinkButton4_Click" CausesValidation="False">退出</asp:LinkButton>
</ContentTemplate>
</asp:RoleGroup>
<asp:RoleGroup Roles="Teacher">
<ContentTemplate>
欢迎:<asp:LoginName ID="LoginName3" runat="server" />
<asp:LinkButton ID="LinkButton10" runat="server" PostBackUrl="~/Teacher/SelectCourse.aspx" CausesValidation="False">选课</asp:LinkButton>
<asp:LinkButton ID="LinkButton11" runat="server" PostBackUrl="~/Teacher/Marking.aspx" CausesValidation="False">成绩录入</asp:LinkButton>
<asp:LinkButton ID="LinkButton12" runat="server" PostBackUrl="~/Common/ChangePwd.aspx" CausesValidation="False">修改密码</asp:LinkButton>
<asp:LinkButton ID="LinkButton13" runat="server" CausesValidation="False" OnClick="LinkButton13_Click1">退出</asp:LinkButton>
</ContentTemplate>
</asp:RoleGroup>
</RoleGroups>
</asp:LoginView>
查询语句
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
/// <summary>
/// CourseDAL 的摘要说明
/// </summary>
public class CourseDAL
{
public CourseDAL()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public int CreateCourse(string Name, int PeriodID, int PointID, string Info)
{
string createSql = "INSERT INTO CourseInfo(课程名称,学时,学分,课程简介) VALUES('" + Name + "','" + PeriodID + "','" + PointID + "','" + Info + "')";
DataAccessLayer dbCourse = new DataAccessLayer();
int resultValue = dbCourse.exeNonQuery(createSql);
if (resultValue == -2)
{
return 0;
}
else
{
return 1;
}
}
public List<Course> GetAllCourses()
{
DataAccessLayer dbCourse = new DataAccessLayer();
List<Course> courses = new List<Course>();
DataSet dsCourse = dbCourse.GetDataSet("SELECT * FROM vw_CourseInfo");
int couID = 0;
string couName = "";
int couPeriodID = 0;
int couPeriod = 0;
int couPointID = 0;
int couPoint = 0;
string couInfo = "";
string couTeacher = "";
string couTeacherName = "";
foreach (DataRow dr in dsCourse.Tables[0].Rows)
{
couID = Convert.ToInt16(dr["id"].ToString());
couName = dr["课程名称"].ToString();
couPeriodID = Convert.ToInt16(dr["学时ID"].ToString());
couPeriod = Convert.ToInt16(dr["学时"].ToString());
couPointID = Convert.ToInt16(dr["学分ID"].ToString());
couPoint = Convert.ToInt16(dr["学分"].ToString());
if (dr["课程简介"] != null)
{
couInfo = dr["课程简介"].ToString();
} //couPeriodID = 0; couPointID = 0; couTeacher = ""; couTeacherName = "";
if (dr["任课教师"] != null)
{
couTeacher = dr["任课教师"].ToString();
couTeacherName = dr["教师姓名"].ToString();
}
courses.Add(new Course(couID, couName, couPeriodID, couPeriod, couPointID, couPoint, couInfo, couTeacher, couTeacherName));
}
return courses;
}
public int UpdateCourseByID(int ID, string Name, int PeriodID, int PointID, string Info)
{
if (Info == null)
{
Info = "";
}
string updateSql = "update CourseInfo set 课程名称='" + Name + "',学时='" + PeriodID + "',学分='" + PointID + "',课程简介='" + Info + "' where id=" + ID;
DataAccessLayer dbCourse = new DataAccessLayer();
int resultValue = dbCourse.exeNonQuery(updateSql);
if (resultValue == -2)
{
return 0;
}
else return 1;
}
public int DeleteCourseByID(int couID)
{
string delSelectSql = "delete from StudentSelectCourse where 课程ID=" + couID;
string delSql = "delete from CourseInfo where id=" + couID;
DataAccessLayer dbCourse = new DataAccessLayer();
dbCourse.exeNonQuery(delSelectSql);
int resultValue = dbCourse.exeNonQuery(delSql);
if (resultValue == -2)
{
return 0;
}
else return 1;
}
public int TeacherSelectCourse(string teacherID, int courseID) //是否有教师任课
{
string isSelectSql = "select 任课教师 from CourseInfo where id=" + courseID;
DataAccessLayer dalIsSelected = new DataAccessLayer();
DataSet dsIsSelected = dalIsSelected.GetDataSet(isSelectSql);
if (dsIsSelected.Tables[0].Rows.Count > 0)
{
if (dsIsSelected.Tables[0].Rows[0]["任课教师"] != DBNull.Value) //已有教师任课
{
return 1;
}
else
{
string setTeacherSql = "update CourseInfo set 任课教师='" + teacherID + "' where id=" + courseID;
return dalIsSelected.exeNonQuery(setTeacherSql);
}
}
else return -2; //找不到课程
}
public int TeacherUnSelectCourse(string teacherID, int courseID)
{
DataAccessLayer dalUnSelectSql = new DataAccessLayer();
string setTeacherSql = "update CourseInfo set 任课教师=NULL where ID=" + courseID + "and 任课教师='" + teacherID + "'";
int resultValue = dalUnSelectSql.exeNonQuery(setTeacherSql);
if (resultValue == -2)
{
return 0;
}
else return 1;
}
public List<Course> GetCourseCanSelect() //老师能选的课
{
DataAccessLayer dbCouarse = new DataAccessLayer();
List<Course> courses = new List<Course>();
DataSet dsCourse = dbCouarse.GetDataSet("SELECT * FROM vw_CourseInfo");
int couID = 0;
string couName = "";
int couPeriodID = 0;
int couPeriod = 0;
int couPointID = 0;
int couPoint = 0;
string couInfo = "";
foreach (DataRow dr in dsCourse.Tables[0].Rows)
{
couID = Convert.ToInt16(dr["id"].ToString());
couName = dr["课程名称"].ToString();
couPeriodID = Convert.ToInt16(dr["学时ID"].ToString());
couPeriod = Convert.ToInt16(dr["学时"].ToString());
couPointID = Convert.ToInt16(dr["学分ID"].ToString());
couPoint = Convert.ToInt16(dr["学分"].ToString());
if (dr["课程简介"] != null)
{
couInfo = dr["课程简介"].ToString();
}
courses.Add(new Course(couID, couName, couPeriodID, couPeriod, couPointID, couPoint, couInfo, "", ""));
}
return courses;
}
public List<Course> GetTeacherSelectCourse(string teacherID) //老师已选的课
{
DataAccessLayer dbCouarse = new DataAccessLayer();
List<Course> courses = new List<Course>();
DataSet dsCourse = dbCouarse.GetDataSet("select * from vw_CourseInfo where 任课教师='" + teacherID + "'");
int couID = 0;
string couName = "";
int couPeriodID = 0;
int couPeriod = 0;
int couPointID = 0;
int couPoint = 0;
string couInfo = "";
string couTeacher = "";
string couTeacherName = "";
foreach (DataRow dr in dsCourse.Tables[0].Rows)
{
couID = Convert.ToInt16(dr["id"].ToString());
couName = dr["课程名称"].ToString();
couPeriodID = Convert.ToInt16(dr["学时ID"].ToString());
couPeriod = Convert.ToInt16(dr["学时"].ToString());
couPointID = Convert.ToInt16(dr["学分ID"].ToString());
couPoint = Convert.ToInt16(dr["学分"].ToString());
couTeacher = dr["任课教师"].ToString();
couTeacherName =dr["教师姓名"].ToString();
if (dr["课程简介"] != null)
{
couInfo = dr["课程简介"].ToString();
}
courses.Add(new Course(couID, couName, couPeriodID, couPeriod, couPointID, couPoint, couInfo, couTeacher, couTeacherName));
}
return courses;
}
public int StudentSelectCourse(string studentID, int courseID)
{
string isSelectSql = "select * from StudentSelectCourse where 学生ID='" + studentID + "'and 课程ID=" + courseID;
DataAccessLayer dalIsSelected = new DataAccessLayer();
DataSet dsIsSelected = dalIsSelected.GetDataSet(isSelectSql);
if (dsIsSelected.Tables[0].Rows.Count > 0) //已选课
{
return -1;
}
else
{
string insertSql = "insert into StudentSelectCourse(学生ID,课程ID) values ('" + studentID + "'," + courseID + ")";
return dalIsSelected.exeNonQuery(insertSql);
}
}
public int StudentUnselectCourse(string studentID, int courseID)
{
string studentUnselect = "delete from StudentSelectCourse where 学生ID='" + studentID + "' and 课程ID='" + courseID + "'";
DataAccessLayer dalUnselect = new DataAccessLayer();
return dalUnselect.exeNonQuery(studentUnselect);
}
public List<Course> GetStudentSelectCourse(string studentID)
{
DataAccessLayer dbCouarse = new DataAccessLayer();
List<Course> courses = new List<Course>();
DataSet dsCourse = dbCouarse.GetDataSet("select * from vw_StudentSelectCourse where 学生ID='" + studentID + "'");
int couID = 0;
string couName = "";
int couPeriodID = 0;
int couPeriod = 0;
int couPointID = 0;
int couPoint = 0;
string couInfo = "";
string couTeacher = "";
string couTeacherName = "";
foreach (DataRow dr in dsCourse.Tables[0].Rows)
{
couID = Convert.ToInt16(dr["课程ID"].ToString());
couName = dr["课程名称"].ToString();
couPeriodID = Convert.ToInt16(dr["学时ID"].ToString());
couPeriod = Convert.ToInt16(dr["学时"].ToString());
couPointID = Convert.ToInt16(dr["学分ID"].ToString());
couPoint = Convert.ToInt16(dr["学分"].ToString());
couTeacher = dr["任课教师"].ToString();
couTeacherName = dr["教师姓名"].ToString();
if (dr["课程简介"] != null)
{
couInfo = dr["课程简介"].ToString();
}
courses.Add(new Course(couID, couName, couPeriodID, couPeriod, couPointID, couPoint, couInfo, couTeacher, couTeacherName));
}
return courses;
}
public List<Course> GetStudentNotSelectCourse(string studentID)
{
DataAccessLayer dbCouarse = new DataAccessLayer();
List<Course> courses = new List<Course>();
DataSet dsCourse = dbCouarse.GetDataSet("select * from vw_CourseInfo where id not in(select 课程ID from StudentSelectCourse where 学生ID='" + studentID + "')");
int couID = 0;
string couName = "";
int couPeriodID = 0;
int couPeriod = 0;
int couPointID = 0;
int couPoint = 0;
string couInfo = "";
string couTeacher = "";
string couTeacherName = "";
foreach (DataRow dr in dsCourse.Tables[0].Rows)
{
couID = Convert.ToInt16(dr["id"].ToString());
couName = dr["课程名称"].ToString();
couPeriodID = Convert.ToInt16(dr["学时ID"].ToString());
couPeriod = Convert.ToInt16(dr["学时"].ToString());
couPointID = Convert.ToInt16(dr["学分ID"].ToString());
couPoint = Convert.ToInt16(dr["学分"].ToString());
couTeacher = dr["任课教师"].ToString();
couTeacherName = dr["教师姓名"].ToString();
if (dr["课程简介"] != null)
{
couInfo = dr["课程简介"].ToString();
}
courses.Add(new Course(couID, couName, couPeriodID, couPeriod, couPointID, couPoint, couInfo, couTeacher, couTeacherName));
}
return courses;
}
public List<Course> GetCourseByName(string couNameKey)
{
DataAccessLayer dbCourse = new DataAccessLayer();
List<Course> courses = new List<Course>();
DataSet dsCourse = dbCourse.GetDataSet("SELECT * FROM vw_CourseInfo WHERE 课程名称 like '%" + couNameKey + "%'");
int couID = 0;
string couName = "";
int couPeriodID = 0;
int couPeriod = 0;
int couPointID = 0;
int couPoint = 0;
string couInfo = "";
string couTeacher = "";
string couTeacherName = "";
foreach (DataRow dr in dsCourse.Tables[0].Rows)
{
couID = Convert.ToInt16(dr["id"].ToString());
couName = dr["课程名称"].ToString();
couPeriodID = Convert.ToInt16(dr["学时ID"].ToString());
couPeriod = Convert.ToInt16(dr["学时"].ToString());
couPointID = Convert.ToInt16(dr["学分ID"].ToString());
couPoint = Convert.ToInt16(dr["学分"].ToString());
if (dr["课程简介"] != null)
{
couInfo = dr["课程简介"].ToString();
}
if (dr["任课教师"] != null)
{
couTeacher = dr["任课教师"].ToString();
couTeacherName = dr["教师姓名"].ToString();
}
courses.Add(new Course(couID, couName, couPeriodID, couPeriod, couPointID, couPoint, couInfo, couTeacher, couTeacherName));
}
return courses;
}
public Course GetCourseByID(int couID)
{
DataAccessLayer dbCourse = new DataAccessLayer();
Course courseInfo = new Course();
DataSet dsCourse = dbCourse.GetDataSet("select * from vw_CourseInfo where id=" + couID);
foreach (DataRow dr in dsCourse.Tables[0].Rows)
{
courseInfo.Name = dr["课程名称"].ToString();
courseInfo.PeriodID = Convert.ToInt16(dr["学时ID"].ToString());
courseInfo.Period = Convert.ToInt16(dr["学时"].ToString());
courseInfo.PointID = Convert.ToInt16(dr["学分ID"].ToString());
courseInfo.Point = Convert.ToInt16(dr["学分"].ToString());
if (dr["课程简介"] != null)
{
courseInfo.Info = dr["课程简介"].ToString();
}
if (dr["任课教师"] != null)
{
courseInfo.Teacher = dr["任课教师"].ToString();
courseInfo.TeacherName = dr["教师姓名"].ToString();
}
}
return courseInfo;
}
}