用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 相关文章推荐
jQuery EasyUI 开源插件套装 完全替代ExtJS
Mar 24 Javascript
JS预览图像将本地图片显示到浏览器上
Aug 25 Javascript
JavaScript中的console.time()函数详细介绍
Dec 29 Javascript
jQuery实现html元素拖拽
Jul 21 Javascript
js时钟翻牌效果实现代码分享
Jul 31 Javascript
JS实现具备延时功能的滑动门菜单效果
Sep 17 Javascript
vue如何在自定义组件中使用v-model
May 14 Javascript
javascript、php关键字搜索函数的使用方法
May 29 Javascript
优化Vue中date format的性能详解
Jan 13 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
Feb 06 Javascript
关于vue属性使用和不使用冒号的区别说明
Oct 22 Javascript
React 高阶组件HOC用法归纳
Jun 13 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常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
21个JavaScript事件(Events)属性汇总
2014/12/02 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
ES6新增的math,Number方法
2017/08/06 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
d3.js实现自定义多y轴折线图的示例代码
2018/05/30 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
python web框架学习笔记
2016/05/03 Python
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
初一英语教学反思
2014/01/11 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
《长征》教学反思
2014/04/27 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
2016公司年会主持词
2015/07/01 职场文书
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis
ubuntu下常用apt命令介绍
2022/06/05 Servers
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python