用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 相关文章推荐
js实现获取焦点后光标在字符串后
Sep 17 Javascript
jQuery中add()方法用法实例
Jan 08 Javascript
JavaScript程序中的流程控制语句用法总结
May 23 Javascript
浅谈JS的基础类型与引用类型
Sep 13 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
Dec 08 Javascript
axios基本入门用法教程
Mar 25 Javascript
详解webpack之scss和postcss-loader的配置
Jan 09 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
Mar 19 Javascript
NUXT SSR初级入门笔记(小结)
Dec 16 Javascript
解决vue项目router切换太慢问题
Jul 19 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
Jul 20 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
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
一个查看session内容的函数
2006/10/09 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
基于simple_html_dom的使用小结
2013/07/01 PHP
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
jquery.pagination.js 无刷新分页实现步骤分享
2012/05/23 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
JavaScript日期时间与时间戳的转换函数分享
2015/01/31 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
移动端界面的适配
2017/01/11 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
Python入门篇之文件
2014/10/20 Python
python多线程操作实例
2014/11/21 Python
python 文件操作api(文件操作函数)
2016/08/28 Python
浅谈python脚本设置运行参数的方法
2018/12/03 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
EJB的角色和三个对象
2015/12/31 面试题
汽车销售顾问求职自荐信
2014/01/01 职场文书
餐饮业创业计划书范文
2014/01/06 职场文书
倡议书格式模板
2014/05/13 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
2015年幼儿园大班工作总结
2015/04/25 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
Matlab如何实现矩阵复制扩充
2021/06/02 Python
python中 .npy文件的读写操作实例
2022/04/14 Python