! "#$%&'"%%()*+,- ./(0)12134)50,')'"6(3 0! 507 89:,'&'";,0<, <)'2(=,!')>?># '.@'(+2 A:':'B.C(84"C(:!.)C(84" +:02")7892B.D0!4"(E %'%.':':'4"! F+="7*89C(G,)/H8').D6 .@'(+2I(,J=6(K+L0KC(M '2M4"! 5%( %():NNOPN 1 FQRQ S"FQ;:<T<UVVVVVVVVVVVVVVVVVVVVVVN S"FQ;:A8VVVVVVVVVVVVVVVVVVVVVVVVVN S"FQ;:%!VVVVVVVVVVVVVVVVVVVVVVVVVVN F1(VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN WX<YZ("[6F,%!F[;<' PPR\2].:-VVVVVVVVVVVVVVVVVVVVVVVVN PN5-4"U2.F[;VVVVVVVVVVVVVVVVVVVN P^&4"U2.F[;VVVVVVVVVVVVVVVVVVVN P_`'2:U2.ab'JU2.F[;VVVVVVVVVVVVN WXX;:<W;9A8<'U2.F[; NP;::0"(VVVVVVVVVVVVVVVVVVVVVVN NNcd'(VVVVVVVVVVVVVVVVVVVVVVVVN N^;''U'F'>VVVVVVVVVVVVVVVVVVVN N_[e2VVVVVVVVVVVVVVVVVVVVVVVVVVVVN NfF'>2VVVVVVVVVVVVVVVVVVVVVVVVVVVVN WXXXg*>Bh>Q`.'`' 2 3 4 5 !"#$%&' %0"0"eU2.3>E>J.!M)" K - ! 0( M )" 8' : .'i - M h( .: -F'2>'b('",Q-2=>Q>E>07*>B "e"K3U2.aj'$-B0=6(K U2.aj'$->k83!"+ 9!aj')l:m'8:(')7'7)B2%) 98)>E-(;n!U2.aj'>k":*9 ?$2=>Q'" ;n!U2.aj',n$-4"nK)0 >k:e''2:-B0+'cXK2B9: J>k(B0*":,':)02= >Q[e`"-C(8G):"e6(Kb).'2" U2.F[;n+2BB""'U2.aj'$7*>B J^.noF'>2pMC(">=0(q)[e2p"'>0q);''2p6( -q)0""e"6(..'07*>B"e+ :r)5s[J3(^J.0*3.)2="Y'5"+h 2s>E>9 [J=(-MU2.F[;##2s68-7*>B.: -eG1<(M!*,0J)M[0"(" $:.>Q(K!@,6()(:2M6(" K;n!>6Mh(6F[;-:':' B.4"! #()*' Mh(F[;J=Qno − %thJ − Z(:!!-(.*"'8B4"! − WQQ07*>B+h>QF[;'B +%,-.&/0.)*' − U2.F[;NO − g*>Bh>Q:B( W9.:.Mh(o − Mh(G(,C("'' − <,C(":n>Q)>'M − <Y$.h-7*>Bh>QB 123!".&%4%5' − %0"U2.F[;,0J[0":2M? "6()n!':':B.2s+0( t.:2M"((!6(6,0J − U2.F[;K6((-$+)K2s9""'U2. aj')'M0!-(6K2sK!nBB-"')K- :.>Q'*'59" 6 67 89:$;:<!=>?% @=@=ABC6%<D' ['=uO4"LNO).vn0g'7WUd;1W"'U'`B "4""'>0w"px"."c2Xb"q.!J$ pyiy>W'"q'.m..!M0J"'>0w"K (+n.9h4"K&,>T1K:Mh(4"g'7 WUd;'"F[;#4"F'>z[ez;'' F[;$.:g'7WUd;1<d2"(F[;(M7(3 0,"'`""z{O)2"(K2"(+">,K,! 6F[;)"8'0(`""z{O;:0((MC("6(, |U''''b'(2F'>z[ez;''c2Xb"W""> `""z{O})1x&"2`.W'.)7(38:{P~{{ <! ;,0 `h -( •("22 ;''x"e" Xb"p;xXq 98)" RB" >( 3 '- ;'e 2)M6( (Mp: !M€ M%%'• M((q ;3.3. A'‚" F'2'bX S"""2;'' pXS;q ;'e 2 ;HKK' =*((3 `ZR." ':C(8K \> P~~ƒ U`W"2 pU`Wq FQn( <,>\ "B g(J|2." '>} NOON„O^ U`WI<PO„PP $M>\ x"'>0K : ;3(J g(J.! J$ 56M , %<FRK! &,-2 NOOf U`WI<NO NOOu U`WI<Ui"7 NOO{ U`WI<^f NOO~ U2.F[;PO NOPO U2.F[;NO U`WI<_O 7 NOPP U2.F[;^O @=E=FDGH/=?%:' − <:r:MC(")182<SSp2>>'.q;K -2('h>Q,;''kJ! U2.K->k3!+(2b"e''c)FAc)F` <2 − ;K81+)h'F[;$'.m.>E>" Y k pn >QoK - B" 2] >Q e M) '( .').""2"‚"'Vq − cs)'2:)(,:(,K.1+"2.7[n>QoK- :7\"H„W'>(„I>„_-B0+|I>}4"J.6(- W'>(;'' − U2.F[;@Y$:b>U2."2.7)"27)F"2: >3(:.+|e."}pK->E>>k:n 4" U2. w F"2 W") …†‡…† 2 2) , 8 2 ''2) .")>""z>)'"‚"')Vq − <(M2s,v.'2"""2"'K ">z(2J+;''"22)2s,Ke2")."b − U2.F[;Y$4:n8'4"U2.b'„e>'e2 "(") c "('‚"') 2.„'2)'(.( >"" ") 222'„.'b2")'b("'22).'>"(V @=I=J<KGH/=?%:' <',!F[;+$w">kpxcX;'.'qw^. 98oF'>2)[e2);''2 − F'>2o':h>Q>B"MF[;K=.K0Q (=,):4":$),K+J.$ :7T+8';`SRR3n>Q)"KJ.W'>($2]>Q -,8>=0(T8W'>(2'`ZR)"'wW'>(XS)y>S" 8 − [e2o.\(:0-\M:,'>k ,C(""'>0<,):,-\$3T. F'>2[n>Q)$W'>(K+ˆI>ˆe"'w:7'72): >'.>'e2'72-H2]":(+n4"28.‰ŠK+ ˆS2."ˆewN>v)+>vW'>(XS)>v2"(y>S"- 7,628.‰ − ;''o\(:07=G::+65"'>0):"': JF'>2)(k+[e2n$.--\)' F[;[eHK:0-\"'>0,)v6(->v .7(3?>';'' F+$-4"F[;K#(+.8'"2B'M="^ .'>2)e2)''2'h>QS(!$C("0 0-"h>Q>E>9)w:04": .$\ "r6(J.J"( @=L= B! BH/=?% M?NO!< : PH/=?%: ' − U2. ab' 2] >Q [e2" - C(8 G : " e 6( K b).'2")>k:e''2):2-B0:+ 'cXK2B9:J>kM(U2.7]G − U2.F[;j"e'"^.oF'>2)[e2);''2F 9 : J [e2 2s B 0 + ' ;'') , v .'2")b:2 − [0-"2•)>(JU2.6(.838:!4" U2.2B"YXS4"'''@81h>Q JU2.F[;j"e'!0K-2]>Q(2-‰\: ;''2B0' <n U2.ab' U2.F[; & ab'zA(222z S"""2 F'>2z[e2z;''2 ;.:.9! <3 8 : 2B 0 ''>'2C(8G ;:2B0 >';''2 C(8G <(.>=0( `=>Q(:, 0(.>=0(' h>Q `]>QRZ'`C"22 -',!(. $ S( S( 9 ! .8 B 0 3 8 "' w :J.(.>=0()- \)6(-:'' `]>Q(2-- " : .9 h ' ;'' <+.*8 ; ! ' " K 6(''[e2" J " , .8 C(8G:[e2" <9:J•""2. &K >' : '' $C(8G12 SE > 9 >' : $,>'2C(8 G c">>22 ;3( ( K >o …b"‹"2.7Œ•…" 2‹ ;3(\"H ' > ;''„U'„X> 9 677 &6Q<!H/=?%: E=@=J>R' <'+h>Q7*>BM,!F[;6($"^.F'>2) [e2);''2 A3h+C(2'22s$7]G1;'');''2s. C(2K7=G)M';''2sK6(U'2)•U'9h7= G+C(2[n>Q"KW'>(;''M'K[eU'-. C(2-77m,4"P.'>()'*c.>"U'. C(2.28.‰>kn"Y,28.‰ <F'>2>0'=JM'04")J+20 !A(222R'K-l'F'>2'5l';''k ' `"(;''0JF'>2-3,'>k! ;''2s]'[e2+S""F'>[e22s>:S""F'>K" -\'>k 10 [...]... với phương thức POST Trả Về Câu Lệnh JavaScript : Ta có thê dùng phương thức JavaScript() đê trả về một JavaScriptResult 23 Đê làm việc này ta phải sử dụng đến MicrosoftAjax.js và MicrosoftMvcAjax.js Trả Về File Và Dữ Liệu Dạng Nhị Phân: FileResult là lớp cơ sở trừu tượng dùng cho việc gửi dữ liệu nhị phân đến trình duyệt Asp.net MVC đã xây dựng 3 lớp con... lý request.Trong Asp.Net MVC nó thường là một thê hiện của MvcRouteHandler + Values: Từ điên chứa tên và giá trị được lấy từ request cộng thêm giá trị mặc định của tham số trong url + DataTokens: là từ điên chứa cấu hình bổ sung được cung cấp bởi route đưa vào 3 Nó gọi RouteHandler của RouteData, nó cung cấp cho RouteHandler thông tin về yêu cầu hiện tại thông... dùng ContentResult Đê tạo RSS 2.0 chúng ta dùng hàm tạo tài liệu XML NET 3.5 XDocument API và sau đó gửi đến cho trình duyệt: Trả Về Dữ Liệu Dạng JSON: JavaScript Object Notation (JSON) là dạng văn bản có cấu trúc, nó được dùng trong ứng dụng Ajax đê gửi một đối tượng từ server đến trình duyệt Asp.net MVC đã xây dựng lớp JsonResult đê làm việc với các đối...Asp.net MVC không phải là một sự thay thế cho Asp.net WebForm mà chỉ là một sự chọn lựa mới cho những người phát triên web, Asp.net MVC cũng có những khái niệm nhưng Asp.net WebForm như Configuration,Security,Roles… Cấu trúc chính 1 ứng dụng trong dự án Asp.net MVC: − Content:thư mục chứ file css,file ảnh − Controllers:chứ... foreach, những câu lệnh này phải đặt trong or Inline code là công cụ cơ sở các kỹ thuật khác đều xây dựng dựa vào nó HTML helpers Sử dụng đê tạo ra thê html, dữ liệu sẽ được lấy từ ViewData hoặc bất kì một Model nào bằng cách trả về một MvcHtmlString Server control Dùng như trong Asp.Net Web Form Partial views Sử dụng chúng khi muốn chia sẽ một... HttpUnauthorizedResult(); EmptyResult return new EmptyResult(); Trả Về Định Dạng HTML Bằng Cách Hiện Thị Một View: Hầu hết action method có nhiệm vụ trả dạng html cho trình duyệt, tức là tạo ra một khung nhìn, tức là một ViewResult: 20 Gọi View() đê tạo ra một đối tượng ViewResult(), khi thực thi kết quả MVC FrameWork sẽ tìm trong ứng dụng một view chúng ta chỉ... cập vào ViewData.Model trong view như sau: Trả Về Dữ Liệu Văn Bản: Ngoài định dạng html ứng dụng web còn có nhiều định dạng khác nữa như: • XML • RSS và ATOM • JSON (dùng cho ứng dụng sữ dụng AJAX) • CSV (thường dùng cho việc xuất dữ liệu ra định dạng Exel) • Văn bản thuần túy Đê thực hiện thành công việc trả về bất kì định dạng dữ liệu nào cần chú... liệu của nó là chuổi + Kiêu của nội dung gửi về: text/xml cho XML, text/csv cho CSV,application/rss+xml cho RSS Có thê tìm thấy những giá trị này trong lớp System.Net.Mime.MediaTypeNames + Dạng dữ liệu mã hóa được đặc tả như là một đối tượng System.Text.Encoding, chuổi sẽ được chuyên sang dãy các byte đê gửi đi Nếu trả về dạng văn bản, và không quan tâm đến kiêu... Business Logic − Views:chứ những trang aspx,tương ứng với một Controller thì sẽ có một Views tương ứng 2.2.Url Và Routing: Hầu hết các Web Framework như Asp, Jsp, Php… đều ánh xạ url vào 1 file lưu trên đĩa .MVC Framwork làm việc theo cách khác, thay vì ánh xạ các file trên đĩa nó sẽ đi trực tiếp vào class những lớp này là các Controllers Url Thực hiện http://mysite.com/default.aspx... vùng trong ứng dụng, nó như là cầu nói giữa các trang và các tầng với nhau Tất cả các Controller đều kế thừa Icontroller Lớp Cơn Bản Của Controller: Trong thực tế chúng ta hiếm khi hiện thực trực tiếp từ IController và viết lại phương thức Execute(), bởi vì MVC Framwork cungcấp thành phần cơ sở : • Action methods: Controller của chúng ta có thê có nhiều phương