Exemplo n.º 1
0
        /// <summary>
        /// 将所需任务等数据提前读入变量并保存到viewstate中,避免在控件中反复用数据库查询,降低repeater控件效率
        /// </summary>
        protected void PreLoadData()
        {
            //获取一年中所有月份的每个月包含的周数量
            weeksOfMonth = tool.GetWeeksOfAllMonth();



            allWorkID = wc.GetAllWorkID();
            int[] existTaskMonths;
            existMonths = new Dictionary <Guid, int[]>();
            existWeeks  = new Dictionary <Guid, Dictionary <int, int> >();
            foreach (Guid wid in allWorkID)
            {
                existTaskMonths = sc.GetExistTaskMonths(wid);
                //判断此项工作是否有月节点计划
                if (existTaskMonths != null)
                {
                    existMonths.Add(wid, sc.GetExistTaskMonths(wid));
                }
                //将某项工作所有周的状态保存至existWeeks中
                existWeeks.Add(wid, sc.GetExistTaskWeeksAndState(wid, true));
            }
            projectCategoryLocationSN = wc.GetProjectCategoryLocationSN();
            //projectCategoryLocationID = wc.GetProjectCategoryLocationID();
            categoryName = wc.GetCategoryName();

            ViewState["weeksOfMonth"] = weeksOfMonth;
            ViewState["allWorkID"]    = allWorkID;
            ViewState["existMonths"]  = existMonths;
            ViewState["existWeeks"]   = existWeeks;
            ViewState["projectCategoryLocationSN"] = projectCategoryLocationSN;
            //ViewState["projectCategoryLocationID"] = projectCategoryLocationID;
            ViewState["categoryName"] = categoryName;
        }