SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
Introduce twMVC
  Who We Are and What We Want
為何組成 twMVC


 我們熱愛 Web 開發技術,並樂於分享 ASP.NET MVC 開發心得

 已成功建立數個灘頭堡的經驗,深知 MVC 開發模式條理分明,有

 利於分工與管理,想推薦給尚未了解的開發人員

 不願意看到 MVC 叫好不叫座,我們樂意透過經驗交換來破除導入

 障礙




                                         2
twMVC 資訊分享

 A quite simple http://mvc.tw/




 But, it’s still under-construction now 

                                             3
twMVC 做哪些事推廣 ASP.NET MVC 技術



 每週小型聚會,不特定主題


  固定於每週四 19:30-21:30,不改時間,逢國定假日暫停一次


  議程不會提前排定,以當天參加者最近的心得分享為主


 舉辦不定期研討會



                                       4
twMVC 不定期研討會


 預先設定主題的中大型會議,主題提前於 mvc.tw 上公告


 原則上一個月排定一次,初期因場地關係設定報名人數上限


 為 30 人




                                  5
ASP.NET MVC網站的從無到有
          從頭到尾完成一個MVC專案
主題

 建立ASP.NET MVC專案

 使用Razor與Entity Framework完成Model、View、
 Controller

 邊做邊學ASP.NET MVC的特色




                                          7
複習一下 什麼是 MVC

 把應用程式架構給切分為三個部分,分別為:
  Model(模型)

  View(視圖)

  Controller(控制器)

 MVC的三個組成部分所負責的功能不同,相互獨立

 MVC並不等於三層式架構



                            8
首先-開發環境的準備

 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 開始MVC專案

1. 建立AspNetMvc.StartFromScratch專案

2. 複製檔案到Content中




                                    11
認識ASP.NET MVC習慣的目錄結構

 App_Data
   內部使用的資料(無法使用URL存取)
 Content
   靜態檔案(CSS、Images)
 Controllers
 Models
 Scripts
   JavaScript
 Views(無法使用URL存取)


                         12
實際操作 2 建立Layout與套用

1. 建立_LayoutBase.cshtml

2. 建立_LayoutMain.cshtml並套用_LayoutBase.cshtml

3. 使用UrlHelper更換Url

4. 建立HomeController

5. 建立Home/Index.cshtml並套用_LayoutMain.cshtml

6. 測試



                                               13
建立Layout與Partial頁

 Layout與Partial主要是將每頁複雜的項目簡化,且都可以重覆使用。
 Layout又稱母頁或主頁,
   使View可以套用共同的設計,但一個View只套用一個Layout,但Layout
    可以有父Layout(巢狀Layout)。
 Partial
   是將View切成一個一個小部分,每個View可以載入任意的Partial。

 延伸學習
   ASP.NET MVC 3: Layouts and Sections with Razor



                                                     14
Razor語法

以 @   開始
@    = <% Response.Write(Html.Encode( code )) %>
 @() 同 @ 但可以寫比較複雜一點的Code(有空白,有運算式)
  如@(A==ture ? “Yes” : “No”)
 @{} 程式碼區塊
 @: 在 @{ @:直接輸出文字 }
 @* *@ 註解
 延伸學習
  ASP.NET MVC3 Razor 初心者容易遇到的問題


                                                    15
Razor Keyword

 @model
 @section
 @helper


 延伸學習
  ASP.NET MVC 3: New @model keyword in Razor
  ASP.NET MVC 3 and the @helper syntax within Razor


                                                       16
Razor Method

 @RenderBody 呈現子View的主體
 @RenderSection 呈現子View @section{ }內容
 @RenderPage 呈現檔案內容
 @Write


 延伸學習
   ASP.NET MVC 3 Razor Syntax - RenderBody, RenderPage and
   RenderSection


                                                              17
UrlHelper

 使用Url.Content或Url.Action產生Url的優缺點
 優點
  以應用程式的根為起始點,不會因為部署的環境,而產生路徑問題
    http://appdomain1/   < 原本部署
    http://appdomain2/myAPP/   < 改成這裡沒處理好會有路徑問題
  根據Route產生Url

 缺點
  會花一點效能


                                                   18
ViewData ViewBag TempData

 ViewData與ViewBag資料的存放是同一個,但呼叫方式不同
  ViewData[“Key”]

  ViewBag.Key

  生命週期為一個Action

 TempData如同TempData,但生命週期會一個Request

 如果一個Request會有很多RenderAction請使用TempData。



                                        19
實際操作 3 資料的讀取

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
建立Controller

 依功能別建立Controller
 如:
  HomeController
  BlogController
  NewsController
  AccountController


(P.S.建議不要全部都寫在HomeController中)


                                 21
建立Model-使用 ORM

 什麼是ORM
 物件關聯對應(Object Relational Mapping,簡稱ORM,
 或O/RM,或O/R mapping),是一種程式設計技術,用於實
 現物件導向編程對不同類型系統的數據之間的轉換。



                Mapping




                                       22
ORM有什麼好處
 在N-Tire構架中,撰寫商業邏輯層的人,可以專注在處理流程,不
 需要分心去思考如何存取Database。
 可以快取切換Database。
  雖然正式環境很改變Database,但測試時很方便,如單元測試時使用
  SQLite。

 開發速度快
  有強大Visual Studio IntelliSense與LINQ支援
  而且看Entity比看Table來的輕鬆

 重覆使用
 擴充性高

                                          23
使用VS的EF工具產生Entity




                    24
實際操作 4-1 LazyLoad

 建立Blog/Hot.cshtml
 使用LazyLoad取得CreateUser資料,發生
 ObjectContext 執行個體已被處置,無法再使用於需要連接的作
 業。


1. 在Global.asax.cs中增加CurrentEntities
2. 修改BlogController
3. 測試

                                       25
ORM的Context處理 For EF

 每一個EF的Entities都有Context(上下文),處理Entity
 的狀態,用來管理物件是否有修改過、LazyLoad使用的
 Connection,與物件的快取等等。

 如果網站只使用同一個Context,很容易因為多執行緒造成
 衝突,常見的作法是一個Request使用一個EF Context。




                                          26
什麼Lazy-Load

 Lazy-Load是ORM中很重要的特色,會在使用關連時自動查
 尋與載入關連資料,如:


Blog blog = entities.Blogs.First(x=>id==id);
string name = blog.Comments[0].CreateUser.Name;


請問上二行程式自動下了幾次SQL


                                                  27
什麼Lazy-Load(2)

 總共 : 3 次 你猜對了嗎

 Lazy-Load自動化下Sql的時機是在Property的第一次使用
 的資料,Lazy-Load在完全不需要任何處理就可以取得關連
 表的資料是不是很方便。

 但Lazy-Load也有不適用的地方,如上一張投影片的程式如
 在for(n<1000)的迴圈中,每個迴圈3個Sql,總共會下
 3000次,效能會非常差,這時還是用Join只下一次Sql會比
 較好。

                                        28
LINQ與ORM的延伸學習

 Entity Framework 概觀 – MSDN

 Entity Framework 快速上手&學習資源整理 - The Will
 Will Web

 LINQ 的簡介 – MSDN

 101 LINQ Samples C#- MSDN




                                            29
實際操作 4-2 Count資料

1. 使用Linq Count資料
  @this.Model.Comments.Count
  但發現效能不好,請問為什麼效能不好??


2. 重寫Count計算

3. 發現要寫好長的Namespace,增加預設Namespace



                                    30
ORM 是雙面刅 很方便但要小心

 ORM很方便,可以 . 阿 .想要的資料就出來的,比寫Sql
 Join來Join去或要寫一堆的Sql才能取得資料方便太多了,
 但要小心,每一個 . 可能就會下載海量資料回來。
 如:
 Blog.Comments.Count,為什麼要將所有的Comment下載回
 來後才Count,為什麼不在資料庫端Count,只要下載一個
 int就可以了。


                                      31
MVC專案的Web.Config為什麼有多個??

MVC有至少有二個Web.Config
 根目錄下的Web.Config
  給應用程式使用
 Views下的Web.Config(Area也會有一個)
  View的編譯設定
  Request Block


 廷伸學習
 ASP.NET MVC 3 使用 Razor 如何在 Web.config 宣告預設的
 Namespaces


                                               32
實際操作 5-1 AJAX下載BlogComment

1. 資料NuGet下載 jQuery

2. 新增BlogComments的Comments與AddComment的Action
  與View

3. 新增Demo.js

4. 使用 .Load() AJAX下載資料

5. 測試



                                               33
使用NuGet

 NuGet是專案的套件管理,安裝簡單、自動判斷更新、刪除也不複
 雜。
  常見的jQuery、Fancybox、Elmah、NHibernate、Spring.Net都可
  以一鍵安裝,非常的方便。
 因為是專門給Visual Studio用的會使用微軟習慣,如:
  安裝js會將檔案放在/Scripts/,圖檔會放在/Content/下
  Dll會自動加入參考
  有設定檔會自動設定(如Elmah會修改Web.Config)
 延伸學習
  還在揮汗徒手安裝程式庫? 試試NuGet吧 - 黑暗執行緒

                                                  34
什麼是jQuery
 最熱門的JavaScript函式庫
  跨瀏覽器的DOM元素選擇
  DOM巡訪與更改
  事件(Events)
  CSS操作
  特效和動畫(移動顯示位置、淡入、淡出)
  Ajax
  延伸性(Extensibility)
  JavaScript外掛程式 等等等
 廷伸學習
 jQuery - 维基百科

                         35
JavaScript路徑處理

 因為現在現在網站沒有Ajax的很少,不可避免會在js檔中寫下後端的路
 徑,建議不要寫絶對路徑,以免更換部署方式,讓AJAX全死。

 在Element上設定路徑



 在_Layout.cshtml中偷偷設定




                                       36
實際操作 5-2

1. 在_LayoutMain.cshtml中設定應用程式路徑
 這裡使用藏在Script中的方式


2. 更換部署方式

3. 測試AJAX是否正常




                                  37
RenderPartial & RenderAction

 RenderPartial 與 RenderAction 的差異?
          RenderPartial                  RenderAction

           Controller                        Controller            Controller




              View                             View                 View



                                    Render    Render      Render
Partial       Partial     Partial
                                    Action    Action      Action




                                                                                38
實際操作 6-1 Validation

1. 增加BlogComment的Metadata

2. 增加所需的js檔

3. 因為是AJAX下載資料,要重新綁定事件

4. 執行




                            39
Validation

 使用System.ComponentModel.DataAnnotations可以輕鬆的做到前後
 端的驗證。
 整合jQuery.validate,擴充性不會太複雜
 常見的Validation有
  Required、StringLength、RegularExpression、Range、Compare
 延伸學習:
  ASP.NET MVC3 如何使用內建驗證功能達到前端與後端的同時驗證 -
   demo小鋪



                                                           40
ModelBinding

 會將Post或Get的值轉換 物件 與 使用HtmlHelper或AjaxHepler可以
 物件 轉換成 HTML元素。
 同時會整個前後端Validation。
 同時也會保存Post資料,可以還原輸入失敗的值。




 延伸學習:
  ASP.NET MVC Model Binding - Part1 – CodeProject
  ASP.NET MVC Model Binding - Part2 - CodeProject


                                                     41
HtmlHelper與AjaxHelper

 HtmlHelper與AjaxHelper,都是用來快速產生HTML的類別,
 同時整合ModelBinding與Validation,這些特色使
 ASP.NET MVC在資料的CRUD上,非常的輕鬆。



 延伸學習:
  ASP.NET MVC HTML Helpers - w3schools




                                          42
實際操作 6-2 AJAX POST

1. 修改AddComment.cshtml,改用AjaxHelper

2. 增加Ajax OnComplete處理,重算Comment Count

3. 在Demo.js增加addCommentComplated function使用
  jQuery來計算Count。




                                              43
RouteData

 因為套用Route後Id不會在QueryString中,而是路徑,不
 能用Request[“Id”]取資料,需要改從RouteData中取資料。




                                       44
實際操作 7

1. 建立LoginViewModel.cs

2. 建立AccountController

3. 建立Shared/_LogOnPartial.cshtml判斷是否登入

4. 建立Account/Login.cshtml

5. 修改Web.Config套用表單驗證




                                         45
ViewModel

 ViewModel通常是為與View溝通用的,通常一個View不會
 剛好使用一個Table資料,或是剛好的欄位(如多處理分頁或
 排序用的欄位)




                                      46
表單驗證與授權

 表單驗證(FormsAuthentication),ASP.NET 2.0之後內建的身
 份驗證模組,通過驗證後會用加密過的Cookie來身份。

 整合HttpContent.Current.User。

 可以使用web.conifg的authorization區段或
 AuthorizeAttribute做權限控制。

 延伸學習
  概略解釋Forms Authentication的運作-The Will Will Web



                                                   47
更換Layout

 Layout(母頁),不是寫死在View最開頭後就不能再改的,
 是可以更動的。

 MVC ViewEngine是先執行子頁,再依子頁中母頁設定,執
 行母頁,再將RenderBoay的地方換成子頁的內容,所以在
 子頁前都有機會更換Layout。




                                     48
VirtualPathFactory View的搜尋

 View有一套預設的搜尋機制,使用相對路徑會,
  先找自己同一層資料夾下的

  然後在找Shared資料夾

 絶對路徑使用”~/Views/”開頭。

 使用絶對路徑要加上副檔名,不會自動判斷。




                             49
實際操作 8 CRUD

1. 建立Blog Add的Action

2. 撰寫EF Create的Code

3. 使用Create的Template建立View

4. 瀏覽時Update( Hit+1 )

5. 執行




                             50
實際操作 9 自訂Route

1. Global.asax.cs在增加MapRoute

2. 測試




                               51
實際操作 10 部署

1. 設定Web.Release.Config

2. 在專案上按右鍵發行

3. 在IIS中建立新站台




                          52
部署

 千萬千萬不用複製原始檔的方式佈署,請使用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
   謝謝各位

Weitere ähnliche Inhalte

Was ist angesagt?

ASP.NET MVC Code Templates實戰開發 -twMVC#4
 ASP.NET MVC Code Templates實戰開發 -twMVC#4 ASP.NET MVC Code Templates實戰開發 -twMVC#4
ASP.NET MVC Code Templates實戰開發 -twMVC#4twMVC
 
Nuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的packageNuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的packageAlan Tsai
 
ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5twMVC
 
輕鬆上手ASP.NET Web API 2.1.2
輕鬆上手ASP.NET Web API 2.1.2輕鬆上手ASP.NET Web API 2.1.2
輕鬆上手ASP.NET Web API 2.1.2Bruce Chen
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2twMVC
 
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3twMVC
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVCjeffz
 
ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索Will Huang
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17twMVC
 
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 MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10twMVC
 
專案分層架構 twMVC#18
專案分層架構 twMVC#18專案分層架構 twMVC#18
專案分層架構 twMVC#18twMVC
 
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3twMVC
 
Study4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionicStudy4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionicKyle Shen
 
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)Will Huang
 
Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘Zhenhua Tang
 
利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式Chui-Wen Chiu
 

Was ist angesagt? (18)

ASP.NET MVC Code Templates實戰開發 -twMVC#4
 ASP.NET MVC Code Templates實戰開發 -twMVC#4 ASP.NET MVC Code Templates實戰開發 -twMVC#4
ASP.NET MVC Code Templates實戰開發 -twMVC#4
 
Nuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的packageNuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的package
 
ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5
 
輕鬆上手ASP.NET Web API 2.1.2
輕鬆上手ASP.NET Web API 2.1.2輕鬆上手ASP.NET Web API 2.1.2
輕鬆上手ASP.NET Web API 2.1.2
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
 
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVC
 
Asp.Net Mvc 1.0
Asp.Net Mvc 1.0Asp.Net Mvc 1.0
Asp.Net Mvc 1.0
 
ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
 
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 MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10
 
專案分層架構 twMVC#18
專案分層架構 twMVC#18專案分層架構 twMVC#18
專案分層架構 twMVC#18
 
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
 
Study4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionicStudy4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionic
 
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
 
Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘
 
利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式
 

Ähnlich wie Asp.net mvc網站的從無到有

twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC
 
Vlog02 [eng sub]什麼是controller和如何在asp.net核心中創建controller?-what is controller ...
Vlog02  [eng sub]什麼是controller和如何在asp.net核心中創建controller?-what is controller ...Vlog02  [eng sub]什麼是controller和如何在asp.net核心中創建controller?-what is controller ...
Vlog02 [eng sub]什麼是controller和如何在asp.net核心中創建controller?-what is controller ...SernHao TV
 
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 MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介Allen Lsy
 
Lab01 cloud project
Lab01 cloud projectLab01 cloud project
Lab01 cloud projectJeff Chu
 
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit TestingASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing江華 奚
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程yiditushe
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程appollo0312
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)wangjiaz
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Gelis Wu
 
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
 
基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现yiditushe
 
Struts快速学习指南
Struts快速学习指南Struts快速学习指南
Struts快速学习指南yiditushe
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練32015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3Duran Hsieh
 
輕鬆上手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#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
 
網站設計100步
網站設計100步網站設計100步
網站設計100步evercislide
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发leneli
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展江華 奚
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC
 

Ähnlich wie Asp.net mvc網站的從無到有 (20)

twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
 
Vlog02 [eng sub]什麼是controller和如何在asp.net核心中創建controller?-what is controller ...
Vlog02  [eng sub]什麼是controller和如何在asp.net核心中創建controller?-what is controller ...Vlog02  [eng sub]什麼是controller和如何在asp.net核心中創建controller?-what is controller ...
Vlog02 [eng sub]什麼是controller和如何在asp.net核心中創建controller?-what is controller ...
 
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 MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
Lab01 cloud project
Lab01 cloud projectLab01 cloud project
Lab01 cloud project
 
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit TestingASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
 
twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用
 
基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现
 
Struts快速学习指南
Struts快速学习指南Struts快速学习指南
Struts快速学习指南
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練32015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
 
輕鬆上手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#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
 
網站設計100步
網站設計100步網站設計100步
網站設計100步
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
 

Mehr von Wade Huang

Introducing taiwan
Introducing taiwanIntroducing taiwan
Introducing taiwanWade Huang
 
Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享Wade Huang
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 9
跟著Wade學習ASP.NET MVC + NHibernate - Day 9跟著Wade學習ASP.NET MVC + NHibernate - Day 9
跟著Wade學習ASP.NET MVC + NHibernate - Day 9Wade Huang
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 12
跟著Wade學習ASP.NET MVC + NHibernate - Day 12跟著Wade學習ASP.NET MVC + NHibernate - Day 12
跟著Wade學習ASP.NET MVC + NHibernate - Day 12Wade Huang
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 11
跟著Wade學習ASP.NET MVC + NHibernate - Day 11跟著Wade學習ASP.NET MVC + NHibernate - Day 11
跟著Wade學習ASP.NET MVC + NHibernate - Day 11Wade Huang
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 7
跟著Wade學習ASP.NET MVC + NHibernate - Day 7跟著Wade學習ASP.NET MVC + NHibernate - Day 7
跟著Wade學習ASP.NET MVC + NHibernate - Day 7Wade Huang
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 6
跟著Wade學習ASP.NET MVC + NHibernate - Day 6跟著Wade學習ASP.NET MVC + NHibernate - Day 6
跟著Wade學習ASP.NET MVC + NHibernate - Day 6Wade Huang
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 5
 跟著Wade學習ASP.NET MVC + NHibernate - Day 5 跟著Wade學習ASP.NET MVC + NHibernate - Day 5
跟著Wade學習ASP.NET MVC + NHibernate - Day 5Wade Huang
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 4
跟著Wade學習ASP.NET MVC + NHibernate - Day 4跟著Wade學習ASP.NET MVC + NHibernate - Day 4
跟著Wade學習ASP.NET MVC + NHibernate - Day 4Wade Huang
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 3
跟著Wade學習ASP.NET MVC + NHibernate - Day 3跟著Wade學習ASP.NET MVC + NHibernate - Day 3
跟著Wade學習ASP.NET MVC + NHibernate - Day 3Wade Huang
 

Mehr von Wade Huang (10)

Introducing taiwan
Introducing taiwanIntroducing taiwan
Introducing taiwan
 
Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 9
跟著Wade學習ASP.NET MVC + NHibernate - Day 9跟著Wade學習ASP.NET MVC + NHibernate - Day 9
跟著Wade學習ASP.NET MVC + NHibernate - Day 9
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 12
跟著Wade學習ASP.NET MVC + NHibernate - Day 12跟著Wade學習ASP.NET MVC + NHibernate - Day 12
跟著Wade學習ASP.NET MVC + NHibernate - Day 12
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 11
跟著Wade學習ASP.NET MVC + NHibernate - Day 11跟著Wade學習ASP.NET MVC + NHibernate - Day 11
跟著Wade學習ASP.NET MVC + NHibernate - Day 11
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 7
跟著Wade學習ASP.NET MVC + NHibernate - Day 7跟著Wade學習ASP.NET MVC + NHibernate - Day 7
跟著Wade學習ASP.NET MVC + NHibernate - Day 7
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 6
跟著Wade學習ASP.NET MVC + NHibernate - Day 6跟著Wade學習ASP.NET MVC + NHibernate - Day 6
跟著Wade學習ASP.NET MVC + NHibernate - Day 6
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 5
 跟著Wade學習ASP.NET MVC + NHibernate - Day 5 跟著Wade學習ASP.NET MVC + NHibernate - Day 5
跟著Wade學習ASP.NET MVC + NHibernate - Day 5
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 4
跟著Wade學習ASP.NET MVC + NHibernate - Day 4跟著Wade學習ASP.NET MVC + NHibernate - Day 4
跟著Wade學習ASP.NET MVC + NHibernate - Day 4
 
跟著Wade學習ASP.NET MVC + NHibernate - Day 3
跟著Wade學習ASP.NET MVC + NHibernate - Day 3跟著Wade學習ASP.NET MVC + NHibernate - Day 3
跟著Wade學習ASP.NET MVC + NHibernate - Day 3
 

Asp.net mvc網站的從無到有