用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 相关文章推荐
从Ajax到JQuery Ajax学习
Feb 14 Javascript
javascript异步编程的4种方法
Feb 19 Javascript
解决jquery版本冲突的有效方法
Sep 02 Javascript
JavaScript判断是否为数组的3种方法及效率比较
Apr 01 Javascript
JavaScript暂停和继续定时器的实现方法
Jul 18 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
Jun 08 Javascript
使用vue-infinite-scroll实现无限滚动效果
Jun 22 Javascript
vue监听对象及对象属性问题
Aug 20 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 jQuery
JavaScript高阶教程之“==”隐藏下的类型转换
Apr 11 Javascript
基于Vue的商品主图放大镜方案详解
Sep 19 Javascript
vue框架制作购物车小球动画效果实例代码
Sep 26 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开发工具之vs2005图解
2008/01/12 PHP
有关 PHP 和 MySQL 时区的一点总结
2008/03/26 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
php生成过去100年下拉列表的方法
2015/07/20 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
js图片预加载示例
2014/04/30 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
通过原生vue添加滚动加载更多功能
2019/11/21 Javascript
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
python正则表达式面试题解答
2020/04/28 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
2019/10/14 Python
Python实现结构体代码实例
2020/02/10 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
浅谈Python中文件夹和python package包的区别
2020/06/01 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
教师专业理论水平的自我评价分享
2013/11/09 职场文书
班长岗位职责
2013/11/10 职场文书
中学教师自我鉴定
2014/02/07 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
财务负责人岗位职责
2015/02/03 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js