自訂類別的屬性與欄位如何列舉並提供控制項作為繫結來源?

我在「 陣列詳論」與「Enum詳論」兩篇文章中曾經介紹過如何將陣列以及 Enum 項目當作繫結控制項的資料來源。然而,無論是陣列或是 Enum 項目, 它們都有設定和使用上的巨大限制。其中, Enum 的每個項目都必須是常值, 換句話說, 項目的值無法動能控制。而陣列的值雖然可以動態變更, 但無法提供設計時的 Intellisense 支援...

...繼續閱讀 »

[Resources] 讀寫 Resource

在 ASP.NET 中讀取 Resource 是再容易不過的事情了。我們只需要先加入一個 Resource 檔案(在 ASP.NET 中它會放在 ~/App_GlobalResources 資料夾之下),加入一個字串(例如 String1),然後再很簡單的使用以下程式...

...繼續閱讀 »

[CheckBoxList] 找出 CheckBoxList 中被勾選或取消勾選的那個項目

今天遇到這個問題時,原本還不以為有什麼難,卻沒想到還頗費了一番功夫才終於找出可行的辦法,而且解法看起來不是很 Graceful,有一點點 Hacking 的感覺。基本上我們可以選擇最簡單的做法,那就是使用 For Each li As ListItem In CheckBoxList1.Items 指令去掃描 CheckBoxList1 裡面的所有 CheckBox,看來這也是 ASP.NET 企圖要我們使用的原始方法...

...繼續閱讀 »

[Globalization] 動態指定網頁語系

如果我們想製作一個多語系網站,當然我們可以採用 ASP.NET 2.0 所提供的內建功能,讓客戶能夠藉由在瀏覽器設定中選擇語系的方法自動套用。可是,如果你希望客戶可以直接在網頁上選擇語系而不是從瀏覽器中設定,你又該如何做呢...

...繼續閱讀 »

[Globalization] 在 .aspx 畫面中嵌入多語系文字

如果你希望在畫面中有某一個 Label 控制項,當瀏覽器切換到中文時,讓控制項顯示中文,切換到英文時顯示英文,切換到日文時顯示日文... 這時候你可以有兩種做法。第一種,是從 VS2005 選擇「工具」、「建立本機資源」以產生一個 Local Resource 檔案,你再複製這個 .resx 檔案去產生其它種語言的相關檔案...

...繼續閱讀 »

[GridView] 自訂動作按鈕

偶而我們會需要在 GridView 中進行一些除了 Select、Update、Delete 動作之外的行為;又或許你想要取代原來的 Select、Update 和 Delete 等動作。這時,你可以在 GridView 中自行加入按鈕欄位 (ButtonField)。不過,你應該如何撰寫這個行為的程式呢...

...繼續閱讀 »

[ASP.NET] 將預設的會員資料庫以 SQL Server 取代

我們知道, 從 ASP.NET 2.0 開始,我們可以使用內建而且現成的 Membership、Roles、Profile 等等功能。而且如果你使用 Visual Studio 進行開發時, 你可以利用 ASP.NET 組態工具來建立 app_data 資料夾下的 aspnetdb 資料庫,裡面就是上述功能所使用的資料庫檔案。不過在上述情況中,你必須在本機上安裝有 SQL Express 來作為資料庫引擎。然而,畢竟 SQL Express 只能使用於小網站,其功能無論如何都不能與 SQL Server 相比擬。那麼你要如何將資料庫轉移到 SQL Server 而非 SQL Express 呢...

...繼續閱讀 »

讀寫資源檔範例

我在「多語系網站建置計畫」這一篇文章裡面已經介紹過多語系網站的建置方法。在這裡我要介紹的則是個別資源檔的讀取和修改的方法。為什麼需要去修改資源檔?不是從 VS2005 就可以直接編輯了嗎?是的,但是如果你要讓客戶自己編輯資源檔的內容,怎麼辦?難道你會安裝 VS2005 給客戶使用嗎...

...繼續閱讀 »