protected void Page_Load(object sender, EventArgs e)
    {
        //ScriptManager1.RegisterAsyncPostBackControl(this.DropDownList_Grade);
        ScriptManager1.RegisterAsyncPostBackControl(this.DropDownList_Course);
        ScriptManager1.RegisterAsyncPostBackControl(this.DropDownList_semester);
        ScriptManager1.RegisterAsyncPostBackControl(this.DropDownList_year);
        if (!IsPostBack)
        {
            if (!(LoginAndPermissionChecking.LoginChecking()))
            {
                Response.Redirect("/ErrorPage/error_NotLogin.aspx");
            }
            if (!(LoginAndPermissionChecking.PermissionChecking(PermissionEnum.CourseMaster)))
            {
                Response.Redirect("/ErrorPage/error_DeniedPermission.aspx");
            }

            Object o = Session["subjectGroupName"];
            if (o == null)
            {
                Response.Redirect("/login/login.aspx");
            }
            else
            {
                //Label_SubjectGroup.Text = Request.QueryString["subjectGroupName"].ToString();
                Label_SubjectGroup.Text = Session["subjectGroupName"].ToString();
            }
            ProvideDataForSelectSubject();

            //页面刚刚载入的时候查询学科表中所有学科的对应课时数,并放置在一张学科课时表中,以待后面使用
            string                    sql_MappingCourseNoAndCourseTime = "select CourseNo,CourseTime from gcgCourse";
            DBManipulation            dbm = new DBManipulation();
            SqlDataReader             dr  = dbm.ExecuteQueryOnLine(sql_MappingCourseNoAndCourseTime, null);
            Dictionary <string, Byte> dict_CourseNo_CourseTime = new Dictionary <string, Byte>();
            while (dr.Read())
            {
                dict_CourseNo_CourseTime.Add(dr.GetString(0), dr.GetByte(1));
            }
            dr.Close();
            dbm.Close();
            Cache["dict_CourseNo_CourseTime"] = dict_CourseNo_CourseTime;

            //同时计算所有老师的授课课时数,放在一个映射表中,以待后面使用
            string    sql_getTeacherSet = "select TeacherNo from temp_teacher";
            DataSet   ds           = dbm.ExecuteQueryOffLine(sql_getTeacherSet, null);
            DataTable teacherTable = ds.Tables["defaultTable"];
            Dictionary <string, int> dict_TeacherNo_CourseTime = new Dictionary <string, int>();
            foreach (DataRow r in teacherTable.Rows)
            {
                string TeacherNo            = r["TeacherNo"].ToString();
                string sql_countTeacherTime = "select sum(CourseTime) from gcgLectureForm,temp_teacher,gcgCourse " +
                                              "where gcgLectureForm.TeacherNo = temp_teacher.TeacherNo " +
                                              "and gcgLectureForm.CourseNo = gcgCourse.CourseNo " +
                                              "and temp_teacher.TeacherNo = '" + TeacherNo + "'";
                //  DBManipulation dbm = new DBManipulation();
                object obj = dbm.ExecuteScalar(sql_countTeacherTime, null);
                if (obj == null || obj.ToString() == "")
                {//还没有给这个老师安排带班
                    dict_TeacherNo_CourseTime[TeacherNo] = 0;
                }
                else
                {
                    dict_TeacherNo_CourseTime[TeacherNo] = int.Parse(obj.ToString());
                }
            }
            Cache["dict_TeacherNo_CourseTime"] = dict_TeacherNo_CourseTime;
            //保存每一个下拉菜单的索引值,方便下面进行课时计算
            CreateTableBasedOnClass();
            setDataForEachTeacherDropDownList();
            foreach (DropDownList l in DropDownList_select)
            {
                Session[l.ID] = l.SelectedIndex;//使用对象的唯一标识符作为唯一ID保存
            }
        }
        //debug1.Text = Request.QueryString["subjectGroupName"].ToString();
        CreateTableBasedOnClass();
        setDataForEachTeacherDropDownList();
        //  Page.MaintainScrollPositionOnPostBack = true;//刷新后滚动条回到之前的位置,但是会导致页面闪烁
    }