用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 相关文章推荐
javascript 解析url的search方法
Feb 09 Javascript
jquery批量控制form禁用的代码
Aug 06 Javascript
js的隐含参数(arguments,callee,caller)使用方法
Jan 28 Javascript
javascript检查浏览器是否支持flash的实现代码
Aug 14 Javascript
JavaScript中ES6 Babel正确安装过程
Jul 18 Javascript
DropDownList实现可输入可选择(两种版本可选)
Dec 07 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
Feb 18 Javascript
Vue开发中整合axios的文件整理
Apr 29 Javascript
Node.js爬取豆瓣数据实例分析
Mar 05 Javascript
VUEX-action可以修改state吗
Nov 19 Javascript
js回调函数仿360开机
Dec 26 Javascript
vue 微信扫码登录(自定义样式)
Jan 06 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 高级课程笔记 面向对象
2009/06/21 PHP
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
javascript类继承机制的原理分析
2009/09/12 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
解析JavaScript中的标签语句
2013/06/19 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
深入理解Nodejs Global 模块
2017/06/03 NodeJs
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
Python Property属性的2种用法
2015/06/21 Python
教大家使用Python SqlAlchemy
2016/02/12 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
python生成excel的实例代码
2017/11/08 Python
Python装饰器知识点补充
2018/05/28 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
幼儿园中班开学寄语
2014/04/03 职场文书
应届生求职信范文
2014/06/30 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
作弊检讨书范文
2015/05/06 职场文书
用Java实现简单计算器功能
2021/07/21 Java/Android
Golang map映射的用法
2022/04/22 Golang