惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
N
Netflix TechBlog - Medium
腾讯CDC
C
Check Point Blog
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
S
SegmentFault 最新的问题
F
Fortinet All Blogs
美团技术团队
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
F
Full Disclosure
Recorded Future
Recorded Future
D
DataBreaches.Net
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
J
Java Code Geeks
I
InfoQ
Y
Y Combinator Blog
A
About on SuperTechFans
AI
AI
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Forbes - Security
Forbes - Security
W
WeLiveSecurity
M
MIT News - Artificial intelligence
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
Schneier on Security
Schneier on Security
The GitHub Blog
The GitHub Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
Latest news
Latest news
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Docker
Recent Commits to openclaw:main
Recent Commits to openclaw:main
量子位
V2EX - 技术
V2EX - 技术
Project Zero
Project Zero

博客园 - 骑着夕阳看着猪

asp.net mvc 中hmtl.xxxx是否使用<%=... %> 高版本(vs2008)如何打开低版本解决方案和项目(vs2003、vs2005的项目) 序列化和反序列化 sql 根据父节点查找所有子节点 一步一步学jquery UI 1.72 之datepicker - 骑着夕阳看着猪 显示日期是当前区间第几周? - 骑着夕阳看着猪 - 博客园 c# 日期相减 如何使图片在div里上下居中 - 骑着夕阳看着猪 - 博客园 实现qq邮箱换肤(第二季 ) - 骑着夕阳看着猪 - 博客园 实现qq邮箱换肤(第一季 ) 获取元素和鼠标的位置(兼容IE6.0,IE7.0,IE8.0,FireFox2.0,FireFox3.5,Opera) img src='' 为空引发的问题 - 骑着夕阳看着猪 如何清除html图片缓存 - 骑着夕阳看着猪 - 博客园 关于 wcf揭秘 第四章代码运行错误 - 骑着夕阳看着猪 配置SQL Server2005以允许远程访问 SQL Server2005还原数据库详细 初试ajax基础 实现控件的随意拖动 BindingManagerBase的应用
用jquery实现学校的校历
骑着夕阳看着猪 · 2009-12-29 · via 博客园 - 骑着夕阳看着猪

学校日历有以下几个特点:1显示本周是本学期的第几周;2显示今日事件;3特殊显示有事件的日期,点击该日期显示本日事件。

截图:

controller代码:

代码

        public ActionResult CalendarDisplay() 
        {
            BL.DateEventBL de 
= new BL.DateEventBL();//获取当日日期,使用能被javascript转换成日期的格式
            DateTimeFormatInfo myDTFI = new CultureInfo("en-US"false).DateTimeFormat;
            
string utcTime = DateTime.Now.ToString("MMM dd,yyyy HH:mm:ss", myDTFI);
        
            ViewData[
"currentDay"= utcTime;//获取当月有事件的日期
            List<DateTime> dateHaveEvent = de.GetTimeHaveEvent(DateTime.Now.Year, DateTime.Now.Month);
            List
<String> dates=dateHaveEvent.Select(u=>u.ToString("MMM dd,yyyy HH:mm:ss", myDTFI)).ToList();
            ViewData[
"datesHaveEvent"= dates;//获取当日事件
            List<BL.CDateEvent> deInfos = de.GetDE(DateTime.Now, new Guid("00000000-0000-0000-0000-000000000001"));//获取当前周
            BL.DateSpanBL ds = new BL.DateSpanBL();
            
int currentWeek = ds.GetCurrentWeek(DateTime.Now, new Guid("00000000-0000-0000-0000-000000000002"));
            ViewData[
"currentWeek"= currentWeek;
            
return View(deInfos);
        }

partialview(局部视图):

代码

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<BL.CDateEvent>>" %><%string json = ""; List<String> datesHaveEvent = ViewData["datesHaveEvent"as List<String>%><%
              
if (datesHaveEvent != null && datesHaveEvent.Count > 0)
            {
                json 
= "[";
                
for (int i = 0; i < datesHaveEvent.Count;i++)
                {
                    
if (i == datesHaveEvent.Count - 1)
                    {
                        json 
+= "{\"time\":\"" + datesHaveEvent.ElementAt(i) + "\"}";   // 最后一项
                    }
                    
else
                    {
                        json 
+= "{\"time\":\"" + datesHaveEvent.ElementAt(i) + "\"},";   //
                    }
                   
                }
                json 
+= "]";
            }
%><div id="datePicker"></div><br />

当前是第 

<span style="color:Red; font-size:14px;"><%=ViewData["currentWeek"]%> </span> 周
<br />
<%=DateTime.Now.ToShortDateString() %>
<br /><% 
    foreach(var item in Model)
    {
%><%=Html.Encode(item.Content) %><%
   } 
%>
<br /><div id="otherEvent" style=" width:300px;"></div>

javascript(脚本):

代码


///服务器与客户端当前时间的转换
    var a='<%= ViewData["currentDay"]%>';
    
var b = Date.parse(a);
    
var serviceDate = new Date(b);
    
var clientDate = new Date();var yearOffset = serviceDate.getYear() - clientDate.getYear();var monthOffset = serviceDate.getMonth() - clientDate.getMonth();var dayOffset = serviceDate.getDate() - clientDate.getDate();///获取日期列表
    var jsn = eval('<%=json %>');

    $(

function() {
        
var options = {
            prevText: 
"上一月",   //跳转到上一页的提示文本
            nextText: '下一月',   //跳转到下一页的提示文本

            minDate: 
-30,
            maxDate: 
30,
            hideIfNoPrevNext: 
false,

            defaultDate: 

"+" + yearOffset + "y +" + monthOffset + "m +" + dayOffset + "d",

            beforeShowDay: DisplayDayHaveEvent,  

//显示每个日期之前的操作
            onSelect: select                     // 选择一个日期的回调函数
        };function DisplayDayHaveEvent(date) {for (var i = 0; i < jsn.length; i++) {var cc = Date.parse(jsn[i].time);
                
var time = new Date(cc);if (date.getMonth() == time.getMonth() && date.getDate() == time.getDate()) {
                    
return [true""]
                }
            }
return [false""];
        }
function select(dateText, inst) {
            $(
'#otherEvent').load("http://www.cnblogs.com/Calendar/EventDetail?date=" + dateText);
            
return false;
        }
//初始化日期控件
        $('#datePicker').datepicker(options);

    })