⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classmanager.aspx.cs

📁 guan yu pai ke xi tong de ruan jian
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using Y2T03.CourseScheduler.CourseBLL;
using Y2T03.CourseScheduler.CourseModel;

public partial class ClassManager : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //
        // 判断是否是首次加载
        //
        if (!Page.IsPostBack)
        {
            LoadTreeClassType();  // 获取 TreeView 中的所有节点
        }
    }

    /// <summary>
    /// 向 TreeView 中加入节点
    /// </summary>
    protected void LoadTreeClassType()
    {
        try
        {
            this.trvGetClasses.Nodes.Clear();   // 清空 TreeView 中的所有节点

            IList<ClassType> list = ClassManagerBLL.GetClassTypes();

            foreach (ClassType classType in list)
            {
                TreeNode node = new TreeNode();
                node.Text = classType.Title;  // 设置该节点的显示标题
                node.Value = string.Empty;  // 非课程

                LoadChildNodeClass(classType.TypeCode, node);

                this.trvGetClasses.Nodes.Add(node); // 添加到 TreeView 的节点中
            }

            this.trvGetClasses.ExpandAll(); // 展开所有节点
        }
        catch (Exception ex)
        {
            string err = ex.Message;
        }
    }

    /// <summary>
    /// 向班级类型节点中加入班级节点
    /// </summary>
    /// <param name="typeCode">班级类型</param>
    /// <param name="parentNode">产品类型节点</param>
    protected void LoadChildNodeClass(string typeCode, TreeNode parentNode)
    {
        try
        {
            IList<Class> list = ClassManagerBLL.GetClasses(typeCode);

            foreach (Class classe in list)
            {
                TreeNode node = new TreeNode();
                node.Text = classe.ClassCode;  // 设置该节点的显示标题
                node.Value = classe.ClassCode.ToString();  // 设置该节点的值为班级编码

                parentNode.ChildNodes.Add(node);    // 添加到产品类型节点下
            }
        }
        catch (Exception ex)
        {
            string err = ex.Message;
        }
    }

    protected void dtvClass_ItemInserting(object sender, DetailsViewInsertEventArgs e)
    {
        try
        {
            Class classes = new Class();

            //
            // 找到dtvCourse中的行中控件的值
            //
            TextBox classCode = this.dtvClass.FindControl("txtClassCode") as TextBox;
            DropDownList sectionCode = this.dtvClass.FindControl("ddlSectionCode") as DropDownList;
            RadioButtonList classType = this.dtvClass.FindControl("rblClassType") as RadioButtonList;
            DropDownList product = this.dtvClass.FindControl("ddlProduct") as DropDownList;
            DropDownList classStatus = this.dtvClass.FindControl("ddlClassStatus") as DropDownList;

            classes.ClassCode = classCode.Text.ToUpper().ToString();
            classes.Section.SectionCode = sectionCode.SelectedValue.ToString();
            classes.ClassType.TypeCode = classType.SelectedValue.ToString();
            classes.Product.ProductId = int.Parse(product.SelectedValue.ToString());
            classes.ClassStatus = 0;

            bool flg = ClassManagerBLL.Create(classes);  // 调用自定义的插入方法

            if (flg == true)
            {

                this.LoadTreeClassType();  // 重新加载课程目录树

                PopupMessage("添加成功!!!");  // 弹出 "添加成功" 的消息提示框
            }
            else
            {
                PopupMessage("添加失败,请检查班级是否存在并且班级编码长度至少为5位,并且与学习阶段和班级类型对应!!!");  // 弹出消息提示框
            }
            this.dtvClass.ChangeMode(DetailsViewMode.ReadOnly);
        }
        catch (Exception ex)
        {
            string err = ex.Message;
        }
        finally
        {
            e.Cancel = true;    // 取消插入事件,不执行“插入”按钮绑定的方法
        }
    }

    protected void dtvClass_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
    {
        try
        {
            Class classes = new Class();

            //
            // 找到detailview中的行中控件的值
            //
            Label classCode = this.dtvClass.FindControl("lblClassCode") as Label;
            DropDownList sectionCode = this.dtvClass.FindControl("ddlSectionCode") as DropDownList;
            RadioButtonList classType = this.dtvClass.FindControl("rblClassType") as RadioButtonList;
            DropDownList product = this.dtvClass.FindControl("ddlProduct") as DropDownList;
            Label classStatus = this.dtvClass.FindControl("lblClassStatus") as Label;

            // 转换显示的状态 0 = 正常, 1 = 升学, 2 = 合并, 3 = 结业
            if (classStatus.Text == "正常")
            {
                classStatus.Text = "0";
            }
            else if (classStatus.Text == "升学")
            {
                classStatus.Text = "1";
            }
            else if (classStatus.Text == "合并")
            {
                classStatus.Text = "2";
            }
            else if (classStatus.Text == "结业")
            {
                classStatus.Text = "3";
            }

            classes.ClassCode = classCode.Text.ToString();
            classes.Section.SectionCode = sectionCode.Text.ToString();
            classes.ClassType.TypeCode = classType.SelectedValue.ToString();
            classes.Product.ProductId = int.Parse(product.SelectedValue.ToString());
            classes.ClassStatus = int.Parse(classStatus.Text.ToString());

            bool flg = ClassManagerBLL.Update(classes);  // 调用自定义的更新方法

            if (flg == true)
            {

                this.LoadTreeClassType();  // 重新加载课程目录树

                PopupMessage("修改成功!!!");  // 弹出 "修改成功" 的消息提示框
            }
            else
            {
                PopupMessage("修改失败,请检查班级是否存在并且班级编码长度至少为5位,并且与学习阶段和班级类型对应!!!");   // 弹出消息提示框
            }
            this.dtvClass.ChangeMode(DetailsViewMode.ReadOnly);
        }
        catch (Exception ex)
        {
            string err = ex.Message;
        }
        finally
        {
            e.Cancel = true;    // 取消更新事件,不执行“更新”按钮绑定的方法
        }
    }

    /// <summary>
    /// 弹出操作结果
    /// </summary>
    /// <param name="message">弹出对话框信息内容</param>
    protected void PopupMessage(string message)
    {
        try
        {
            ClientScriptManager csm = this.Page.ClientScript;   // 获取管理客户端脚本的方法
            Type type = this.GetType();     // 获取类型
            string csKey = "PopupMessage";  // 设置消息

            //
            // 判断是否已经注册了启动脚本
            //
            if (!csm.IsStartupScriptRegistered(type, csKey))
            {
                string script = string.Format("alert('{0}');", message);    //格式化输出弹出消息的内容
                csm.RegisterStartupScript(type, csKey, script, true);   //注册启动脚本
            }
        }
        catch (Exception ex)
        {
            string err = ex.Message;
        }
    }

    /// <summary>
    /// 班级升学
    /// </summary>
    protected void lbtnNextTerm_Click(object sender, EventArgs e)
    {
        try
        {
            Label classCode = this.dtvClass.FindControl("lblClassCode") as Label;
            Label sectionCode = this.dtvClass.FindControl("lblClassStatus") as Label;

            if (sectionCode.Text.Trim() == "第二学年")
            {
                PopupMessage("对不起,只有 S1 和 S2 的班级才能升学!!!");
            }
            else
            {
                ClassManagerBLL.UpdateClassNextTerm(classCode.Text.Trim());

                PopupMessage("班级升学成功!!!");

                this.LoadTreeClassType();  // 重新加载课程目录树
            }
        }
        catch (Exception ex)
        {
            string err = ex.Message;
        }
    }

    /// <summary>
    /// 班级合并
    /// </summary>
    protected void lbtnConsolidation_Click(object sender, EventArgs e)
    {
        try
        {
            Label classCode = this.dtvClass.FindControl("lblClassCode") as Label;

            ClassManagerBLL.UpdateClassConsolidation(classCode.Text.Trim());

            PopupMessage("班级合并成功!!!");

            this.LoadTreeClassType();  // 重新加载课程目录树
        }
        catch (Exception ex)
        {
            string err = ex.Message;
        }
    }

    /// <summary>
    /// 班级结业
    /// </summary>
    protected void lbtnFinish_Click(object sender, EventArgs e)
    {
        try
        {
            Label classCode = this.dtvClass.FindControl("lblClassCode") as Label;
            Label sectionCode = this.dtvClass.FindControl("lblSectionCode") as Label;

            if (sectionCode.Text.Trim() == "第二学年")
            {
                ClassManagerBLL.UpdateClassFinish(classCode.Text.Trim());

                PopupMessage("班级结业成功!!!");

                this.LoadTreeClassType();  // 重新加载课程目录树
            }
            else
            {
                PopupMessage("对不起,只有Y2的班级才能结业!!!");
            }
        }
        catch (Exception ex)
        {
            string err = ex.Message;
        }
    }

    protected void dtvClass_ItemCommand(object sender, DetailsViewCommandEventArgs e)
    {
        
    }
    protected void dtvClass_DataBound(object sender, EventArgs e)
    {
        try
        {
            //object classStatus = this.dtvClass.FindControl("lblClassCode").ClientID;
            //PopupMessage(classStatus.ToString());
            //Class classe = new Class();
            //if (classe.ClassStatus == 0)
            //{
            //    classStatus.Text = "正常";
                
            //}
        }
        catch (Exception ex)
        {
            string err = ex.Message;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -