The Will Will Web

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

ASP.NET 2.0 的 MasterPage 可設定預設內容

我們都知道可以在 MasterPage 中可以設定 ContentPlaceHolder,但通常我們設定在 ContentPlaceHolder 這的標籤裡面都不會放任何資料,不過事實上裡面是可以放一些預設的內容的,當內容頁(Content Page)沒有使用到這個 ContentPlaceHolderID 時,就會直接用 MasterPage 中定義的預設內容來輸出。

... 繼續閱讀 ...

在 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 是很敏感的。

... 繼續閱讀 ...

如何讓使用者下載完檔案後自動刪除暫存的檔案

我們有時後會在 Server 端動態的產生一個檔案,然後讓使用者下載,你也有可能希望使用者下載完該檔的時候可以直接從 Server 端直接刪除,不過這個動作無法在一個 HTTP Request/Response 循環中完成,因為檔案正在傳送回用戶端時並無法刪除該檔!

... 繼續閱讀 ...

善用 HttpContext.Items 儲存短暫出現的資料

我們知道在 ASP.NET 的頁面中可以儲存資料的物件有好多個,有 Session 物件、Cache 物件、還可以在頁面中自己定義 Page 類別的欄位(Field)變數,但有個好用的物件鮮少有人知道,就是 HttpContext.Items,如果你希望在 HttpModule 與 HttpHandler 或 Page 的程式之間傳遞資料時,使用 HttpContext.Items 就太完美啦!

... 繼續閱讀 ...

介紹幾套好用的檔案上傳元件

檔案上傳幾乎每個專案都用的到,但 ASP.NET 2.0 的 FileUpload 控制項有點太陽春了,目前我從網路上找到的 File Upload 元件大多是透過 JavaScript + IFRAME 上傳,或用 JavaScript + Flash 上傳比較好用,今天介紹幾款不錯的。

... 繼續閱讀 ...