Tải bản đầy đủ (.pdf) (22 trang)

Tài liệu Bài số 3: Tổng quan về ASP.NET MVC Framework docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.66 MB, 22 trang )

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 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 Tao cơ s dữ liệu .......................................................................................................... 9
2.3.2 S dung 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 Mt 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 quu có lifecycle, postback và dùng các
 thc hing cho UI khi có s tác vi dùng nên hu ht
ASP.NET WebForm x lý chm.
ASP.NET MVC Framework chia ra thành 3 phn: Models, Views, Controllers. Mi dùng vi
Views s c thc hi  ng trong Controllers, không còn postback, không còn lifecycle không còn
events.
Vic kim tra ( test ), g li ( debug ) vu phi chy tt c các tin trình ca ASP.NET và mi s
i ID ca bt k n ng di vi ASP.NET MVC Framework thì vic
có th s dng các unit test có th thnh rt d dàng các Controller thc hi nào.
Tính năng ASP.NET 2.0 ASP.NET MVC
Ki Kin trúc mô hình WebForm 
Business  Database
Kin trúc s dng vic phân chia
   
Models, Views
 S dng cú pháp ca webform, tt
các s kin và controls do server
qun lý
Các s ki  u khin bi
controllers, các controls không do
server do server qun lý
Truy cp d liu S dng hu ht các công ngh truy
cp d liu trong ng dng
Phn ln dùng LINQ to SQL class
 to mô hình truy cng
Debug i thc hin
tt c bao gm các lp truy cp d
liu, s hin th u khin các
controls

Debug có th s dng các unit test
ki    thc trong
controller
T phân ti T  phân ti chm khi trong
trang có quá nhiu các controls vì
ViewState quá ln
Phân t    i
qu    qun lý các
control trong trang
i javascript   i javasc  
u khin bi
server
i javascript d dàng vì
ng không do server qun
u khin không khó
URL Address C  a ch URL có dng
<filename>.aspx?&<các tham s>
C  a ch rành mch theo
dng 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 mi là b xây dng ng
dng vi ASP.NET MVC Framework cng hong .NET Framework 3.5 ( c th 
sau s xây dng vi Visual Studio 2008 ), tip theo cn mt MVC Framework. Mnh trong Visual Studio
n ASP.NET MVC Web Applications. Có th download ASP.NET MVC Framework ta ch
/>2362BDDE0766&displaylang=ent ASP.NET MVC Framework. Bây
gi có th bu xây dng ng dng vi MVC.

2.1 To 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 to mt ASP.NET MVC Framework thì mt hp thoi Unit Test xut hin. Chn Yes nu mun to mt
Project Test, chn No nu không mun to mt 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 mt ng dc to, nhìn vào trong mc Solution Explorer s thy
xut hin mc: Models, Views, Controllers chng vi các thành phn
Models, Views, Controllers trong mô hình MVC.
M rng folder Controllers s thy HomeController.cs, m rng Views s thy folder Home, Shared và Account.
M rng folder Home s thy 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
Chy ng dng bng cách n F5. Nu là ng dng mi to lu thì s có thông báo hi có cho phép m ch 
Debug hay không? Nng ý chn debug chn
. ( xem Figure 5).
Microsoft Vietnam – DPE Team |Bài số 3: Tổng quan về ASP.NET MVC Framework
7



Figure 5. ET MVC
Kt qu khi chy ng dng ( xem Figure 6) là ng dc 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 hinh tuyn URL
Browser yêu cu ma ch t controller action troc gnh tuyn URL (
URL routing). Url routing s ch nh request ti controller action. URL routing s dng mt bnh tuy
u khin các request. Bnh tuyc to khi ng dng bc chy lu tiên. Bnh tuyn
c thit lp 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

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 dng chy lu tiên, phc gc này gi m
th to ra bnh tuyn.
nh tuyn mnh chia mn, mn nm gia 2 du tiên
cha tên mn th 2 chn th 3 là tham s u vào ca
controller action.
Ví d: va ch /Product/Details/3 c hiu là:
Controller = ProductController
Action = Detail
Id = 3
Controller mnh s là HomeController, Action mnh là Index, Id m  http://localhost:1727/
Ví d: va ch /Employee:

×