tổng quan về asp.net mvc framework

22
Bài số 3 Tổng 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 MVCFramework................................................ 4 2.1 Tạo Project với ASP.NET MVC Web Application............................................................................................... 4 2.2 Tim 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ử dụng mô hình LINQ to SQL................................................................................................................ 10 2.4 Tim hiểu về Controllers............................................................................................................................................. 14 2.5 Tim hiểu về Views......................................................................................................................................................... 16 2.6 Tim hiểu về Models..................................................................................................................................................... 18 2.7 Câu trúc Views\Shared\Site.Master..................................................................................................................... 20 2.8 Kêtquả ............................................................................................................................................................................. 21 3 Câu hỏi ôn tập...................................................................................................................... 21 4 Tài liệu tham khảo ......................................................................................................................... 22

Upload: reaper

Post on 08-Nov-2015

32 views

Category:

Documents


11 download

TRANSCRIPT

  • Bi s 3

    Tng quan v ASP.NET MVC Framework

    Table of Contents

    1 Ti sao s dng ASP.NET MVC.......................................................................................... 21.1 ASP.NET MVC l g................................................................................................................................2

    1.1.1 M hnh MVC c bn................................................................................................................................... 2

    1.1.2 Mt vi c tnh trong ASP.NET MVC................................................................................................... 2

    1.2 S khc bit vi WebForm....................................................................................................................3

    2 V d xy dng ng dng vi ASP.NET MVC Framework................................................ 4

    2.1 To Project vi ASP.NET MVC Web Application...............................................................................................4

    2.2 Tim hiu nh tuyn URL............................................................................................................................................. 8

    2.3 Xy dng m hnh d liu...........................................................................................................................................9

    2.3.1 Tao c s d liu...........................................................................................................................................9

    2.3.2 S dng m hnh LINQ to SQL................................................................................................................ 10

    2.4 Tim hiu v Controllers............................................................................................................................................. 14

    2.5 Tim hiu v Views.........................................................................................................................................................16

    2.6 Tim hiu v Models..................................................................................................................................................... 18

    2.7 Cu trc Views\Shared\Site.Master..................................................................................................................... 20

    2.8 Ktqu............................................................................................................................................................................. 21

    3 Cu hi n tp......................................................................................................................214 Ti liu tham kho......................................................................................................................... 22

  • 1 Ti sao s dng ASP.NET MVC

    1.1.1 M hnh MVC c bn

    MVC vit tt ca cc ch ci u ca Models, Views, Controllers. MVC chia giao din UI thnh 3 phn tng ng: u vo ca controller l cc iu khin thng qua HTTP request, model cha cc mien logic, view l nhng th c sinh ra tr v cho trnh duyt.

    Li ch ca vic dng phng php MVC l s phn on r rng gia models, views, controllers bn trong ng dng. Cu trc sch s gip cho vic kim tra li ng dng tr nn d dng hn.

    1.1.2 Mt vi c tnh trong ASP.NET MVC

    Tch r rng cc mi lin quan, m kh nng test TDD (test driven developer). C the test unit trong ng dng m khng cn phi chy Controllers cng vi tin trnh ca ASP.NET v c th dng bt k mt unit testing framework no nh NUnit, MBUnit, MS Test, v.v...

    C kh nng m rng, mi th trong MVC c thit k cho php d dng thay th/ty bin ( v d: c th la chn s ng engine view ring, routing policy, parameter serialization, v.v..

    Bao gm mt nh x URL mnh m cho php xy dng ng dng vi nhng URL sch, cc URL khng cn cs phn m rng ( v d: c th nh x a chi /Products/Edit/4 thc hin hnh ng Edit ca lp iu khin ProductControllers hoc nh x a ch /Blog/SomeTopic thc hin hnh ng Display Topic ca lp iu khin BlogEngineController)

    ASP.NET MVC Framework cng h tr nhng file ASP.NET nh .ASPX .ASCX v .Master, nh du cc tp tin ny nh mt view template ( c th d dng dng cc tnh nng ca ASP.NET nh lng cc trang Master, snippets, m t server controls, template, data-binding, localization, v.v... ). Tuy nhin s

    Figure 1. M hnh MVC c bn

    Microsoft Vietnam -D P E Team IBi s 3: Tng quan v ASP.NET MVC Framework 2

  • khng cn postback v interactive back server v thay vo l interactive end-user ti mt Controller class ( khng cn viewstate, page lifecycle )

    ASP.NET MVC Framework h tr y cc tnh nng bo mt ca ASP.NET nh forms/windows authenticate, URL authorization, membership/roles, output v data caching, session/profile state, configuration system, provider architecture v.v...

    1.2 S khc bit vi WebForm

    ASP.NET WebForm s dng ViewState qun l, cc trang ASP.NET u c lifecycle, postback v dng cc web controls, cc events thc hin cc hnh ng cho UI khi c s tng tc vi ngi dng nn hu ht ASP.NET WebForm x l chm.

    ASP.NET MVC Framework chia ra thnh 3 phn: Models, Views, Controllers. Mi tng tc ca ngi dng vi Views s c thc hin hnh ng trong Controllers, khng cn postback, khng cn lifecycle khng cn events.

    Vic kim tra ( test ), g li ( debug ) vi ASP.NET u phi chy tt c cc tin trnh ca ASP.NET v mi s thay i ID ca bt k controls no cng nh hng n ng dng. i vi ASP.NET MVC Framework th vic c th s dng cc unit test c th thm nh rt d dng cc Controller thc hin nh th no.

    Tnh nng ASP.NET 2.0 ASP.NET MVC

    Kin trc chng trnh Kin trc m hnh WebForm -> Business -> Database

    Kin trc s dng vic phn chia chng trnh thnh Controllers, Models, Views

    C php chng trnh S dng c php ca webform, tt cc s kin v controls do server qun l

    Cc s kin c iu khin bi controllers, cc controls khng do server do server qun l

    Truy cp d liu S dng hu ht cc cng ngh truy cp d liu trong ng dng

    Phn ln dng LINQ to SQL class to m hnh truy cp i tng

    Debug Debug chng trnh phi thc hin tt c bao gm cc lp truy cp d liu, s hin th, iu khin cc controls

    Debug c th s dng cc unit test kim tra cc phng thc trong controller

    Tc phn ti Tc phn ti chm khi trong trang c qu nhiu cc controls v ViewState qu ln

    Phn ti nhanh hn do khng phi qun l ViewState qun l cc control trong trang

    Tng tc vi javascript Tng tc vi javascript kh khn v cc controls c iu khin bi server

    Tng tc vi javascript d dng v cc i tng khng do server qun l iu khin khng kh

    URL Address Cu trc a ch URL c dng .aspx?&

    Cu trc a ch rnh mch theo dng Controllers/Action/Id

    Microsoft Vietnam -D P E Team IBi s 3: Tng quan v ASP.NET MVC Framework 3

  • 2 V d xy dng ng dng vi ASP.NET MVC Framework

    Tnh nng ASP.NET MVC Framework hin gi mi l bn Beta trong .NET Framework 3.5. e xy dng ng dng vi ASP.NET MVC Framework cn c mi trng hot ng .NET Framework 3.5 (c the chng trinh sau s xy dng vi Visual Studio 2008 ), tip theo cn mt MVC Framework. Mc nh trong Visual Studio 2008 cha c sn ASP.NET MVC Web Applications. C th download ASP.NET MVC Framework ti a chi http://www.microsoft.com/downloads/details.aspx ?Familyd=A24DlE00-CD35-4F66-BAA0- 2362BDDE0766&displaylang=en. Ci t Visual Studio 2008 sau ci t ASP.NET MVC Framework. By gi c th bt u xy dng ng dng vi MVC.

    2.1 To Project vi ASP.NET MVC Web Application

    Trong chng trnh Visual Studio 2008 ci t ASP.NET MVC Framework: File -> New Project -> Windows c# ASP.NET MVC Web Application ( xem Figure 2).

    S ta rt P a g e - M icro soft V isu a l S tu d io

    F ie Edit View Tools T e s t W indow Help

    a - i * u aW \ s t a r t P a g e

    c .C o n ten t

    I Microsoft*

    VisuRecent Projects

    XHTest

    P ro ject types:

    O pen:C rea te :

    Pr.Kr http://localhost: 1727/

    V d: vi a ch /Employee:

    Microsoft Vietnam DPE Team IJBi s 3: Tng quan v ASP.NET MVC Framework 8

  • Controller = EmployeeController Action = Index Id = ""

    2.3 Xy dng m hnh d liu

    2.3.1 To cd s d liu

    T AppJData click phi chut chn Add -> New Item -> SQL Server Database t tn Databasemdf

    Odd N e w H e m - Ban Hang 7 X

    Categories: Templates: m BS Visual C# Visual Studio installed templates

    CodeData J SQL Server Database Jj] Text FileGeneral j/ ] XML File XML Schema

    S. WebWindows Forms My TemplatesWPF

    . j Search Online Templates...ReportingWorkflow

    An empty SQL Server database

    Name: Databaselmdf ]

    I Add 1 Cancel Ir y n n n j r l u i ' i r t r i n u r a r

    Figure 7. To c s d liu Database.mdf trong App_Data

    Trong c s d liu Database.mdf to 2 table: ( xem Figure 8, Figure 9 )

    Microsoft Vietnam -D P E Team IBi s 3: Tng quan v ASP.NET MVC Framework

  • BanH anq - M icroso ft V isu a l S tu d io

    File Ecfct Vtew P ro je c t Build D ebug D a ta

    S ' ' 3 a m [ H a a .

    Table D esigner Tools T e s t

    D ebug

    W indow Help

    - Any CPU c .C o n te n t Add -> New Item ->LINQ to SQL Classes (Figure 10)

    Microsoft VieCnum DPE Team IBi su 3: Tng quun v ASP.NET MVC Framework 10

  • T Server Explorer -> Ko th 2 tables LoaiSanPham, SanPham vo file DataClasses.dbmI

    Bon Han g - M icrosoft V isu a l S tu d io - * X

    File Edit View P ro jec t Build D ebug Tools T e s t Window Help

    . J3 - - 3 & * f*buoS erv e r Explorer T ? X33 %1

    B

    S Ut D a ta b a se .m d f$ [_ J D a ta b a se D iagram s

    S ^ 3 TablesJ LoaiSc'-Pham

    j u2 ] TenLoaiSanPham

    " 3 SanPham

    SI IdS 3 T enSanPham [ | ] D onG a GO SoLuong

    S 3 LoaiSanPham

    V*ws$ S to red P ro ced u res$ FunctionsS Synonym s

    a LA T ypesa U Assem blies

    .*5^ S ervers

    a 4 g'3* ^

    S erv e r Explorer

    R eady

    T he O b jec t R e la tio n a l D e s ig re r a llo w s y o u to v isual c la s s e s In y o u r c o d e .

    S e rv e rE x p lo re rT o o lb o x

    C re a te m e th o d s by d ra g g in g item s from

    S e rv e r E xp lo rer itolesign surface.

    A

    Solution E xplorer - Solution "BanHang' (2 p r . ..

    a j > a a m !=| B a n H a n g

    ffl P ro p er b e s

    a R e fe re n c e s S xJi App_D ata

    S I j j D a ta b a se .m d f ffl [ _ J C o n ten t

    E) LJS' C on tro le rs^ AccountControU er.cs

    cJSj) H om eC on tro le r.es SanPham C ontro ller.es

    B Models

    Ia f a sen p ts -

    1=1 Views

    5 Ld A ccounta U C h an g eP assw o rd .a sp xa I d C h angeP assw ordS uccess .ca 2 i Login, asp xa R eg is te r.a sp x

    e L J r H o m e

    a q ] A bout, asp x

    a l i In d e x .a sp x S Ld SanPham

    a liiJ In d e x .a sp x

    | B LJ S hareda ~]j Err o r. asp x

    a .3- L oginU serC ontrol.ascxa [ j S ite .M aster

    W eb.config ffi D efau lt, a sp x

    El G lobal.asaxlij) G Iobal.asax .es W eb.config

    3 ^ B anH ang .T ests , l+i -^1 Prnnertw*:

    Figure 10. To file DataClasses.dbml s dng 2 bng LoaiSanPham v SanPham

    Trong file DataCIasses.dbml click phi chut chn Add - Association to lin kt gia 2 table. (Figure 11)

    Microsoft Vienum DPE Team IBi su 3: Tng quun v ASP.NET MVC Framework 12

  • 2.4 Tm hiu v Controllers

    Controller chu trch nhim iu khin cc tng tc ca ngi dng bn trong ng dng MVC. Controller s quyt nh ci g c tr v cho ngi dng khi ngi dng to ra mt request trn browser.

    Mt controller l mt class ( c# class hoc VB class). Trong v d ng dng ASP.NET MVC Web Application mu lun tn ti 2 controller l AccountController.es v HomeControIIer.es nm trong folder Controllers

    HomeController.es

    using System;using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Mvc.Ajax;

    namespace HiTest.Controllers {

    [HandleError]public class HomeController : Controller {

    public Index 0{

    ViewData["Title"] = "Home Page";ViewData["Message"] = "Welcome to ASP.NET MVC!";

    return ViewO;I

    public ActionResuit About 0I

    ViewData["Title"] = "About Page";

    return ViewO;1

    I}

    Trong HomeController.es C 2 phng thc l IndexO v About(). Hai phng thc ny l 2 action trong controller HomeControlIer.es n thc hin khi c gi bng a ch /Home/Index v /Home/About. Bt k phng thc no c thuc tnh public u l mt action trong controller.

    To mt Controller mi

    Trong folder Controllers phi chut chn Add -> New Item -> MVC Controller Class ( Figure 13)

    Microsoft VieCnum DPE Team IBi SU 3: Tng quun v ASP.NET MVC Framework 14

  • Rdd Ne LU Item - Ban Hang ? X

    Categories: Templates: m & Visual C S

    Code Data General

    ffl WebWindows Forms WPFReportingWorkflow

    visual btuoto installer templates

    rrf] Web Form j : Web User Controli t ] MVC Controller Class 'J * n ^ ^ ie w Master Page ill) MVC View User Control -SjAJAX Client Control

    n AJAX Master PageAJAX-enabled WCF Service

    erf] Assembly Information File Class Code File

    ^Debugger Visualizer HTML Page

    1 . r_____________________________________

    I " ! Master Page l|2l Web Content Form ~ | MVC View Content Page nil MVC View Page .3 ] AJAX Client Behavior SjjA JAX Client Library f ]^ AJAX Web Form

    Application Manifest File ^ B ro w se r File ^j Class Diagram [|3| DataSet ^ Generic Handler j] Installer Class

    MVC Application Controller Class (Beta) (ASP.NET MVC Framework requires Controller names to be suffixed with "Controller")

    Name: f SanPhamConfr oller, es

    Add Cancel

    Figure 13. To controller tn l SanPhamController.es

    SanPhamContxoller.es

    using System;using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Mvc.Ajax; using BanHang.Models;

    namespace BanHang.Controllers {

    public class Sanl-hamControllei : Controller {

    DataClassesDataContext data = new DataClassesDataContext();

    public Index(){

    >

    // Add action logic here ViewData["Title"] = "Sn phm";

    return RedirectToAction("DanhMucLoaiSanPham");

    public I DanhMucLoaiSanPham(){

    // Code cua ban o dayViewData["Title"] = "Eanh mu loa San phm";

    < > Isp = data.LoaiSanPhams.ToList();

    return View("DanhMucLoaiSanPham", Isp);}

    public DanhSachSanPham(string loaisanpham){

    ViewData["Title"] = "Canh sach San phm trong loai San phm";Microsoft Vielnum DPE Team \Bi su 3: Tng quan v ASP.NET MVC Framework

  • < > sp = data.LaySanPhamTuLoaiSanPham(loaisanpham);

    return View("DanhSachSanPham", sp);}

    public ChiTietSanPham(int id)I

    ViewData["Title"] = "Chi tit San phm";

    ctsp = data.LaySanPhamQualD(id);

    return view("ChiTietSanPham", ctsp);1

    I}

    2.5 Tm hiu v Views

    Trong controller HomeController.es, c hai phng thc IndexO v About() u tr v mt view. Mt view cha cc th HTML v c tr v cho browser. Trong m hnh MVC th mt view tng ng vi mt trang .aspx trong WebForm.

    View phi c to ng v tr ng dn. V d vi controller HomeController.es th hnh ng HomeController.IndexO tr v mt view nm v tr ng dn \Views\Home\Index.aspx v HomeController.AboutO s tr v mt view nm v tr ng dn \Views\Home\About.aspx

    View About.aspx

    About Us

    TODO: Put about content here.

    View Index.aspx

    To learn more about ASP.NET MVC visit http://asp.net/mvc.

    Tat c cc thuc tnh nm gia 2 th u c nh dng HTML v c th ty sa i theo mun.

    To view cho controller SanPhamController.es, trong SanPhamController.es c 4 phng thc public l Index(), DanhMucLoaiSanPhamO, DanhSachSanPhamO v ChiTietSanPhamO nn trong Views phi to 4 view tng ng l Index.aspx, DanhMucLoaiSanPham.aspx, DanhSachSanPham.aspx, ChiTietSanPham.aspx bng cch t

    Microsoft Vietnam -D P E Team IBi s 3: Tng quan v ASP.NET MVC Framework 16

  • folder Views click phi chut chn Add -> New Folder nhp tn folder mi to l SanPham. T folder SanPham click phi chut chn Add -> View... (Figure 14) (v d to view DanhMucLoaiSanPham)

    R dd VieLU ? X

    View name:

    DanhMucLoaiSanPhaml

    ~1 Create a strongly-typed view

    View data dass:

    0 Select master page

    -/Views/Shared/Site. Master QAdd Cancel I

    Figure 14. To view DanhMucLoaiSanPham trong folder SanPham

    Index.aspx

    la'trang chinh cu san phm< /a sp :C o n te n t>

    DanhMucLoaiSanPham.aspx

    y la'danh mu loa san phr

    DanhSachSanPham.aspx

    y la'danh sach san phm co'trong chuyn mu

    ChiTietSanPham.aspx

    Microsoft Vietnam -D P E Team IBi s 3: Tng quan v ASP.NET MVC Framework 17

  • la'Chi tit San phm

    2.6 Tm hiu v Models

    Mt model trong ng dng ASP.NET MVC cha tt c cc nghip v logic m khng c trong controllers v views. Models cha tt c cc tng truy xut d liu logic v tng nghip v logic. V d, nu s dng LINQ to SQL truy nhp d liu th phi to LINQ to SQL class ( file nh dng dbml) trong folder Models.

    M hnh d liu LINQ to SQL ( Figure 15 )

    Solution Explorer - Solution 'BanHang' (2 projects) -B X

    I u? m I m m *Solution 'BanHang' (2 projects)

    BanHang cl Properties ^ References (1 uQ App_Data Content Conollers

    :*v) AccountController. cs c*y HomeContoiler.cs

    SanPhamConfroller.es s 1^ 5 Models

    ^ DataClasses.es ^ DataClasses.dbml.layout

    DataClasses. designer. csffl Scripts s Views

    AccountIB ChangePassword.aspx ifil ChangePasswordSuccess.aspx ll Login.aspxS3 Register.aspx

    a HomeSI lH About, aspx SI iH Index.aspx

    0 {I SanPhamIB Lfj ChiTietSanPham.aspx DanhMucLoaiSanPham. aspx DanhSachSanPham.aspxS3 i n Index.aspX

    Figure 15. M hnh d liu LINQ to SQL

    Xy dng Ip tr gip cho vic thao tc vdi d liu thng qua LINQ to SQL

    DataClasses.es

    using System;using System.Collections.Generic; using System.Linq;

    namespace BanHang.Models

    Microsoft Vietnam -D P E Team IBi s 3: Tng quan v ASP.NET MVC Framework 18

  • partial class DataClassesDataContext {

    public < > LayCacLoaiSanPham()

    return LoaiSanThams.ToList();

    public < > LaySanPhamTuLoaiSanPham(string loaisanpham)

    return SanPhams.Where(1 => 1.LoaiSanPhaml.Id == loaisanpham) .ToList ();

    public LaySanPhamQualD(int id)

    return SanPhams.Single(s => s.Id == id);

    Vi lp tr gip c th thao tc d dng hn vi CO' s d liu khi cn . Chng hn vi lp DataClasses.es trn khi cn truy nhp ly thng tin v sn phm c m Id , c th vit nh sau trong bt k mt code -behind no ca Views (v d vi view DanhMucLoaiSanPham.aspx.es trong folder Views):

    BanHang - Microsoft V isual Studio

    File Edit View Refactor Project Build Debug Tools Test Window Help

    3 ' A ' 3 A & A A * ) ' - Debug * Any CPUm % b . " & I 1 t d m

    Start Page DanhMucLoaiSanPham.aspx.cs DanhMud.oa.SanPham.aspx SanPhamController.es

    Sgt;

    BanHang. Views. SanPham. DanhMucLoaiSanPham V VPage_LoadO

    Q using System;using System.Collections.Generic; using System.Linq; using System.Web; using System. Web .Mvc;

    Lusing BanHang.Models;

    namespace BanHang.Views.SanPham{

    public partial class DanhMucLoaiSanPham : ViewPage {

    public void Page_Load()}

    >

    Figure 16. Binding data vo trong ViewADanhMucLoaiSanPham.aspx.es

    Khi ta phi sa i li file Views\DanhMucLoaiSanPham.aspx cho ph hp vi code trn

    Microsoft Vietnam -D P E Team IBi sd 3: Tng quan v ASP.NET MVC Framework 19

  • la'danh mu loa San phm

    Views ch cha tt c nhng g hin th cho ngi dng trn browser, Controllers ch cha cc logic m tr v view no cho ngi dng hoc hng t action ny n action khc. Cn li tt c u c vit trong Models.

    2.7 Cu trc Views\Shared\Site.Master

    My Sample MVC Application

    Microsoft Vietnam -D P E Team IBi s 3: Tng quan v ASP.NET MVC Framework 20

  • My Sample MVC Application Scopy; Copyright 2008

    >3- O a n h m u c lo a i s a n p h m - M o z il la F i re fo x --------------------------------------------------------------------------------------------------------------------------- :

    0 e Edit View sto ry Bookmarks Tools Help

    QP c \AJ 1 http://localhost:2430/SanPham/DanhMud.oaiSanPham * |G|- TMVCFrameworkretui\Jk Most Visited ^ Getting s tarted L Latest Headknes

    L_ ASP.NETMVCFr... ASP.TMVCNo . 32BmldmgaSmple ... [p] ASP.NETMVCFt... [ i ] ASP.NET MVC Ft... 1_3 Developer Notes . ASP.NET MVC Fr. 1_J D anh m .[ L o g in ]

    My Sample MVC Application

    Figure 7. Ket qu chy ng dng khi thm SanPham vo ng dng ASP.NETMVC

    3 Cu hi n tp

    Hi: Views ca MVC c th s dng AJAX, javascript khng?p: c, v bn chat, view trong ASP.NET MVC Framework cng l mt trang .aspx nh vi m hnh WebForm v th c th thc hin cc tc v tng t. V th vic s dng jQuery, ASP.NET AJAX, v javascript u c th thc hin c.

    Hi: Xy dng ng dng vi ASP.NET MVC Framework th trang web s chy nhanh hn so vi xy dng trn nn WebForm c?p: Cha hn l th. Neu xy dng trang web vi nn tng WebForm m s dng t cc controls, usercontrols hoc t events th gi tr ViewState v PostBack khng ln nn s thc thi khng hn chm. Trang web xy dng theo nn WebForm ch thc hin chm khi gi tr ca ViewState l qu ln.

    Hi: C phi thc hin test v debug n ASP.NET MVC Framework d dng hn so vi nn tng WebForm. p: ng. V vic thc hin test v debug trn ASP.NET MVC Framework ch phi thc hin trn Controller nn d dng kim sot hn so vi thc hin test v debug trn WebForm.

    Microsoft Vietnam -D P E Team IBi s 3: Tng quan v ASP.NET MVC Framework 21

  • 4 Ti liu tham kho

    http://www.asp.nehttp://weblogs.asp.netyscottgu/archive/2007/l 0/14/asp-net-mvc-framework.aspx

    Microsoft Vietnam -D P E Team IBi s 3: Tng quan v ASP.NET MVC Framework 2 2