用jquery实现学校的校历(asp.net+jquery ui 1.72) - Web前端
作者:98wpeu发布时间:2026-08-02分类:网页前端技术浏览:2
导读:截图:controller代码:代码复制代码代码如下:publicActionResultCalendarDisplay(){BL.dateeventBLde=...
截图:

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("http://www.jb51.net/Calendar/EventDetAIl?date=" + dateText);
return false;
}
//初始化日期控件
$('#datePicker').datepicker(options);
})

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("http://www.jb51.net/Calendar/EventDetAIl?date=" + dateText);
return false;
}
//初始化日期控件
$('#datePicker').datepicker(options);
})
相关推荐
- jQuery中ajax的load()方法用法实例 - Web前端
- jQuery中get()方法用法实例 - Web前端
- jQuery中ajax的post()方法用法实例 - Web前端
- CSS3属性transform详解 - Web前端
- jQuery中height()方法用法实例 - Web前端
- jquery和js实现对div的隐藏和显示方法 - Web前端
- jQuery实现隔行背景色变色 - Web前端
- jQuery中width()方法用法实例 - Web前端
- jquery ui bootstrap 实现自定义风格 - Web前端
- JQuery Tips相关(1)----关于$.Ready() - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3【第六章】Foundation之按钮和下拉功能 - Web前端
- 4jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


