[ASP.NET] 擷取 Master Page 觸發的事件

很多事情都是必須遇到了才會重視。使用 Master Page 是每個 ASP.NET 程式設計師都必須了解、甚至精通的; 我也一直覺得我對這部份的技術非常精通, 直到我在最近設計的網站遇到某個比較少用到的功能, 才發現有很多事情並沒有原先想像的那麼直覺。什麼事情呢? 就是我原本放置在 Master Page 部份的控制項, 如果我必須在 Content Page 處理它的事件, 應該怎麼做?

...繼續閱讀 »

[入門][ASP.NET] 在 VS2010 中建立 New Web Site 與 New Web Application 的差異

差不多每隔一段時間, 就會看到有人又重覆的詢問這個問題, 或者雖然沒有問到這個問題, 卻不停的懷疑為什麼在某些網站可以做的事情, 在另一個網站上面卻不行。其實這些問題通通必須回歸到一個最基本的問題, 那就是請你恢復一下記憶, 你是用什麼方式建立你的網站的...

...繼續閱讀 »

[ASP.NET] 離開表單時向使用者確認

當我們在網頁上設計了表單, 讓使用者填寫資料, 使用者通常有很大的機率會因為各式各樣的原因而意外地跳出頁面。如果表單很簡單, 或者使用者根本還沒有填寫什麼資料, 那麼使用者就算不小心離開頁面, 也不會有什麼損失。但是如果使用者已經填寫了很多資料 (例如姓名、地址、電話等等), 但是在他按下確認按鈕之前, 卻不小心按到上一頁、下一頁、關閉分頁、關閉視窗等按鈕, 那麼不管他使用何種方式回到這一頁, 他曾經填寫的資料可能都無法救回來。除非你只寫網頁給別人用, 自己從不上網, 否則我相信你一定也遇過這種切身之痛 -- 花了幾十分鐘, 甚至幾個小時打進去的文章, 卻由於一個不小心的動作, 讓自己辛苦的成果在瞬間徹底消失了! 不瞞你說, 我自己遇過太多次此種痛苦的經驗, 導致我曾有一段很長的時間, 即使只是填入自己家裡的住址而已, 我也一定要開啟 Notepad 來打字(而且還要隨時存檔), 打完之後再把文字複製貼回網頁...

...繼續閱讀 »

[WP7] 在開發時期測試 WP7 多語系的方法

我不曉得諸位同好都是怎麼進行 WP7 多語系支援的開發工作的, 但對於沒有實體 WP7 手機的我來講, Emulator 就是我唯一可以用的手機。當我企圖測試我的多語系顯示時, 卻發生了一個窘境 - 不知道怎麼變更語系! 目前在 Emulator 上面唯一可以變更 locale 的地方就是在 Settings > Region and Language 畫面中把 System Locale 更改為 Chinese (Taiwan), 但是這對測試一點幫助都沒有, 使用 System.Globalization.CultureInfo.CurrentCulture 取出來的 CultureInfo 仍然是 en-US...

...繼續閱讀 »

[WP7] Windows Phone 7 適用之 IsolatedStorage 輔助工具

  • 3810
  • 0
  • WP7
  • 2013-08-14

目前 WP7 開發者能夠用來存取 local 端資訊的唯一方法還是只能透過 IsolatedStorage。在 WP7 手機上, 此種 IsolatedStorage 的存放位置並不允許使用者以目錄瀏覽的... 當然, 有人會將資訊儲存在「雲端」, 如此就無需把資料存放在手持裝置裡面。但是我們可能要考慮到一種情況, 就是一旦這個手機並未連上網際網路時 (可能是因為無系統服務或為了省電因素而將連線關閉等等), 所有必須透過網路存取的資料將會完全消失。這時候, 我們又必須重新回頭思考將資訊存放在 local 端的必要性。既然如此, 我們還是非得熟悉 IsolatedStorage 不可...

...繼續閱讀 »

.Net 集合型別的效率探討

我要在這裡說明的所謂「集合型別」指的並不是泛指 System.Collections 命名空間下的各種型別, 而是特別指自從 .Net 3.5 之後才出現的 Sets (集合) 型別, 特別是 System.Collections.Generic.HashSet 與 System.Collections.Generic.SortedSet 這兩個實作 ISet 介面的類別。ISet 介面是專門針對集合作業而設計的, 它提供了幾個特別的方法...

...繼續閱讀 »

Johnny's ButtonGen - 專供網頁設計人員使用的按鈕設計小工具

這個小工具是我使用 C#, Winform 在 Visual Studio 2010 上面開發的, 其主要目的原本是寫來專供自己使用, 但是一不小心把它做得似乎完整了一點, 覺得應該也可以拿來貢獻給其他人來用用, 所以就繼續稍為給它加了一點工, 順手連多國語言也做好了 (雖然目前只有繁體中文和英文而已, 但是框架是 OK 的, 可以擴充)...

...繼續閱讀 »

[入門] .Net 非同步處理與同步機制全解析 (一)

不管你學的是何種程式語言, 非同步及平行處理總是最令人費解的部份之一。如果你沒有過人的邏輯觀念, 那麼要把非同步程式寫好, 恐怕有一定的困難度。不過最難的部份不在技術上, 而是到底在何種場合下可以採用非同步或平行處理。在日常生活中, 我們採用的邏輯大多是循序進行的, 也就是說, 等到前一件事情完成之後, 才去進行下一件。但是在某些情況下, 非同步處理是比較合乎情理的做法...

...繼續閱讀 »

[入門] HTML 表格全解析 2/2

大部份剛入門的網頁設計師, 對於 HTML 表格的認識可能僅止於 <table>、<tr > 和 <td> 而已。稍為進階一點的, 可能知道像 colspan 和 rowspan 等等屬性。但是最近我很驚訝的發現有幾位已經從事網頁設計師蠻長一段時間的人, 其實並不知道(或不記得)有其它表格元素或屬性的存在...

...繼續閱讀 »

[入門] HTML 表格全解析 1/2

在網頁設計的領域中, 我覺得 HTML 表格大概是最受人誤用/誤解的網頁技術了。一方面, 我們時常可以看到在某些網頁上有數都數不盡的、層層套疊的 元素, 另一方面, 也時常聽到有人極力主張禁用 table 元素。這到底是怎麼一回事呢? ...

...繼續閱讀 »

程式內的防呆之道

在品管圈裡有一個很著名的水泥救生衣的笑話, 大意是說, 一個公司即使通過 ISO 或 CMMI 等認證, 也不能保證它不會做出水泥救生衣這種產品出來。非品管圈的人可能無法在一開始就看懂這個笑話; 但是請你再仔細想想看, 救生衣可以是水泥做的嗎? 如果真有這種東西的話, 也是黑幫拿來謀財害命用的, 不是拿來救人的。ISO 或 CMMI 的主要目的, 在於檢驗設計或生產的流程是否完善而且嚴格的被遵循, 它們卻沒有辦法保證設計或生產的東西是不是合理或賣不賣得出去...

...繼續閱讀 »

[Winform] 觀察者樣式之應用

Design Pattern 通常都是由許多人推薦的軟體架構模式, 而且有其固定的規則可循。我們可以把一些素有口碑的設計樣式拿來套用在某種情境之下, 但是我十分反對為套用 Design Pattern 而套用 Design Pattern。應該是反過來, 我們最好事先評估自己的情境適合應用何種 Design Pattern, 再來決定是否套用某種 Design Pattern, 不然就會流於削足適履...

...繼續閱讀 »

[Regex] 值得注意的 Regular Expression 樣式的潛在風險

Regex 本身已經十分複雜, 但不知道大家有沒有想過, 它的解析引擎和處理機制又是如何實作的呢? 一般來講, Regular Expression 的解析引擎可以分為三種, 一種叫做 DFA (Deterministic Finite Automation, 決定性有限自動機制), 另一種叫做 NFA (Nondeterministic Finite Automation, 非決定性有限自動機制), 還有一種叫做 POSIX NFA。.Net 採用了傳統的 NFA 引擎, 使得它既能兼顧速度與功能, 但缺點就是由於傳統 NFA 只接受它找到的第一個相符比對,它也可能讓其它比對無法被找到 (POSIX NFA 雖然可以找到, 但速度緩慢)...

...繼續閱讀 »

[Visual Studio] 清理開發環境遺留的檔案

當我們使用 VS 開發系統時, 開發工具需要保留一些空間以供運作; 就像俗語所說,「吃燒餅沒有不掉芝麻的」。但是如果在某些情況下, 使你懷疑 VS 或 .Net 是否遺留了太多不需要的檔案, 佔據了寶貴的硬碟空間, 那麼你應該如何找到這些暫存的、無用的檔案, 並且把它們清除, 而不會影響到原系統的運作呢...

...繼續閱讀 »

[Winform] 在 Windows Form 中讓背景流動的方法

首先我必須聲明一下, 以下我要介紹的方法雖然並不是百無一用, 而且看起來還算酷炫, 但是我必須承認這可以算是「無用技術」的一項。因為讓背景圖片不斷流動除了無端耗費 CPU 資源之外, 如果設定得不好, 還會讓你的使用者眼花瞭亂, 甚至可能會產生暈車的症狀, 所以小朋友不要亂學, 叔叔有練過才敢這樣做...

...繼續閱讀 »