用jquery實(shí)現(xiàn)學(xué)校的校歷(asp.net+jquery ui 1.72)
更新時間:2010年01月01日 01:37:54 作者:
學(xué)校日歷有以下幾個特點(diǎn):1顯示本周是本學(xué)期的第幾周;2顯示今日事件;3特殊顯示有事件的日期,點(diǎn)擊該日期顯示本日事件。
截圖:

controller代碼:
代碼
public ActionResult CalendarDisplay()
{
BL.DateEventBL de = new BL.DateEventBL();
//獲取當(dāng)日日期,使用能被javascript轉(zhuǎn)換成日期的格式
DateTimeFormatInfo myDTFI = new CultureInfo("en-US", false).DateTimeFormat;
string utcTime = DateTime.Now.ToString("MMM dd,yyyy HH:mm:ss", myDTFI);
ViewData["currentDay"] = utcTime;
//獲取當(dāng)月有事件的日期
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;
//獲取當(dāng)日事件
List<BL.CDateEvent> deInfos = de.GetDE(DateTime.Now, new Guid("00000000-0000-0000-0000-000000000001"));
//獲取當(dāng)前周
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) + "\"}"; // 最后一項(xiàng)
}
else
{
json += "{\"time\":\"" + datesHaveEvent.ElementAt(i) + "\"},"; //
}
}
json += "]";
}
%>
<div id="datePicker"></div>
<br />
當(dāng)前是第 <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(腳本):
代碼
///服務(wù)器與客戶端當(dāng)前時間的轉(zhuǎn)換
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: "上一月", //跳轉(zhuǎn)到上一頁的提示文本
nextText: '下一月', //跳轉(zhuǎn)到下一頁的提示文本
minDate: -30,
maxDate: 30,
hideIfNoPrevNext: false,
defaultDate: "+" + yearOffset + "y +" + monthOffset + "m +" + dayOffset + "d",
beforeShowDay: DisplayDayHaveEvent, //顯示每個日期之前的操作
onSelect: select // 選擇一個日期的回調(diào)函數(shù)
};
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://m.fzitv.net/Calendar/EventDetail?date=" + dateText);
return false;
}
//初始化日期控件
$('#datePicker').datepicker(options);
})
controller代碼:
代碼
復(fù)制代碼 代碼如下:
public ActionResult CalendarDisplay()
{
BL.DateEventBL de = new BL.DateEventBL();
//獲取當(dāng)日日期,使用能被javascript轉(zhuǎn)換成日期的格式
DateTimeFormatInfo myDTFI = new CultureInfo("en-US", false).DateTimeFormat;
string utcTime = DateTime.Now.ToString("MMM dd,yyyy HH:mm:ss", myDTFI);
ViewData["currentDay"] = utcTime;
//獲取當(dāng)月有事件的日期
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;
//獲取當(dāng)日事件
List<BL.CDateEvent> deInfos = de.GetDE(DateTime.Now, new Guid("00000000-0000-0000-0000-000000000001"));
//獲取當(dāng)前周
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(局部視圖):
代碼
復(fù)制代碼 代碼如下:
<%@ 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) + "\"}"; // 最后一項(xiàng)
}
else
{
json += "{\"time\":\"" + datesHaveEvent.ElementAt(i) + "\"},"; //
}
}
json += "]";
}
%>
<div id="datePicker"></div>
<br />
當(dāng)前是第 <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(腳本):
代碼
復(fù)制代碼 代碼如下:
///服務(wù)器與客戶端當(dāng)前時間的轉(zhuǎn)換
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: "上一月", //跳轉(zhuǎn)到上一頁的提示文本
nextText: '下一月', //跳轉(zhuǎn)到下一頁的提示文本
minDate: -30,
maxDate: 30,
hideIfNoPrevNext: false,
defaultDate: "+" + yearOffset + "y +" + monthOffset + "m +" + dayOffset + "d",
beforeShowDay: DisplayDayHaveEvent, //顯示每個日期之前的操作
onSelect: select // 選擇一個日期的回調(diào)函數(shù)
};
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://m.fzitv.net/Calendar/EventDetail?date=" + dateText);
return false;
}
//初始化日期控件
$('#datePicker').datepicker(options);
})
相關(guān)文章
jQuery EasyUI datagrid實(shí)現(xiàn)本地分頁的方法
這篇文章主要介紹了jQuery EasyUI datagrid實(shí)現(xiàn)本地分頁的方法,以實(shí)例形式較為詳細(xì)的分析了本地分頁的原理與相關(guān)的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-02-02
jQuery插件Tooltipster實(shí)現(xiàn)漂亮的工具提示
Tooltipster是一個jQuery插件用于快速創(chuàng)建HTML5校驗(yàn)并且靈活的Tooltips。它可以通過CSS來改變外觀,箭頭的位置之后,鼠標(biāo),延遲/期間的外觀都可以被定義。2015-04-04
jquery實(shí)現(xiàn)滑動圖片自己測試的例子
最近使用jquery寫了一個圖片滑動的插件,雖然還是有些問題存在,用法很簡單,希望對大家有所幫助2013-11-11
javascript jQuery $.post $.ajax用法
這是一個簡單的 POST 請求功能以取代復(fù)雜 $.ajax 。請求成功時可調(diào)用回調(diào)函數(shù)。如果需要在出錯時執(zhí)行函數(shù),請使用 $.ajax。2008-07-07
Jquery練習(xí)之表單驗(yàn)證實(shí)現(xiàn)代碼
Jquery練習(xí)之表單驗(yàn)證實(shí)現(xiàn)代碼,學(xué)習(xí)jquery的朋友可以參考下。2010-12-12
jquery通過a標(biāo)簽刪除table中的一行的代碼
刪除table中的一行的方法有很多,在本文為大家介紹下jquery是如何做到的,下面有個不錯的示例,喜歡的朋友可以參考下2013-12-12
jquery實(shí)現(xiàn)跳到底部,回到頂部效果的簡單實(shí)例(類似錨)
下面小編就為大家?guī)硪黄猨query實(shí)現(xiàn)跳到底部,回到頂部效果的簡單實(shí)例(類似錨)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07
jQuery插件FusionCharts實(shí)現(xiàn)的2D柱狀圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件FusionCharts實(shí)現(xiàn)的2D柱狀圖效果,結(jié)合完整實(shí)例形式分析了FusionCharts插件繪制2D柱狀圖的實(shí)現(xiàn)步驟與相關(guān)屬性設(shè)置技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03

