Đang tải... (xem toàn văn)
Giúp học tốt lập trình WEB
Bài s 3 Tng quan v ASP.NET MVC Framework Table of Contents 1 Tại sao sử dụng ASP.NET MVC 2 1.1 ASP.NET MVC là gì . 2 1.1.1 Mô hình MVC cơ bản 2 1.1.2 Một vài đặc tính trong ASP.NET MVC . 2 1.2 Sự khác biệt với WebForm . 3 2 Ví dụ xây dựng ứng dụng với ASP.NET MVC Framework 4 2.1 Tạo Project với ASP.NET MVC Web Application 4 2.2 Tìm hiểu định tuyến URL 8 2.3 Xây dựng mô hình dữ liệu 9 2.3.1 Tao cơ s dữ liệu 9 2.3.2 S dung mô hình LINQ to SQL . 10 2.4 Tìm hiểu về Controllers 14 2.5 Tìm hiểu về Views . 16 2.6 Tìm hiểu về Models 18 2.7 Cấu trúc Views\Shared\Site.Master . 20 2.8 Kết quả 21 3 Câu hỏi ôn tập . 21 4 Tài liệu tham khảo 22 Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 2 1 Tại sao s dụng ASP.NET MVC 1.1 ASP.NET MVC là gì 1.1.1 n 1.1.2 Mt vài c tính trong ASP.NET MVC . , các URL không ASP.NET - Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 3 end- class ( không còn viewstate, page lifecycle ) authenticate, URL authorization, membership/roles, output và data caching, session/profile state, 1.2 Sự khác biệt với WebForm ASP.NET WebForm s d quu có lifecycle, postback và dùng các thc hing cho UI khi có s tác vi dùng nên hu ht ASP.NET WebForm x lý chm. ASP.NET MVC Framework chia ra thành 3 phn: Models, Views, Controllers. Mi dùng vi Views s c thc hi ng trong Controllers, không còn postback, không còn lifecycle không còn events. Vic kim tra ( test ), g li ( debug ) vu phi chy tt c các tin trình ca ASP.NET và mi s i ID ca bt k n ng di vi ASP.NET MVC Framework thì vic có th s dng các unit test có th thnh rt d dàng các Controller thc hi nào. Tính năng ASP.NET 2.0 ASP.NET MVC Ki Kin trúc mô hình WebForm Business Database Kin trúc s dng vic phân chia Models, Views S dng cú pháp ca webform, tt các s kin và controls do server qun lý Các s ki u khin bi controllers, các controls không do server do server qun lý Truy cp d liu S dng hu ht các công ngh truy cp d liu trong ng dng Phn ln dùng LINQ to SQL class to mô hình truy cng Debug i thc hin tt c bao gm các lp truy cp d liu, s hin th u khin các controls Debug có th s dng các unit test ki thc trong controller T phân ti T phân ti chm khi trong trang có quá nhiu các controls vì ViewState quá ln Phân t i qu qun lý các control trong trang i javascript i javasc u khin bi server i javascript d dàng vì ng không do server qun u khin không khó URL Address C a ch URL có dng <filename>.aspx?&<các tham s> C a ch rành mch theo dng Controllers/Action/Id Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 4 2 Ví dụ xây dựng ứng dụng với ASP.NET MVC Framework n gi mi là b xây dng ng dng vi ASP.NET MVC Framework cng hong .NET Framework 3.5 ( c th sau s xây dng vi Visual Studio 2008 ), tip theo cn mt MVC Framework. Mnh trong Visual Studio n ASP.NET MVC Web Applications. Có th download ASP.NET MVC Framework ta ch http://www.microsoft.com/downloads/details.aspx?FamilyId=A24D1E00-CD35-4F66-BAA0- 2362BDDE0766&displaylang=ent ASP.NET MVC Framework. Bây gi có th bu xây dng ng dng vi MVC. 2.1 To Project .NET MVC Web Application t ASP.NET MVC Framework: File New Project Windows C# ASP.NET MVC Web Application ( xem Figure 2). Figure 2. Khi to mt ASP.NET MVC Framework thì mt hp thoi Unit Test xut hin. Chn Yes nu mun to mt Project Test, chn No nu không mun to mt Unit Test. ( xem Figure 3) Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 5 Figure 3. Sau khi mt ng dc to, nhìn vào trong mc Solution Explorer s thy xut hin mc: Models, Views, Controllers chng vi các thành phn Models, Views, Controllers trong mô hình MVC. M rng folder Controllers s thy HomeController.cs, m rng Views s thy folder Home, Shared và Account. M rng folder Home s thy About.aspx và Index.aspx ( xem hình Figure 4 ) Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 6 Figure 4. Solution Explorer MVC Chy ng dng bng cách n F5. Nu là ng dng mi to lu thì s có thông báo hi có cho phép m ch Debug hay không? Nng ý chn debug chn . ( xem Figure 5). Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 7 Figure 5. ET MVC Kt qu khi chy ng dng ( xem Figure 6) là ng dc load vào browser. Trong ví d này ch có 2 trang là Index và About. Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 8 Figure 6. 2.2 Tìm hinh tuyn URL Browser yêu cu ma ch t controller action troc gnh tuyn URL ( URL routing). Url routing s ch nh request ti controller action. URL routing s dng mt bnh tuy u khin các request. Bnh tuyc to khi ng dng bc chy lu tiên. Bnh tuyn c thit lp trong file Global.asax using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace HiTest { // Note: For instructions on enabling IIS6 or IIS7 classic mode, // visit http://go.microsoft.com/?LinkId=9394801 public class MvcApplication : System.Web.HttpApplication { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults ); } protected void Application_Start() { RegisterRoutes(RouteTable.Routes); } } } Khi ng dng chy lu tiên, phc gc này gi m th to ra bnh tuyn. nh tuyn mnh chia mn, mn nm gia 2 du tiên cha tên mn th 2 chn th 3 là tham s u vào ca controller action. Ví d: va ch /Product/Details/3 c hiu là: Controller = ProductController Action = Detail Id = 3 Controller mnh s là HomeController, Action mnh là Index, Id m http://localhost:1727/ Ví d: va ch /Employee: Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 9 Controller = EmployeeController Action = Index Id = “” 2.3 2.3.1 _ New Item .mdf Figure 7. .mdf trong App_Data . 2 table: ( xem Figure 8, Figure 9 ) Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 10 Figure 8. .mdf Figure 9. .mdf 2.3.2 Add New Item LINQ to SQL Classes (Figure 10) . mt Unit Test. ( xem Figure 3) Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 5 Figure 3. . Controller Class ( Figure 13) Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework 15 Figure 13. .cs