📄 classmanager.aspx.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 + -