想找資料嗎?到這看看也許會有收穫喔。
‧wordpress: 佈景主題 / 插件介紹 #
‧網站教學 : css新手必看 / css筆記 / seo
‧電影片單 : 驚悚 / 懸疑 / 靈異 / 動作 / 文藝 / 劇情 / 喜劇 / 紀錄 / 科幻 / 史詩 / 戰爭 / 動畫
2008/12/10

asp.net - Blog的calendar


此為網路行銷課程的一部分,由組員共同撰寫文章,借發文於MUKI space*
為了保護原作者的權益,文章不刪減修改任何一字。
此篇文章發表者:mion

大家都看過blog裡面的calendar,它會自動標出有user post文章的當天日期,那用ASP要怎麼做就在這。

STEP 1
首先必需先宣告全域這幾個變數:

  1. Dim dv As Data.DataView
  2. Dim ads As New AccessDataSource("資料庫連結位置", "")
  3. Dim year, month, day As Integer

STEP 2
再建立一個calendar物件,樣子怎樣隨意,重要的是以下程式碼:

  1. Protected Sub Calendar1_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar1.DayRender
  2.         year = e.Day.Date.Year
  3.         month = e.Day.Date.Month
  4.         day = e.Day.Date.Day
  5.         ads.SelectCommand = "select * from blogMessages where day(cdate(blog_date))=" & day & " and month(cdate(blog_date))=" & month & " and year(cdate(blog_date))=" & year
  6.         dv = ads.Select(New DataSourceSelectArguments)
  7.         If dv.Count <> 0 Then
  8.             e.Cell.BackColor = Drawing.Color.LightPink
  9.         Else
  10.             e.Cell.Controls.Clear()
  11.             e.Cell.Text = e.Day.Date.Day.ToString()
  12.         End If
  13. End Sub

解說:
其中的e As System.Web.UI.WebControls.DayRenderEventArgs,有去查過藍色小鋪的人應該會知道,這是特殊變數,e就是物件本身的代號。

e.day.date.year-e.date.day,就是設定目前正在建立的年月日,我想應該不難理解這語法,因為它跟所有物件的層次是一樣的觀念。

第五行因為設計上是把blog文章建立時間資料存在blogmessages資料表裡的blog_date欄位。所以利用day(cdate(blog_date))就可以抓出日的資料,同理month(cdate(blog_date))可以找出月份,year(cdate(blog_date))可以找出年。

第六行是把符合當日有資料的顯示出來。

第七行,判斷出第六行如果不是空的,就做下面IF的語法。

把符合有資料的當天日期,背景標示成亮粉紅色。
把儲存格清掉。
讓那格式變成正常顯示的日期,再顯示出來。

這樣就能做到一般網路上看到的BLOG的CALENDAR的顯示文章日期的功能;不過要先確認你的資料庫有東西才能確實地做出測試,因為太麻煩了我直接用了範例。

圖:

注意上面紅框的日期,分別是2007/9/5、2007/9/13、2007/9/20、2007/9/27

再看顯示的calendar:

就是5號13號20號27。(因為底色是粉紅色!)

Related Posts with Thumbnails
人氣:1,469    

    comment(1)
  1. 小乖
    #1
    小乖//LV.1
    2009/01/19

    謝謝~您的這篇文章給了我很大的幫助!

    非常地感謝您。

comment(1)



:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: