發表文章

目前顯示的是 11月, 2010的文章

實做篇-將現有網站改成MVC架構

圖片
先前參加了佛心Jed哥的贈書活動,小弟也獲得了保哥的新書 [ASP.NET MVC2 開發實戰]一書,書中小弟獲益良多,最近也試著將現有的專案改以MVC的架構,在實做這個改變的過程,小弟便將其記錄下來並分享給各位。 一般來說,ASP.NET的網頁應用程式不外乎會有商業邏輯層(Business Tier)、資料層 (Data Tier)、網頁 (ASPX),而在網站的架構中我們可能習慣使用不同的NameSpace (資料夾)來區分商業邏輯層與資料層,基於商業機密公司應用程式不方便貼上來,小弟以Northwind資料庫實做一個範例來展現這個典型的網站架構。 這是一個客戶資料查詢的網頁程式,它是個簡單List [清單]類型的查詢的網頁程式,它有兩個查詢條件,1.客戶公司名稱、2.所在城市。查詢設計畫面如下: 查詢會呼叫CustomerBiz的商業邏輯,此為與Customer相關之商業邏輯層,SQL Statement會撰寫於此,通常查詢會是如下程式: 1: protected void lbtSearch_Click( object sender, EventArgs e) 2: { 3: GetDatas(); 4: } 5:   6: private void GetDatas() 7: { 8: CustomerBiz CBiz = new CustomerBiz(); 9: DataView dv = new DataView(CBiz.GetCustomersByID_City(Request.Form[ "txtSearch" ], Request.Form[ "ddlCity" ])); 10: gvwList.DataSource = dv; 11: gvwList.DataBind(); 12: } CustomerBiz.cs的完整程式碼如下所示,這裡Demo的範例很簡單,對應的舊兩個邏輯方法: 1: us...

Web Matrix (Part 2) ASP.NET Razor資料庫應用程式開發

圖片
上一次筆者介紹了Web Matrix的開發方式,也大致介紹了什麼是ASP.NET Razor ,其實 Razor 並不算是一種新的語言,它在@符號後面所接的其實都還是C#語法。而且ASP.NET Razor對於ASP.NET MVC有著很密切的關係,它之所以出現是為了改進ASP.NET MVC的View的程式撰寫風格,也許不要說是改進,也可以當作多了一種View的撰寫方式。在Web Matrix所提供的ASP.NET Razor 可以說是個預覽版,未來的ASP.NET MVC 3會含括此功能在裡面。 而關於 ASP.NET Razor 的設計目標有下面幾個: 希望程式碼撰寫是一連貫,一氣呵成的。 學習門檻低,容易上手 不是一套新的程式語言,希望使用既有的ASP.NET/C#基礎即可快速的上手。 使用任一種純文字檔編輯器都可進行開發。 也支援使用Visual Studio 2010來開發,使用Visual Studio 2010強大的Intellisense的支援。 同樣可進行View的Unit Test。 OK!再回到筆者今天的主題,先使用這個預覽的版本來體驗一下資料庫應用程式的開發方式,就順著下面的步驟來時做看看。 1.首先是先安裝OData Helper 1.0元件,這是存取資料庫必要的元件,請開啟Admin畫面將OData Helper 1.0安裝進來。 圖(一)、安裝OData Helper 1.0元件 2.點選左下方的Database,Web Matrix此時會切換到資料庫功能的頁籤。若預設一開始您也是選擇Empty Site,在沒有改名子的情況下,會有一個Empty Site.sdf的SQL Compact資料庫。請在Tables的節點選滑鼠右鍵"New Table"或點選上方的工具列的 New Table建立一個Employes的Table,並同時建立[id]、Name、Title 等三個欄位,如圖二。 圖(二)、建立SQL Compact 資料庫 3.接著任一建立幾筆資料,如圖三。 圖(三)、任一建立三筆資料 4.回到Files頁籤,並新增一個EmployeesList.cshtml 程式檔案,並撰寫如下程式。要注意的地方是,如果要撰寫多行的Razor,可以使用 @{.. } 包起來,...