国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net基于Calendar實現blog日歷功能示例

asp.net基于Calendar實現blog日歷功能示例

2020-05-10 16:32china_skag ASP.NET教程

這篇文章主要介紹了asp.net基于Calendar實現blog日歷功能,涉及asp.net使用Calendar控件操作日期與時間相關運算技巧,需要的朋友可以參考下

本文實例講述了asp.net基于Calendar實現blog日歷功能。分享給大家供大家參考,具體如下:

怎樣用.net的Calendar控件來實現blog中站點日歷的效果呢,我們知道站點日歷最重要的功能就是,顯現在哪天blog主人寫了日志,點擊日期,你將進入所選日期的日志列表,

首先,我們知道.net中的服務器控件是會進行Postback的,Calendar控件中的第一天在點擊時,就會進行一次postback我們要做的就是改變它默認的鏈接,使它不觸發postback事件,其次,就是要知道哪一天有沒有日志。至于有沒有日志,就要去數據庫查詢了。

在Calendar中有一個DayRender事件,該事件在呈現每一天時觸發,我們可以從這里入手,首先定義一個數組變量:

?
1
2
private int[] arrCurrentDays, arrPreDays, arrNextDays; //三個變量分別是當前月,前一月,和下一個月
private int intCurrentMonth, intPreMonth, intNextMonth; //三個整型數組存放相對月份寫有blog的日期

然后在Calendar的DayRender事件中寫下如下代碼:

  1. CalendarDay d = ((DayRenderEventArgs)e).Day; 
  2. TableCell c = ((DayRenderEventArgs)e).Cell; 
  3. // 初始化當前月有Blog的日期數組 
  4. if (intPreMonth == 0) 
  5.   intPreMonth = d.Date.Month; // 注意:日歷控件初始化時我們得到的第一個月并不是當前月,而是前一個月的月份 
  6.   intCurrentMonth = intPreMonth + 1; 
  7.   if (intCurrentMonth > 12) 
  8.     intCurrentMonth = 1; 
  9.   intNextMonth = intCurrentMonth + 1; 
  10.   if (intNextMonth > 12) 
  11.     intNextMonth = 1; 
  12.   arrPreDays = getArrayDay(d.Date.Year, intPreMonth); //得到前一個月有blog的日期數組 
  13.   arrCurrentDays = getArrayDay(d.Date.Year, intCurrentMonth);//得到當月有blog的日期數組 
  14.   arrNextDays = getArrayDay(d.Date.Year, intNextMonth);//得到下個月有blog的日期數組 
  15. int j = 0; 
  16. if (d.Date.Month.Equals(intPreMonth)) 
  17.   while (!arrPreDays[j].Equals(0)) 
  18.   { 
  19.     if (d.Date.Day.Equals(arrPreDays[j])) 
  20.     { 
  21.       c.Controls.Clear(); 
  22.       c.Controls.Add(new LiteralControl("<a href="day.aspx?year=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" mce_href="day.aspx?year=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" " + d.Date.Year + "&month=" + 
  23.       d.Date.Month + "&day=" + d.Date.Day + ">" + d.Date.Day + "</a>")); 
  24.     } 
  25.     j++; 
  26.   } 
  27. else if (d.Date.Month.Equals(intCurrentMonth)) 
  28.   while (!arrCurrentDays[j].Equals(0)) 
  29.   { 
  30.     if (d.Date.Day.Equals(arrCurrentDays[j])) 
  31.     { 
  32.       c.Controls.Clear(); 
  33.       c.Controls.Add(new LiteralControl("<a href="day.aspx?year=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" mce_href="day.aspx?year=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" " + d.Date.Year + "&month=" + 
  34.       d.Date.Month + "&day=" + d.Date.Day + " title=查看"+d.Date.Day+"日日志>" + d.Date.Day + "</a>")); 
  35.     } 
  36.     j++; 
  37.   } 
  38. else if (d.Date.Month.Equals(intNextMonth)) 
  39.   while (!arrNextDays[j].Equals(0)) 
  40.   { 
  41.     if (d.Date.Day.Equals(arrNextDays[j])) 
  42.     { 
  43.       c.Controls.Clear(); 
  44.       c.Controls.Add(new LiteralControl("<a href="day.aspx?year=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" mce_href="day.aspx?year=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" " + d.Date.Year + "&month=" + 
  45.       d.Date.Month + "&day=" + d.Date.Day + ">" + d.Date.Day + "</a>")); 
  46.     } 
  47.     j++; 
  48.   } 

在這里我們注意的是getArrayDay()方法是從數據庫里查詢當月是否有日志的方法,它返回的是一個數組,我寫的內容如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public int[] getArrayDay(int intYear, int intMonth)
{
  int[] intArray = new int[31];
  //從數據庫里選取符合要求的記錄,將日期存入數組
  string strSql = "select data from test where year(data)=" + intYear +
  " and month(data)=" + intMonth;
  //調用DbHelperOleDb自定義類中的ExecuteReader方法,它返回的是一個OleDbDataReader型
  OleDbDataReader dr = dbAccess.DbHelperOleDb.ExecuteReader(strSql);
  int i = 0;
  while (dr.Read())
  {
    if (i == 0)
    {
      intArray[i] = Convert.ToDateTime(dr["data"].ToString()).Day;
      string a=Convert.ToString(intArray[i]);
      i++;
    }
    else if (Convert.ToDateTime(dr["data"].ToString()).Day != intArray[i - 1])
    {
      intArray[i] = Convert.ToDateTime(dr["data"].ToString()).Day;
      i++;
    }
  }
  return intArray;
}

ok ,這樣就行了,我們運行一下就可以看到效果了..

希望本文所述對大家asp.net程序設計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 爱爱免费视频 | 日韩欧美网 | 中文字幕在线观看第一页 | 欧美日韩在线免费观看 | 精品一区二区电影 | 久久99国产精品免费网站 | 在线日韩 | 久久久www成人免费精品 | www亚洲成人| 欧美大片免费观看 | 亚洲伊人成人 | 在线毛片网 | 黄色毛片免费看 | 亚洲一区二区在线 | 国产美女视频自拍 | 不卡一区二区三区视频 | 亚洲精品视频在线 | av片免费| 国产精品毛片无码 | 国产一区在线视频 | 国产欧美精品一区二区色综合 | 久久e久久| 亚洲欧洲精品成人久久奇米网 | 欧美电影免费观看网站 | 中文字幕永久第一页 | 色老头综合网 | 欧美精品偷拍 | av大片| 免费观看在线午夜影视 | 国产福利视频在线观看 | 色偷偷888欧美精品久久久 | av免费影视| 欧美激情一区二区 | 国产激情久久久久久 | 国产xnxx | 欧美午夜一区 | 丁香五月网久久综合 | 91精品国产综合久久久久久漫画 | 日韩中文字幕免费视频 | 国产精品美女久久久久久久久久久 | 91成人短视频在线观看 |