用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 isArray()函数判断对象类型的种种方法
Oct 11 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
Js实现无刷新删除内容
Apr 29 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
Node.js的环境安装配置(使用nvm方式)
Oct 11 Javascript
javascript 定时器工作原理分析
Dec 03 Javascript
JS中with的替代方法与String中的正则方法详解
Dec 23 Javascript
jQuery事件详解
Feb 23 Javascript
javascript原型链学习记录之继承实现方式分析
May 01 Javascript
重学JS之显示强制类型转换详解
Jun 30 Javascript
p5.js绘制创意自画像
Nov 04 Javascript
Angular CLI发布路径的配置项浅析
Mar 29 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
PHP5 的对象赋值机制介绍
2011/08/02 PHP
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
Angular 如何使用第三方库的方法
2018/04/18 Javascript
JavaScript数组去重算法实例小结
2018/05/07 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
JavaScript定时器使用方法详解
2020/03/26 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
node.js获取参数的常用方法(总结)
2017/05/29 Python
python opencv3实现人脸识别(windows)
2018/05/25 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
python def 定义函数,调用函数方式
2020/06/02 Python
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
孝老爱亲模范事迹
2014/01/24 职场文书
亲属关系公证书
2014/04/08 职场文书
股东授权委托书范本
2014/09/13 职场文书
2014年医务科工作总结
2014/12/18 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript
html5实现点击弹出图片功能
2021/07/16 HTML / CSS