脚本实现课表展示
<div id="cnblogs_post_body">功能描述:类似于日程表,列出一周内某个时间段的日程。如:本人9:00到10:00有课,那么在课表中9:00-10:00这个时间段呈现蓝色格子(td),当鼠标移到蓝色格子上方时呈现具体事件。如图:http://pic002.cnblogs.com/images/2012/455151/2012112616130256.jpg
代码实现(MVC3.0):
后台Action:
<div class="cnblogs_code" >http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttp://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gifView Code <div id="cnblogs_code_open_cbcf0779-66b9-4bb8-9295-ff02733c6bea" class="cnblogs_code_hide"> 1 public ActionResult TeacherSchedule() 2 { 3 DateTime dt = DateTime.Now; 4 5 var customer = _workContext.CurrentCustomer; 6 int id = customer.Id; 7 var TeacherId = from t1 in WTDB.WT_Teacher 8 where t1.CustomerID == id 9 select t1.TeacherID;10 if (TeacherId.Count() > 0)11 {12 var UserSchedule = from varSchedule in WTDB.View_Schedule13 where varSchedule.TeacherID== TeacherId.First() && Convert.ToDateTime(varSchedule.StartTime).Date >= DateTime.Now.Date14 select varSchedule;//个人课表信息15 foreach (var TimeList in UserSchedule)16 {17 for (int n = 0; n <= 7; n++)18 {19 if (DateTime.Now.AddDays(n).Date == ((DateTime)TimeList.StartTime).Date)20 {21 for (int i = 0; i <= 23; i++)22 {23 if (((DateTime)TimeList.StartTime).Hour == i)24 {25 Random ra = new Random();26 27 ViewData = n.ToString() + i.ToString();//坐标28 ViewData["start" + n.ToString() + i.ToString()] = Convert.ToDouble(((DateTime)TimeList.StartTime).Minute) / Convert.ToDouble(60);//起始点29 ViewData["end" + n.ToString() + i.ToString()] = Convert.ToDouble(((DateTime)TimeList.StartTime).AddMinutes((double)TimeList.TimeLength).Minute / Convert.ToDouble(60));//结束点30 ViewData["jg" + n.ToString() + i.ToString()] = (int)TimeList.TimeLength / 60;//跨时间31 32 33 34 35 36 }37 38 39 }40 }41 }42 }43 44 45 return View(UserSchedule);46 }47 else48 {49 return View();50 51 }52 }
页:
[1]