SlideShare a Scribd company logo
1 of 55
Download to read offline
Introduce twMVC
Who We Are and What We Want
 我們熱愛 Web 開發技術,並樂於分享 ASP.NET MVC 開發心得
 已成功建立數個灘頭堡的經驗,深知 MVC 開發模式條理分明,有
利於分工與管理,想推薦給尚未了解的開發人員
 不願意看到 MVC 叫好不叫座,我們樂意透過經驗交換來破除導入
障礙
2
為何組成 twMVC
 A quite simple http://mvc.tw/
 But, it’s still under-construction now 
3
twMVC 資訊分享
 每週小型聚會,不特定主題
 固定於每週四 19:30-21:30,不改時間,逢國定假日暫停一次
 議程不會提前排定,以當天參加者最近的心得分享為主
 舉辦不定期研討會
4
twMVC 做哪些事推廣 ASP.NET MVC 技術
 預先設定主題的中大型會議,主題提前於 mvc.tw 上公告
 原則上一個月排定一次,初期因場地關係設定報名人數上限
為 30 人
5
twMVC 不定期研討會
ASP.NET MVC網站的從無到有
從頭到尾完成一個MVC專案
 建立ASP.NET MVC專案
 使用Razor與Entity Framework完成Model、View、
Controller
 邊做邊學ASP.NET MVC的特色
主題
7
 把應用程式架構給切分為三個部分,分別為:
 Model(模型)
 View(視圖)
 Controller(控制器)
 MVC的三個組成部分所負責的功能不同,相互獨立
 MVC並不等於三層式架構
8
複習一下 什麼是 MVC
 IDE
 Visual Web Developer 2010 Express (Free)
 Visual Studio 2010 (本次使用)
 Visual Studio 2012 RC
 Visual Studio 開發套件
 ASP.NET MVC 3 (本次使用)
 ASP.NET MVC 4 RC
 組件(佈署的主機上要安裝)
 ASP.NET MVC 3 (本次使用)
首先-開發環境的準備
9
 建立ASP.NET MVC 3 Web Application
 使用免費版型
專案的建立與套版
10
1. 建立AspNetMvc.StartFromScratch專案
2. 複製檔案到Content中
11
實際操作 1 開始MVC專案
 App_Data
 內部使用的資料(無法使用URL存取)
 Content
 靜態檔案(CSS、Images)
 Controllers
 Models
 Scripts
 JavaScript
 Views(無法使用URL存取)
12
認識ASP.NET MVC習慣的目錄結構
1. 建立_LayoutBase.cshtml
2. 建立_LayoutMain.cshtml並套用_LayoutBase.cshtml
3. 使用UrlHelper更換Url
4. 建立HomeController
5. 建立Home/Index.cshtml並套用_LayoutMain.cshtml
6. 測試
13
實際操作 2 建立Layout與套用
 Layout與Partial主要是將每頁複雜的項目簡化,且都可以重覆使用。
 Layout又稱母頁或主頁,
 使View可以套用共同的設計,但一個View只套用一個Layout,但Layout
可以有父Layout(巢狀Layout)。
 Partial
 是將View切成一個一個小部分,每個View可以載入任意的Partial。
 延伸學習
 ASP.NET MVC 3: Layouts and Sections with Razor
建立Layout與Partial頁
14
以 @ 開始
 @ = <% Response.Write(Html.Encode( code )) %>
 @() 同 @ 但可以寫比較複雜一點的Code(有空白,有運算式)
 如@(A==ture ? “Yes” : “No”)
 @{} 程式碼區塊
 @: 在 @{ @:直接輸出文字 }
 @* *@ 註解
 延伸學習
 ASP.NET MVC3 Razor 初心者容易遇到的問題
15
Razor語法
 @model
 @section
 @helper
 延伸學習
 ASP.NET MVC 3: New @model keyword in Razor
 ASP.NET MVC 3 and the @helper syntax within Razor
16
Razor Keyword
 @RenderBody 呈現子View的主體
 @RenderSection 呈現子View @section{ }內容
 @RenderPage 呈現檔案內容
 @Write
 延伸學習
 ASP.NET MVC 3 Razor Syntax - RenderBody, RenderPage and
RenderSection
17
Razor Method
 使用Url.Content或Url.Action產生Url的優缺點
 優點
 以應用程式的根為起始點,不會因為部署的環境,而產生路徑問題
 http://appdomain1/ < 原本部署
 http://appdomain2/myAPP/ < 改成這裡沒處理好會有路徑問題
 根據Route產生Url
 缺點
 會花一點效能
UrlHelper
18
 ViewData與ViewBag資料的存放是同一個,但呼叫方式不同
 ViewData[“Key”]
 ViewBag.Key
 生命週期為一個Action
 TempData如同TempData,但生命週期會一個Request
 如果一個Request會有很多RenderAction請使用TempData。
19
ViewData ViewBag TempData
1. 建立Entity Framework 4.0 DemoModel.edmx檔案
2. 從資料庫產生Entity
3. 建立BlogController
4. 建立Part Action
5. 使用Linq取得5筆Blog資料
6. 建立與完成Blog/Part.cshtml
7. 修改Home/Index.cshtml
8. 測試
20
實際操作 3 資料的讀取
 依功能別建立Controller
 如:
 HomeController
 BlogController
 NewsController
 AccountController
(P.S.建議不要全部都寫在HomeController中)
21
建立Controller
 什麼是ORM
物件關聯對應(Object Relational Mapping,簡稱ORM,
或O/RM,或O/R mapping),是一種程式設計技術,用於實
現物件導向編程對不同類型系統的數據之間的轉換。
22
建立Model-使用 ORM
Mapping
 在N-Tire構架中,撰寫商業邏輯層的人,可以專注在處理流程,不
需要分心去思考如何存取Database。
 可以快取切換Database。
 雖然正式環境很改變Database,但測試時很方便,如單元測試時使用
SQLite。
 開發速度快
 有強大Visual Studio IntelliSense與LINQ支援
 而且看Entity比看Table來的輕鬆
 重覆使用
 擴充性高
23
ORM有什麼好處
24
使用VS的EF工具產生Entity
 建立Blog/Hot.cshtml
使用LazyLoad取得CreateUser資料,發生
ObjectContext 執行個體已被處置,無法再使用於需要連接的作
業。
1. 在Global.asax.cs中增加CurrentEntities
2. 修改BlogController
3. 測試
25
實際操作 4-1 LazyLoad
 每一個EF的Entities都有Context(上下文),處理Entity
的狀態,用來管理物件是否有修改過、LazyLoad使用的
Connection,與物件的快取等等。
 如果網站只使用同一個Context,很容易因為多執行緒造成
衝突,常見的作法是一個Request使用一個EF Context。
26
ORM的Context處理 For EF
 Lazy-Load是ORM中很重要的特色,會在使用關連時自動查
尋與載入關連資料,如:
Blog blog = entities.Blogs.First(x=>id==id);
string name = blog.Comments[0].CreateUser.Name;
請問上二行程式自動下了幾次SQL
27
什麼Lazy-Load
 總共 : 3 次 你猜對了嗎
 Lazy-Load自動化下Sql的時機是在Property的第一次使用
的資料,Lazy-Load在完全不需要任何處理就可以取得關連
表的資料是不是很方便。
 但Lazy-Load也有不適用的地方,如上一張投影片的程式如
在for(n<1000)的迴圈中,每個迴圈3個Sql,總共會下
3000次,效能會非常差,這時還是用Join只下一次Sql會比
較好。
28
什麼Lazy-Load(2)
 Entity Framework 概觀 – MSDN
 Entity Framework 快速上手&學習資源整理 - The Will
Will Web
 LINQ 的簡介 – MSDN
 101 LINQ Samples C#- MSDN
29
LINQ與ORM的延伸學習
1. 使用Linq Count資料
@this.Model.Comments.Count
但發現效能不好,請問為什麼效能不好??
2. 重寫Count計算
3. 發現要寫好長的Namespace,增加預設Namespace
30
實際操作 4-2 Count資料
 ORM很方便,可以 . 阿 .想要的資料就出來的,比寫Sql
Join來Join去或要寫一堆的Sql才能取得資料方便太多了,
但要小心,每一個 . 可能就會下載海量資料回來。
如:
Blog.Comments.Count,為什麼要將所有的Comment下載回
來後才Count,為什麼不在資料庫端Count,只要下載一個
int就可以了。
31
ORM 是雙面刅 很方便但要小心
MVC有至少有二個Web.Config
 根目錄下的Web.Config
 給應用程式使用
 Views下的Web.Config(Area也會有一個)
 View的編譯設定
 Request Block
 廷伸學習
ASP.NET MVC 3 使用 Razor 如何在 Web.config 宣告預設的
Namespaces
32
MVC專案的Web.Config為什麼有多個??
1. 資料NuGet下載 jQuery
2. 新增BlogComments的Comments與AddComment的Action
與View
3. 新增Demo.js
4. 使用 .Load() AJAX下載資料
5. 測試
33
實際操作 5-1 AJAX下載BlogComment
 NuGet是專案的套件管理,安裝簡單、自動判斷更新、刪除也不複
雜。
 常見的jQuery、Fancybox、Elmah、NHibernate、Spring.Net都可
以一鍵安裝,非常的方便。
 因為是專門給Visual Studio用的會使用微軟習慣,如:
 安裝js會將檔案放在/Scripts/,圖檔會放在/Content/下
 Dll會自動加入參考
 有設定檔會自動設定(如Elmah會修改Web.Config)
 延伸學習
 還在揮汗徒手安裝程式庫? 試試NuGet吧 - 黑暗執行緒
34
使用NuGet
 最熱門的JavaScript函式庫
 跨瀏覽器的DOM元素選擇
 DOM巡訪與更改
 事件(Events)
 CSS操作
 特效和動畫(移動顯示位置、淡入、淡出)
 Ajax
 延伸性(Extensibility)
 JavaScript外掛程式 等等等
 廷伸學習
jQuery - 维基百科
35
什麼是jQuery
 因為現在現在網站沒有Ajax的很少,不可避免會在js檔中寫下後端的路
徑,建議不要寫絶對路徑,以免更換部署方式,讓AJAX全死。
 在Element上設定路徑
 在_Layout.cshtml中偷偷設定
36
JavaScript路徑處理
1. 在_LayoutMain.cshtml中設定應用程式路徑
這裡使用藏在Script中的方式
2. 更換部署方式
3. 測試AJAX是否正常
37
實際操作 5-2
 RenderPartial 與 RenderAction 的差異?
38
RenderPartial & RenderAction
Controller
View
Partial Partial Partial
RenderPartial
Controller
View
Render
Action
RenderAction
Render
Action
Render
Action
Controller
View
1. 增加BlogComment的Metadata
2. 增加所需的js檔
3. 因為是AJAX下載資料,要重新綁定事件
4. 執行
39
實際操作 6-1 Validation
 使用System.ComponentModel.DataAnnotations可以輕鬆的做到前後
端的驗證。
 整合jQuery.validate,擴充性不會太複雜
 常見的Validation有
 Required、StringLength、RegularExpression、Range、Compare
 延伸學習:
 ASP.NET MVC3 如何使用內建驗證功能達到前端與後端的同時驗證 -
demo小鋪
40
Validation
 會將Post或Get的值轉換 物件 與 使用HtmlHelper或AjaxHepler可以
物件 轉換成 HTML元素。
 同時會整個前後端Validation。
 同時也會保存Post資料,可以還原輸入失敗的值。
 延伸學習:
 ASP.NET MVC Model Binding - Part1 – CodeProject
 ASP.NET MVC Model Binding - Part2 - CodeProject
41
ModelBinding
 HtmlHelper與AjaxHelper,都是用來快速產生HTML的類別,
同時整合ModelBinding與Validation,這些特色使
ASP.NET MVC在資料的CRUD上,非常的輕鬆。
 延伸學習:
 ASP.NET MVC HTML Helpers - w3schools
42
HtmlHelper與AjaxHelper
1. 修改AddComment.cshtml,改用AjaxHelper
2. 增加Ajax OnComplete處理,重算Comment Count
3. 在Demo.js增加addCommentComplated function使用
jQuery來計算Count。
43
實際操作 6-2 AJAX POST
 因為套用Route後Id不會在QueryString中,而是路徑,不
能用Request[“Id”]取資料,需要改從RouteData中取資料。
44
RouteData
1. 建立LoginViewModel.cs
2. 建立AccountController
3. 建立Shared/_LogOnPartial.cshtml判斷是否登入
4. 建立Account/Login.cshtml
5. 修改Web.Config套用表單驗證
45
實際操作 7
 ViewModel通常是為與View溝通用的,通常一個View不會
剛好使用一個Table資料,或是剛好的欄位(如多處理分頁或
排序用的欄位)
46
ViewModel
 表單驗證(FormsAuthentication),ASP.NET 2.0之後內建的身
份驗證模組,通過驗證後會用加密過的Cookie來身份。
 整合HttpContent.Current.User。
 可以使用web.conifg的authorization區段或
AuthorizeAttribute做權限控制。
 延伸學習
 概略解釋Forms Authentication的運作-The Will Will Web
47
表單驗證與授權
 Layout(母頁),不是寫死在View最開頭後就不能再改的,
是可以更動的。
 MVC ViewEngine是先執行子頁,再依子頁中母頁設定,執
行母頁,再將RenderBoay的地方換成子頁的內容,所以在
子頁前都有機會更換Layout。
48
更換Layout
 View有一套預設的搜尋機制,使用相對路徑會,
 先找自己同一層資料夾下的
 然後在找Shared資料夾
 絶對路徑使用”~/Views/”開頭。
 使用絶對路徑要加上副檔名,不會自動判斷。
49
VirtualPathFactory View的搜尋
1. 建立Blog Add的Action
2. 撰寫EF Create的Code
3. 使用Create的Template建立View
4. 瀏覽時Update( Hit+1 )
5. 執行
50
實際操作 8 CRUD
1. Global.asax.cs在增加MapRoute
2. 測試
51
實際操作 9 自訂Route
1. 設定Web.Release.Config
2. 在專案上按右鍵發行
3. 在IIS中建立新站台
52
實際操作 10 部署
 千萬千萬不用複製原始檔的方式佈署,請使用Visual Studio的發行功能。
 IIS 6要設定 ISAPI
 需要安裝 ASP.NET MVC 3組件
 延伸學習:
 Razor Views 預編譯(Pre-Compile)-黃偉榮的學習筆記
 ASP.NET MVC 3網站BIN目錄手動部署-黑暗執行緒
 Web.config Minification 與 Transformation-小朱®的技術隨手寫
 Visual Studio 2010 單鍵發行簡單使用 Web.Release.config - demo小鋪
部署
53
 請來賓們回家完成News部份的操作
54
課後作業
The End
謝謝各位

More Related Content

What's hot

twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1twMVC
 
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARPtwMVC
 
twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署twMVC
 
twMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual StudiotwMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual StudiotwMVC
 
twMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie RecommendationtwMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie RecommendationMia Chang
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC
 
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC
 
twMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC
 
北護樂學程式冬令營 2017
北護樂學程式冬令營 2017北護樂學程式冬令營 2017
北護樂學程式冬令營 2017Hamilton Wong
 
輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14twMVC
 
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐twMVC
 
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角twMVC
 
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程Simon Su
 
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹wantingj
 
Node.js X Windows Azure
Node.js X Windows AzureNode.js X Windows Azure
Node.js X Windows AzureCaesar Chi
 
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC
 

What's hot (20)

twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1
 
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
 
twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署
 
twMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual StudiotwMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual Studio
 
twMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie RecommendationtwMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie Recommendation
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
 
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 Log
 
twMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart Factory
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決
 
北護樂學程式冬令營 2017
北護樂學程式冬令營 2017北護樂學程式冬令營 2017
北護樂學程式冬令營 2017
 
輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14
 
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
 
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
 
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure Functions
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程
 
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹
 
Node.js X Windows Azure
Node.js X Windows AzureNode.js X Windows Azure
Node.js X Windows Azure
 
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路
 

Similar to Asp.net mvc 從無到有 -twMVC#2

Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Wade Huang
 
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1twMVC
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC
 
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4twMVC
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介Allen Lsy
 
twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC
 
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊twMVC
 
Asp.net mvc 基礎
Asp.net mvc 基礎Asp.net mvc 基礎
Asp.net mvc 基礎Gelis Wu
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)wangjiaz
 
Lab01 cloud project
Lab01 cloud projectLab01 cloud project
Lab01 cloud projectJeff Chu
 
利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式Chui-Wen Chiu
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVCjeffz
 
twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用twMVC
 
ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10twMVC
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4Daniel Chou
 
Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘Zhenhua Tang
 
20130823微軟雲端平台開發者日
20130823微軟雲端平台開發者日20130823微軟雲端平台開發者日
20130823微軟雲端平台開發者日twMVC
 
Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4Kyle Shen
 

Similar to Asp.net mvc 從無到有 -twMVC#2 (20)

Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
 
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
 
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2
 
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
 
Asp.net mvc 基礎
Asp.net mvc 基礎Asp.net mvc 基礎
Asp.net mvc 基礎
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
 
Lab01 cloud project
Lab01 cloud projectLab01 cloud project
Lab01 cloud project
 
利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVC
 
twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用
 
ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4
 
Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘
 
20130823微軟雲端平台開發者日
20130823微軟雲端平台開發者日20130823微軟雲端平台開發者日
20130823微軟雲端平台開發者日
 
Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4
 
Asp.Net Mvc 1.0
Asp.Net Mvc 1.0Asp.Net Mvc 1.0
Asp.Net Mvc 1.0
 

More from twMVC

雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場twMVC
 
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場twMVC
 
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場twMVC
 
線上遊戲利用 Dev ops 開源工具 chef, docker, vagrant 在microsoft azure 的佈署實踐-Global Azure...
線上遊戲利用 Dev ops 開源工具 chef, docker, vagrant 在microsoft azure 的佈署實踐-Global Azure...線上遊戲利用 Dev ops 開源工具 chef, docker, vagrant 在microsoft azure 的佈署實踐-Global Azure...
線上遊戲利用 Dev ops 開源工具 chef, docker, vagrant 在microsoft azure 的佈署實踐-Global Azure...twMVC
 
Azure mobileservice
Azure mobileservice Azure mobileservice
Azure mobileservice twMVC
 
一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18twMVC
 
專案分層架構 twMVC#18
專案分層架構 twMVC#18專案分層架構 twMVC#18
專案分層架構 twMVC#18twMVC
 
SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17 SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17 twMVC
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17twMVC
 
TypeScript-twmvc#16
TypeScript-twmvc#16TypeScript-twmvc#16
TypeScript-twmvc#16twMVC
 
前端工程師與室內裝修師傅的相似之處-twMVC#16
前端工程師與室內裝修師傅的相似之處-twMVC#16前端工程師與室內裝修師傅的相似之處-twMVC#16
前端工程師與室內裝修師傅的相似之處-twMVC#16twMVC
 
開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15twMVC
 
動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15twMVC
 
樞紐分析表之數據分析與統計-twMV#C14
樞紐分析表之數據分析與統計-twMV#C14樞紐分析表之數據分析與統計-twMV#C14
樞紐分析表之數據分析與統計-twMV#C14twMVC
 
MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13twMVC
 
RWD不是你想的那樣 tw mvc#13
RWD不是你想的那樣 tw mvc#13RWD不是你想的那樣 tw mvc#13
RWD不是你想的那樣 tw mvc#13twMVC
 
ASP.NET MVC 善用網路資源快速完打造網站
ASP.NET MVC 善用網路資源快速完打造網站ASP.NET MVC 善用網路資源快速完打造網站
ASP.NET MVC 善用網路資源快速完打造網站twMVC
 
如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12twMVC
 
Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11twMVC
 
架構設計入門 twMVC#11
架構設計入門 twMVC#11架構設計入門 twMVC#11
架構設計入門 twMVC#11twMVC
 

More from twMVC (20)

雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
 
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
 
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場
 
線上遊戲利用 Dev ops 開源工具 chef, docker, vagrant 在microsoft azure 的佈署實踐-Global Azure...
線上遊戲利用 Dev ops 開源工具 chef, docker, vagrant 在microsoft azure 的佈署實踐-Global Azure...線上遊戲利用 Dev ops 開源工具 chef, docker, vagrant 在microsoft azure 的佈署實踐-Global Azure...
線上遊戲利用 Dev ops 開源工具 chef, docker, vagrant 在microsoft azure 的佈署實踐-Global Azure...
 
Azure mobileservice
Azure mobileservice Azure mobileservice
Azure mobileservice
 
一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18
 
專案分層架構 twMVC#18
專案分層架構 twMVC#18專案分層架構 twMVC#18
專案分層架構 twMVC#18
 
SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17 SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
 
TypeScript-twmvc#16
TypeScript-twmvc#16TypeScript-twmvc#16
TypeScript-twmvc#16
 
前端工程師與室內裝修師傅的相似之處-twMVC#16
前端工程師與室內裝修師傅的相似之處-twMVC#16前端工程師與室內裝修師傅的相似之處-twMVC#16
前端工程師與室內裝修師傅的相似之處-twMVC#16
 
開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15
 
動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15
 
樞紐分析表之數據分析與統計-twMV#C14
樞紐分析表之數據分析與統計-twMV#C14樞紐分析表之數據分析與統計-twMV#C14
樞紐分析表之數據分析與統計-twMV#C14
 
MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13
 
RWD不是你想的那樣 tw mvc#13
RWD不是你想的那樣 tw mvc#13RWD不是你想的那樣 tw mvc#13
RWD不是你想的那樣 tw mvc#13
 
ASP.NET MVC 善用網路資源快速完打造網站
ASP.NET MVC 善用網路資源快速完打造網站ASP.NET MVC 善用網路資源快速完打造網站
ASP.NET MVC 善用網路資源快速完打造網站
 
如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12
 
Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11Vs2013新功能介紹 twMVC#11
Vs2013新功能介紹 twMVC#11
 
架構設計入門 twMVC#11
架構設計入門 twMVC#11架構設計入門 twMVC#11
架構設計入門 twMVC#11
 

Asp.net mvc 從無到有 -twMVC#2