用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 相关文章推荐
解析window.open的使用方法总结
Jun 19 Javascript
js中如何把字符串转化为对象、数组示例代码
Jul 17 Javascript
优化javascript的执行效率一些方法总结
Dec 25 Javascript
jquery text()方法取标签中的文本
Jul 25 Javascript
javascript实现时间格式输出FormatDate函数
Jan 13 Javascript
JavaScript Function函数类型介绍
Apr 08 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
Oct 29 Javascript
BootStrap Typeahead自动补全插件实例代码
Aug 10 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
JS数组去重常用方法实例小结【4种方法】
May 28 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
Jul 06 Javascript
微信小程序可滑动周日历组件使用详解
Oct 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
如何做到多笔资料的同步
2006/10/09 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
获取body标签的两种方法
2011/10/13 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
Vue设置长时间未操作登录自动到期返回登录页
2020/01/22 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
Python抓取京东图书评论数据
2014/08/31 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
在python中bool函数的取值方法
2018/11/01 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
python递归下载文件夹下所有文件
2019/08/31 Python
tensorflow的计算图总结
2020/01/12 Python
Django分组聚合查询实例分享
2020/04/29 Python
Python更换pip源方法过程解析
2020/05/19 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
职业技术学校毕业生推荐信
2013/12/03 职场文书
教师实习自我鉴定
2013/12/18 职场文书
车间副主任岗位职责
2013/12/24 职场文书
女娲补天教学反思
2014/02/05 职场文书
2014办公室年度工作总结
2014/12/09 职场文书
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL