利用 D3 產生 Radio Button List 的小技巧
[EF] 如何在 Entity Framework 中以手動方式設定 Code First 的 Migration 作業
Entity Framework (簡稱 EF) 發展到現在, 版本已經進入 6.1.0, 距離我寫的「在 VS2013 以 Code First 方式建立 EF 資料庫」這篇文章已有半年的時間。如果你和我一樣從那時候開始使用 EF Code First, 那麼你對 EF 應該已經有了基本的了解。依我個人的使用經驗, EF 雖然好用, 但是如果一直使用 AutomaticMigrations 的方式維護你的資料庫, 也許會遇到一些麻煩。因為在正常作業環境下, 資料庫的格式不可能永遠不變; 當我們已經開始寫入資料之後, 情況會變得更複雜, 迫使我們不得不去探究更適當、更有彈性的做法...
[ASP.NET] Visual Studio 2013 的 Form 驗證
從 Visual Studio 2013 / .Net Framework 4.5.1 開始, 關於使用者驗證這件事, 可以說做了革命性的改變。大家在過去 12 年來再熟悉不過的表單驗證方式, 在這個版本中再也沒辦法使用 (或者更正確地說, 是沒辦法延用過去的做法)。相反地, 我發現它對 AD 認證的支援變得異常地簡單; 如果你在建立專案時選擇 Windows 驗證, 那麼你的網站自動可以抓取使用者的網域登入帳號, 不必再寫任何程式。如果你要寫的是企業內部網站的話, 就變得相當容易了。至於新的表單驗證方式, 我們會面臨的最大的困難在於不熟悉, 以及資訊太少(未來會慢慢變多, 這是確定的)。其實我是直到最近一個專案中需要用到表單驗證, 才突然驚覺它被改掉了。但是兩個多禮拜下來, 我覺得它其實基本上和原來的表單驗證方式並沒有太多的差異。你只要了解它的運作原理, 就會逐漸習慣...
[ASP.NET] 動態變更 SqlDataSource 中使用的 Web.config 裡的 Connection 字串
在我目前的工作中, 環境略為有點複雜, 牽涉到開發、測試和正式環境, 而使用的資料庫伺服器也有兩到三個。如果能夠動態地切換不同環境下所使用的資料庫連線字串, 一定對工作相當有幫助。當然, 如果我都寫 ADO.NET 指令去指定連線字串, 我自然可以動態地決定應該採用哪一個連線字串。但是, 我又不想放棄簡單易用的 GridView/FormView 搭配 SqlDataSource 的作業方式。無可誨言的, 對於那些許多很小型的資料表、很少的資料、很簡單的工作, 實在沒有什麼能比上述情境更方便處理了...
在單元測試程式中取得 Connection 字串
這是一個相當古老的問題。不過, 似乎也很久沒遇到過了。當今天再度遇到時, 突然被嚇了一跳。問題是這樣的, 當我們建立單元測試專案時, 如果你看到測試不成功的原因是什麼「System.ArgumentException: 此處不允許應用程式相對虛擬路徑 '~/'」之類莫名其妙的錯誤的話, 大概就是依照以下解法就對了...
在 Visual Studio 建立資料庫專案
我從很久以前就對 Visual Studio 中新加入的資料庫專案範本感到很有興趣; 但是一來我並不熟資料庫, 二來工作上也用不到, 所以從來沒有真正較深入地研究它, 只有嘗試過建立幾個測試專案, 然後被搞得灰頭土臉, 被迫放棄。但是最近由於工作上突然有了一點變化, 讓我回頭來思考在原來的專案中加上一個資料庫專案的想法, 所以就重新把它又拿來研究一番...
在 VS2013 Preview 中使用 Scaffolding 快速建立 CRUD 網頁
在 VS2013 Preview 中, 我們可以透過它的 Scaffolding (支架) 功能在 MVC 專案中快速建立一整套的 CRUD 網頁, 不用寫一行程式碼。甚至, 它已經內建了 Bootstrap 框架, 這使得我們甚至不需要具備美工能力, 也能設計出比以前漂亮得多的網頁...
使用 VS2013 開發 ASP.NET 專案並登入 AD
下載 Visual Studio 2013 Preview 之後, 我迫不急待地把它安裝起來, 並且建立了幾個測試用的專案。我把幾個值得注意的細節記錄起來, 同時供大家做個參考...
IE10 對 CSS3 的支援與注意事項
截至目前(2012/3/21)為止, Windows 8 Custom Preview 系統中的 IE10 可以分成兩種, 一種是寫成 Metro Style 的 App 型式, 另一種則是一般的 Desktop 應用程式。第一種就是稱為 Internet Explorer, 第二種則是稱為 Windows Internet Explorer...
.Net Interoperation 入門
- 5411
- 0
- .Net Programming
- 2013-08-14
Interoperation是工程界普遍使用的字眼, 專指在不同系統中搭起的簡易或臨時的元件, 藉由製訂某些共通的協定, 以便這些系統可以共同作業。由於這個溝通界面可能並非非常嚴謹, 所以當其運作時, 必須特別有人從旁監督、隨時調整和修改。在.Net 中, Interoperation 專指從.Net 應用程式中存取unmanaged 程式元件的行為。我們知道, 當我們撰寫.Net 應用程式或元件時, 這些元件都是managed (受.Net 執行環境所管理的)。但是如果是使用VB6/C/C++ 所撰寫的非.Net 程式或元件, 對.Net 而言, 都算是unmanaged。如果我們企圖在.Net 程式中存取那些unmanaged 程式或資源, 就必須透過Interoperation 技巧與COM 介接。此外, 許多Windows API 並沒有.Net 的對應函式。換句話說, 如果我們要撰寫Windows 應用程式, 而且我們必須使用到Windows API 的話, 我們沒辦法從.Net Framework 執行環境中找到對應的方法, 而必須透過Interoperation 去呼叫W
[入門] .Net 非同步處理與同步機制全解析 (一)
- 8183
- 0
- .Net Programming
- 2014-11-10
不管你學的是何種程式語言, 非同步及平行處理總是最令人費解的部份之一。如果你沒有過人的邏輯觀念, 那麼要把非同步程式寫好, 恐怕有一定的困難度。不過最難的部份不在技術上, 而是到底在何種場合下可以採用非同步或平行處理。在日常生活中, 我們採用的邏輯大多是循序進行的, 也就是說, 等到前一件事情完成之後, 才去進行下一件。但是在某些情況下, 非同步處理是比較合乎情理的做法...
在 VS2008 及 VS2010 安裝 PInvoke.Net
- 14054
- 0
- .Net Programming
- 2013-08-14
對於時不時需要在 VB/C# 裡面塞入一些 Win32 API 功能的程式設計師而言, PInvoke.Net 是一個非常好用的工具 (它甚至被 MSDN 雜誌評選為最需要被安裝的十個 VS Addin 之一)...
[入門][XML] XML入門系列 (2) : 以動態方式建立或產生 XML 文件
在本文中我將示範以不同的方式從無到有的建立一份 XML 文件...
在客戶端檢查 Upload File Size 後才允許上傳檔案
摘要:在客戶端檢查 Upload File Size 後才允許上傳檔案
[UserControl] 一個可以檢查伺服器端是否已有同名檔案的圖檔專用 FileUpload 控制項
我把這個功能寫成使用者控制項,其功能如下:1. 上傳檔案(基本功能), 2. 可以檢查網站是否已有同名的檔案存在, 3. 若有同名檔案存在,可選擇是否予以覆蓋, 4. 可以指定上傳位址...
修改檔案上傳的大小限制
ASP.NET 2.0 預設其伺服器與客戶端的 Session 資料傳遞量上限為 4MB,而檔案上傳的大小限制也算在裡面,所以除去網頁上文字來來回回的傳輸量後,你實際上可以上傳的檔案絕對不會大於 4MB。其實 4MB 是很大的,足夠平常網頁用了...
多功能 FileUpload 使用者控制項
我寫了一個可以處理檔案上傳的多功能使用者控制項,除了可以處理一般的檔案上傳之外,還可以動態修改上傳路徑、讓使用者決定是否覆蓋舊檔,並動態決定是否限制使用者只能接受圖型檔案...
使用 DataSet 建立一個三層式架構的資料存取網頁
在上文中作者示範了一個使用 VS2008, 利用 DataSet/ObjectDataSource 以建立 3-tier 的資料存取網頁。重點在於作者是使用螢幕錄影的方式進行教學的, 十分清楚易懂。在微軟又發表一大堆新技術的今天(像 LINQ、Entity Framework 等), 我們仍能看到使用傳統 ADO.NET 方式來存取資料的教學, 這已經愈來愈不容易了...
[ADO.NET] 讀取 SQL 表格以列出 Schema 並自動產生 ADO.NET 程式碼與 Stored Procedure
目的: 選取並讀取一個 SQL 表格, 以程式讀取並列出其 Schema, 經過分析後, 自動產生 Select、Insert、Update 與 Delete 等四個 Stored Procedure, 並產生完整的 ADO.NET 程式碼 (VB), 程式中已自動填入所有需要的 Parameters 及 SQL 型別...
- 1