欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

综合教务系统项目

程序员文章站 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>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:Button ID="Button1" runat="server" PostBackUrl="~/Default.aspx" Text="返回" Width="84px" />
&nbsp;<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>
                    &nbsp;
                </EditItemTemplate>
                <FooterTemplate>
                    &nbsp;
                </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">
                        分数为0100
                    </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 />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:Button ID="Button1" runat="server" PostBackUrl="~/Default.aspx" Text="返回" Width="76px" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <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>

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <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>
&nbsp;<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>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <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">
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="确认" />
&nbsp;
                <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="取消" />
                &nbsp;</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="更新" />
            &nbsp;<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 />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <asp:Button ID="Button1" runat="server" Text="确认" CommandName="Insert" />
            &nbsp;&nbsp;
            <asp:Button ID="Button2" runat="server" Text="取消" CommandName="Cancel" PostBackUrl="~/Default.aspx" />
            <br />
            &nbsp;
        </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="更新" />
                    &nbsp;
                    <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 />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <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" />
                &nbsp;<asp:LinkButton ID="LinkButton5" runat="server" PostBackUrl="~/Admin/CourseManage.aspx" CausesValidation="False">课程管理</asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton6" runat="server" PostBackUrl="~/Admin/RoleManage.aspx" CausesValidation="False">角色管理</asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton7" runat="server" PostBackUrl="~/Admin/UserManage.aspx" CausesValidation="False">用户管理</asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton8" runat="server" PostBackUrl="~/Common/ChangePwd.aspx" CausesValidation="False">修改密码</asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton9" runat="server" OnClick="LinkButton9_Click" CausesValidation="False">退出</asp:LinkButton>
                &nbsp;
            </ContentTemplate>
        </asp:RoleGroup>
        <asp:RoleGroup Roles="Student">
            <ContentTemplate>
                欢迎:<asp:LoginName ID="LoginName2" runat="server" />
                &nbsp;<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/Student/SelectCourse.aspx" CausesValidation="False">选课</asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl="~/Student/ScoreQuery.aspx" CausesValidation="False">查询成绩</asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton3" runat="server" PostBackUrl="~/Common/ChangePwd.aspx" CausesValidation="False">修改密码</asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton4" runat="server" OnClick="LinkButton4_Click" CausesValidation="False">退出</asp:LinkButton>
                &nbsp;&nbsp;
            </ContentTemplate>
        </asp:RoleGroup>
        <asp:RoleGroup Roles="Teacher">
            <ContentTemplate>
                欢迎:<asp:LoginName ID="LoginName3" runat="server" />
                &nbsp;<asp:LinkButton ID="LinkButton10" runat="server" PostBackUrl="~/Teacher/SelectCourse.aspx" CausesValidation="False">选课</asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton11" runat="server" PostBackUrl="~/Teacher/Marking.aspx" CausesValidation="False">成绩录入</asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton12" runat="server" PostBackUrl="~/Common/ChangePwd.aspx" CausesValidation="False">修改密码</asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton13" runat="server" CausesValidation="False" OnClick="LinkButton13_Click1">退出</asp:LinkButton>
                &nbsp;&nbsp;
            </ContentTemplate>
        </asp:RoleGroup>
    </RoleGroups>
</asp:LoginView>
&nbsp;

查询语句

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;
    }
}