關於投票的程式,本文將會是最後一篇了。
搭配前三篇「投票區文章」,要學會它並不難!
沒看過這三篇的基礎,您(初學者)就不用費心了。
初學者還沒學會"走",就想"飛上天",......那並不容易。
按部就班,慢慢來吧
..............................................................................................................................................................................
本範例與完整說明,已經改寫成書本內的文章,
並集結出書,收錄 在「[新 書上市]ASP.NET專題實務II(下集):範例應用與4.0新功能」
................................................................................................................................................................................
這是我在2001年寫好的作品,那時候還是ASP、JavaScript、HTML表單的時期,
我在2001年3月接手一個ASP網站,然後靠著自己一支一支程式慢慢讀程式碼來自修(因為之前的三個人,同時離職了)
幸好程式不難,我一個月後就開始寫新功能。
大約三個月後,寫出一些自己心裡會偷笑的小程式(但別人未必會覺得這是 "有水準" 的範例)
其中,有一個程式就是「ASP分頁」程式,可以做出前一頁、後一頁、前十頁、後十頁的功能。
而且底下的頁數,會固定以「十頁」作一個區間,不會無限制地延伸下去,以免破壞版面。

截至目前為止,市面上沒有一本ASP的電腦書願意公開這個功能。
但很多網站都有這功能......(表示很多人會寫啊!但不公開?)
坊間的電腦書作者,願意公開的都是下面這種成果:
(頁數一旦太多,整個畫面醜到爆!)

我改寫成 ASP.NET版(採用DataSet)之後,目前放在書本裡面的 14-4節,而且有詳細解說。
但稍有一點小複雜,請見諒。
曾經有人建議我:把分頁寫成一個模組,讓大家直接呼叫引用.......(嗯!有空的話,我再來作啦)
不過 ASP.NET 3.5開始也推出了 DataPager控制項,上述的範例,似乎也沒啥價值了。
=========================================================================================
另外一個程式就是「自動化投票區」。
那時候的網站,每一週要辦一次小投票。
每一週都要動手重寫,實在很煩。 後來我完成了一個很簡單的自動化投票區。流程如下:
第一,先在管理員的後台,自己設定題目。
因為是單選題,所以題目不會太多。

第二、當你按下按鈕之後,這次投票就會寫進DB。
這時候在網站的首頁上, User就會看見本週投票的「題目」與「選項」。
程式會自動到DB裡面,抓取題目、選項名稱,自動組合到首頁上面。 是動態產生,不是寫死的。
而且會自動關閉上一週的舊投票(User無法繼續投票了,於是就關閉囉)

第三、投票完成後,會立刻看見得票數與成果。
根據上一篇文章([習題]ASP.NET的 簡易投票區 #3 -- 程式可以寫(改)得更好 )的建議,
底下的長條圖,採用「得票率%」來作,不會有圖片太長,破壞畫面一事!

====================================================
因為共用同一個資料庫,
所以歷年的投票記錄,隨時都可以打開來看!
第四、有一個「歷年投票回顧區」

全部的程式,只有四支。
所以上圖的歷史回顧區,點選任何一次投票,都會回到上上圖來展現(長條圖)
這個範例需要的基礎如下:
這個程式並不難,只要您能參透本書 18.3節的範例,就能豁然開朗。 請看:
程式的寫法完全一樣(底下有VB / C#兩種版本給您參考)。 參不透的話,就麻煩了。
簡單的說,就是用「字串連接」的方式,來代替控制項的ID。以迴圈來處理之。
搭配前三篇「投票區文章」,要學會它並不難!
沒看過這三篇的基礎,您(初學者)就不用費心了。 初學者還沒學會"走",就想"飛上天",......那並不容易。
按部就班,慢慢來吧
當然,這個小範例是好多年前的作品了。
我不敢保證他 100%完美。
如果有機會的話,[出書計畫] ASP.NET範例集、問題集 (ASP.NET專題實務 /文 魁出版,可能會出版 下集 / 第二集),我會更詳細的解說它。
您就當這篇文章是「廣告文」吧~~
本範例與完整說明,已經改寫成書本內的文章,
並集結出書,收錄 在「[新 書上市]ASP.NET專題實務II(下集):範例應用與4.0新功能」
=======================================================================
但以前資策會當講師時,很奇怪,這個範例沒幾個人聽得懂(兩三梯次以後,我上課就不用這個範例了,對初學者太難!)
幸好DB + 程式,安裝步驟很簡單,學生都能安裝起來使用。 直接裝起來,用得開心也不錯~
我是有點擔心:如果現場上課解說,學生聽懂的機會都不高了。 透過書本與文字,其實更不容易講清楚
這個範例的 Table設計如下圖:
沒什麼難的,一行記錄候選人名稱,一行記錄他的得票率。如此而已。
因為這個投票是單選、又要放在首頁上。不可能有太多選項的,這樣畫面會整個醜掉。

我向來不是小氣的人,程式碼在這邊,
希望對您有幫助:Vote.rar (可下載,內含 VB與 C#程式 。 2009/12/4更新。)
最後還是廣告一下,請各位多多支持這本書。
只有書本有銷路,我才有機會繼續出書。 感恩!
買本書,把基礎好好學起來,才會「有能力」快速吸收網路上的各種討論與免費範例!
這是相輔相成的。
=====================================================================
本範例與完整說明,已經改寫成書本內的文章,
並集結出書,收錄 在「[新 書上市]ASP.NET專題實務II(下集):範例應用與4.0新功能」
=====================================================================
...... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ................................................................................................................
ASP.NET專題實務
(文魁出版,VB版 P8187 / C#版P09027)
下集已經出版囉~~~ASP.NET專題實務II:範例應用與4.0新功能 
.............................................................................................................. 寄信給我 mis2000lab (at) 雅虎.com.台灣 ........