C# | The Will Will Web

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

ASP.NET 2.0 學習心得分享與推薦書單

在推薦書單之前,我想先分享一些學習的經驗,讓有有經驗、有潛力的程式設計師能夠快速上手,但針對缺乏程式設計經驗的人來說,這裡的建議也是有幫助的,只是需要更多時間看書、寫 Code、除錯、除錯、再除錯、然後改 Code、改 Code、再改 Code,改到自己滿意為止。

... 繼續閱讀 ...

整理一些 Regex 的學習資源

我第一次接觸 Regular Expression (正規表示式, 樣式比對) 是 8 年前在學 Perl 程式語言的時候,當初一開始接觸 Regular Expression 時好像看到無字天書一樣,實在是無法「直接看語法」猜到 Regular Expression 的意義,所以只好一個規則一個規則的看,看不懂先跳過,然後一行程式一行程式的練習寫、寫錯就一直改,直到熟能生巧後,日後的子不知道省去我多少時間啊!任何有需要「字串處理」的地方全部都用 Regular Expression 來寫,不管是 Perl, PHP, JavaScript, C# 全部都有支援 Regular Expression,且語法規則都大同小異,所以真的是學一次用一輩子,反正是程式設計師一定要學的技能就是了。

... 繼續閱讀 ...

在 HttpHandler 中使用 Session 的注意事項

在寫 HttpHandler 或 Generic Handler 的時候,如果要使用 Session 物件的話,在 Visual Studio 中你可以很輕易的透過 Intellisense 使用 context. 時取得 Session 物件,但是你會發現這個物件會傳的值永遠都是 null,所以你是無法取得或設定 Session 資料的,如果要在 HttpHandler 中使用 Session 的話,其 HttpHandler 的類別一定要繼承 System.Web.SessionState.IRequiresSessionState 介面(讓 context.Session 可讀可寫)或 System.Web.SessionState.IReadOnlySessionState 介面(讓 context.Session 唯讀),繼承這個介面不需要實做任何方法(Methods),只要單純的將介面繼承上去即可。

... 繼續閱讀 ...

如何解決字集混亂的問題

前天替一個網友解決了一個 Encoding 混亂的問題:ASP.net 傳遞中文至Web Service 亂碼問題,像這種這個問題最常出現在「非 Unicode 的系統」裡,像這個案例就是他們的 Web Service 是用 PHPNuSOAP 開發的,因為預設就是用 ISO-8859-1 的字集做資料的編碼與傳輸,所以資料在同樣的字集傳輸下,在非原生(Non-Native)支援 Unicode 的程式語言下很自然的不會發現問題,但是一到了 .NET 就不一樣了,.NET 是一個打從骨子裡支援 Unicode 的架構,所以對 Encoding 是很敏感的。

... 繼續閱讀 ...

如何顯示固定寬度的 Label, 超過會顯示 ...

我們在套版的時候,常常會遇到那種「文字寬度固定」的版型,我們通常的作法都是用 Substring 將長篇的文字擷取一部份起來顯示,但問題是「中文字的寬度常常無法估計」,但客戶又要求寬度一定要跟設計師設計的一模一樣,文字太多的時候不能超出版面,以免破壞美美的版面。

... 繼續閱讀 ...

Quoted Printable 編碼與解碼

之前曾經有一次到要將郵件主旨(Subject)解碼的經驗,但主旨卻用 Quoted Printable 編碼過了,所以上網找了個 Quoted Printable Encoding & Decoding 的範例程式來看,但下載回來卻不能正常解碼(Decode),經我一翻修改後才可以正常解碼。

... 繼續閱讀 ...