用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 22 Javascript
javascript里的条件判断
Feb 27 Javascript
几个高效,简洁的字符处理函数
Apr 12 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
Jul 26 Javascript
jquery 新建的元素事件绑定问题解决方案
Jun 12 Javascript
javascript实现避免页面按钮重复提交
Jan 08 Javascript
jQuery取消特定的click事件
Feb 29 Javascript
JavaScript中的splice方法用法详解
Jul 20 Javascript
angular-ngSanitize模块-$sanitize服务详解
Jun 13 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
Oct 12 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
Apr 26 Javascript
ES6字符串的扩展实例
Dec 21 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中接口与抽象类的区别
2013/06/08 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
详谈PHP编码转换问题
2015/07/28 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
Javascript对象属性方法汇总
2013/11/21 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
浅谈类似于(function(){}).call()的js语句
2015/03/30 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
经济学人订阅:The Economist
2018/07/19 全球购物
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
幼教求职信
2014/03/12 职场文书
捐款倡议书
2014/04/14 职场文书
师范大学生求职信
2014/06/13 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
python实现的web监控系统
2021/04/27 Python
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript
详解pytorch创建tensor函数
2022/03/22 Python