用jquery实现学校的校历(asp.net+jquery ui 1.72)


Posted in Javascript onJanuary 01, 2010

截图:
用jquery实现学校的校历(asp.net+jquery ui 1.72)
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("https://3water.com/Calendar/EventDetail?date=" + dateText); 
return false; 
} 
//初始化日期控件 
$('#datePicker').datepicker(options); 
})
Javascript 相关文章推荐
javascript跑马灯悬停放大效果实现代码
Dec 12 Javascript
封装html的select标签的js操作实例
Jul 02 Javascript
javascript中call和apply方法浅谈
Sep 27 Javascript
javascript实现信息的显示和隐藏如注册页面
Dec 03 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
May 05 Javascript
JavaScript通过字符串调用函数的实现方法
Mar 18 Javascript
jQuery插件MixItUp实现动画过滤和排序
Apr 12 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
Sep 24 Javascript
js判断输入字符串是否为空、空格、null的方法总结
Jun 14 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
Dec 12 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
Aug 17 Javascript
深入理解JS异步编程-Promise
Jun 03 Javascript
url 特殊字符 传递参数解决方法
Jan 01 #Javascript
JavaScript 数组循环引起的思考
Jan 01 #Javascript
javascript eval和JSON之间的联系
Dec 31 #Javascript
js下用gb2312编码解码实现方法
Dec 31 #Javascript
JavaScript 学习笔记(七)字符串的连接
Dec 31 #Javascript
JavaScript 学习笔记(六)
Dec 31 #Javascript
JavaScript 学习笔记(五)
Dec 31 #Javascript
You might like
PHP中for与foreach的区别分析
2011/03/09 PHP
分享10段PHP常用代码
2015/11/11 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
微信小程序日历插件代码实例
2019/12/04 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
JavaScript实现前端倒计时效果
2021/02/09 Javascript
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
Python验证企业工商注册码
2015/10/25 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
新奇的小玩意:IWOOT
2016/07/21 全球购物
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
丝芙兰法国官网:SEPHORA法国
2016/09/01 全球购物
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
科室工作个人总结的自我评价
2013/10/29 职场文书
音乐教学案例
2014/01/30 职场文书
会议邀请书范文
2014/02/02 职场文书
岗位职责怎么写
2014/03/14 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python
Mysql案例刨析事务隔离级别
2021/09/25 MySQL