用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 相关文章推荐
求解开jscript.encode代码的asp函数
Feb 28 Javascript
Prototype RegExp对象 学习
Jul 19 Javascript
JavaScript Cookie显示用户上次访问的时间和次数
Dec 08 Javascript
jQuery获取浏览器中的分辨率实现代码
Apr 23 Javascript
JavaScript制作简单的日历效果
Mar 10 Javascript
js获取html的span标签的值方法(超简单)
Jul 26 Javascript
微信小程序之选项卡的实现方法
Sep 29 Javascript
图文讲解vue的v-if使用方法
Feb 11 Javascript
javascript for循环性能测试示例
Aug 07 Javascript
layui table复选框禁止某几条勾选的实例
Sep 20 Javascript
微信小程序wx.request的简单封装
Nov 13 Javascript
一小时迅速入门Mybatis之bind与多数据源支持 Java API
Sep 15 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的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
js表格分页实现代码
2009/09/18 Javascript
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
侧栏跟随滚动的简单实现代码
2013/03/18 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
JS中比较两个Object数组是否相等方法实例
2019/11/11 Javascript
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
使用Django和Python创建Json response的方法
2018/03/26 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
自我推荐书
2013/12/04 职场文书
愚人节活动策划方案
2014/03/11 职场文书
超市店庆活动方案
2014/08/31 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
党支部对转正的意见
2015/06/02 职场文书
唐山大地震的观后感
2015/06/05 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
Mysql文件存储图文详解
2021/06/01 MySQL
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android