Professional Documents
Culture Documents
Lap Trinh Aspnet MVC PDF
Lap Trinh Aspnet MVC PDF
NET MVC
Mc lc
Phn I.
2. L do ra i ca ASP.NET MVC
2.5 MVC2
3.1.1 Controllers l g ?
3.2 Views
3.2.1 Views l g ?
3.2.2 To Views nh th no ?
3.3 Models
3.3.1 Models l g ?
3.3.2 To Database
Trang 1
3.3.3 To Data Model vi Microsoft Entity Framework
3.3.4 S dng Linq to Sql trong ASP.NET MVC
Trang 2
1. Con ng pht trin Web
- Cu trc file ln
* CGI l mt chun c ngha l kt ni mt web server vi mt chng trnh c kh nng thc
thi c lp, v n tr v kt qu ng.
2. L do ra i ca ASP.NET MVC
Trang 3
2.2 Nhc im ASP.NET truyn thng: khi ng dng Webforms (dng cng
ngh ASP.NET) c s dng trong thc t sinh ra nhng nhc im sau:
- Cm nhn sai trong vic phn tch code ra khi m HTML bng cch to code-
behind bn di trang: Trong thc t th cc nh pht trin Web khuyn khch nn trn vic
trnh by code (v d: vic qun l control pha server) vi tnh logic trong ng dng ca h (v
d: thao tc c s d liu) vi nhau. Tt hn ht l khng nn tch ring chng ra v kt qu
thng l kh hiu v d v.
2.3 Gii thiu ASP.NET MVC : ASP.NET MVC l nn tng cng ngh mi
nht ca Microsoft hin nay l ASP.NET MVC, n c thit k t suy ngh l lm th
no xy dng mt phn mm tt (phn mm tt l phn mm bn mun to ra v n
d dng c thay i - Stephen Walther). ASP.NET MVC c thit k lm sao c
th b sung cc nguyn l v cc patterns pht trin phn mm khi xy dng cc ng
dng web. Bn cnh , n c thit k h tr trong vic kim th.
Trang 4
Thing Model View Editor pattern, nhng sau n c t tn li l
Model View Controller pattern.
Trang 5
Hnh 2.1: M hnh MVC (k hiu: tng tc vi) *
- Khi ng visual studio 2008, chn File -> New -> Project ->
ASP.NET MVC
Web Application
Trang 6
Trang 7
Hnh 2.4: Cu trc mc nh 1 project ASP.NET MVC
Trang 9
* S khc bit ca ASP.NET MVC vi ASP.NET 2.0
Kin trc chng trnh Kin trc m hnh WebForm Kin trc s dng vic phn
Business Database. chia chng trnh thnh
Controllers, Models, Views
Trang 10
- ASP.NET MVC 2 ch c th chy trn nn asp.net 3.5 sp1 v
asp.net 4. Chng ta ch c th trin khai asp.net mvc 2 trn visual studio 2010
hoc visual studio 2008 sp1.
c h tr bi cc h iu hnh nh: Windows 7; Windows Server 2003; Windows
Server 2008; Windows Vista
V d:
Trang 11
Ngoi ra, ASP.NET MVC2 cn h tr thm mt s strongly-typed HTML nh bn
di:
+ Overriding the HTTP Method Verb: HTTP verbs cho php ta quyt nh
liu action (GET, POST, PUT, DELETE) no s c thc thi .
+ Enhanced Model Validation support both server and client thng qua b
Trang 12
th vin javascript c tch hp sn trong ASP.NET MVC 2
+ Areas Support: cho php chng ta d dng phn vng, v gom nhm cc
chc nng thng qua ng dng MVC.
Trang 13
+ DataAnnotation Validation Support: k t phin bn ASP.NET MVC 2,
microsoft xy dng sn cc DataAnnotation Validation nhm qun l cc li (rules)
trong cc lp model v viewmodel bn trong ng dng vi 4 lut ( validation rules)
c xy dng sn nh: [Required], [StringLength], [Range], v [RegularExpression].
Trang 14
+ Bc 2: To action Create()
+ Bc 3: To trang View
Trang 15
+ Bc 4: Chy v kim tra kt qu
Tuy nhin, validation rules trn mi ch thc hin pha server, khi , bt
c validation rules th i hi ngi dng phi nhn nt submit. Nhng ASP.NET
MVC 2 xy dng kin trc validation rules rt tuyt vi bao gm c vic h tr
validation rules c pha server ln client. Tt c nhng g chng ta cn lm l thm hai
tham chiu javascrip l
Chy th v thu kt qu
Trang 16
Ngoi ra, ASP.NET MVC cn cho php ta t to cc thuc tnh Validation, v d,
chng ta mun xy dng validation rule cho thuc tnh Email, n gin, ta ch cn k
tha t lp RegularExpressionAttribute
3.1.1 Controllers l g ?
Trang 17
Hnh 3.1: HomeController c to ra bi Visual
Trang 18
Phng thc Kiu tr v
RedirectToAction() Tr v mt RedirectToRouteResult
Mt s v d:
a. Tr v mt ViewResult
b. Tr v mt Redirect Result
c. Tr v mt ContentResult
Trang 19
Hnh 3.5: code tr v mt ContentResult
d. Tr v mt fileResult
Trang 20
lm th no cotroller nhn bit hai hm cng tn, gi action no hot ng khi thao tc form d
liu, hoc yu cu cc phng thc c bit khi mt nhn request t Ajax
Hnh 3.8
Hnh 3.9
Trang 21
V d:
Hnh 3.10
Hnh 3.11
Trang 22
Hnh Hnh 3.12
3.13
action no c khai bo trong controller, trong khi action ny khng thc thi c khi
n pht sinh li 404 Resource Not Found HTTP. Tuy nhin, chng ta c th x l
li ny bng cch ghi phng thc HandleUnknownAction()
Hnh 3.14
Hnh 3.15
3.2 Views
3.2.1 Views l g ? View trong ng dng ASP.NET MVC c xem l giao din
ca ng dng, View c tc dng tr v cho trnh duyt trang HTML khi ngi dng gh thm
website ca chng ta. Views cha cc tag tng t nh HTML, chng ta c th t mi th vo
trong view nh hnh nh, iframes, java applets, flash v silverlight.
Trang 23
action no trong controller chn Add View
Trang 24
tag <asp:content> u tin s xut hin trong tag <title> ca vn bn HTML, tag <asp:content>
th hai s xut hin trong tag <body> ca vn bn HTML.
- V d :
Trang 25
Hnh 3.20 Cch to ViewData trong controller
Nu nh chng ta khng mun s dng view bng cch p kiu, chng ta c th to mt strongly
typed view, khi t in viewdata trin khai mt thuc tnh c t tn l Model
Trang 26
Hnh 3.23 Cch to strongly typed view
3.3 Models
3.3.1 Models l g ?
Trang 27
Hnh 3.26
Hnh 3.27
Hnh 3.28
Trang 28
Hnh 3.29
Hnh 3.30
Trang 29
Hnh 3.31
Hnh 3.31
Hnh 3.32
Trang 30
Hnh 3.33
Trang 31
Hnh 3.35
Trang 32
- To strongly-typed view v trong View Content chn List, nhn
Add
Hnh 3.36
- Kt qu
Hnh 3.37
- Nhp phi chn add view cho action Details trong controller
Hnh 3.38
Trang 33
- To strongly-typed view v trong View Content chn List, nhn
Details
Hnh 3.39
- Kt qu
Hnh 3.40
c. To mi mu tin
- Nhp phi chn add view cho action Create trong controller
Hnh 3.41
Trang 34
- To strongly-typed view v trong View Content chn List, nhn
Create
Hnh 3.42
Hnh 3.43
-Kt qu
Hnh 3.44
d. Chnh sa mu tin
Trang 35
- Nhp phi chn add view cho action Edit trong controller
Hnh 3.45
Hnh 3.46
Hnh 3.47
Trang 36
Hnh 3.48
Hnh 3.49
e. Xa mu tin
- Nhp phi chn add view cho action Delete trong controller
Hnh 3.50
Hnh 3.51
Trang 37
- Kt qu trc khi xa
Hnh 3.52
Hnh 3.53
- Kt qu sau khi xa
Hnh 3.54
Trang 38
- Cch s dng Linq to Sql rt n gin, t
trong mi trng Visual Studio, chng ta ko v th cc tables v stored
procedures vo trong tm bc(ca s do visual to ra khi thao tc ko th
c s d liu), sau , chng ta s dng cc cu lnh truy vn Linq bn
trong code C#, v nhn ly cc thc th ny t data context (n chuyn
cu truy vn t Linq sang Sql lc thc thi), thay i chng bn trong C#,
sau gi SubmitChanges() vit nhng thay i ny ngc tr li c
s d liu.
- V d :
Trang 39
c. To mt interface c phng thc c gi l IproductRepository,
c
dng to ra mt view hng i tng lu tr ngm nh cc gi tr ca newProduct.
Trang 40
e. To lp SqlProductsRepository, y l lp dng kt ni n c s d
liu tht s ca chng ta.
Trang 41
g. Chy th ta c kt qu
Trang 42
b. Cp nht d liu (thao tc Update): thao tc ny khc vi thao
tc trong Microsoft Entity Framework nh sau:
- Kt qu
c. Thm mi sn phm
Trang 43
- Trong trng hp chng ta mun form lun post n action Edit
ta b sung thm tham s nh hnh bn di
d. Xa bt sn phm
Trang 44
- Kt qu khi chy chng trnh
Trang 45
- Chng ta cu hnh route mi bng vic gi phng thc
MapRoute(), phng
thc ny chp nhn cc tham s sau:
+ Name: tn ca route
+ /Product/Insert/ 23
+ /Home/Index/ 1
+ /Do/Something/Useful
Trang 46
- Nu chng ta thm vo cc tham s khng c t tn
controller hoc action,
th chng c s dng nh nhng tham s c truyn n cc controller action.
*Lu : nu trong fiel global.axas c nhiu route entry, th h thng khng hng
n vic tm route no ph hp nht, thut ton ca n n gin l bt u t trn xung, v
kim tra tng route, v dng khi c route u tin ph hp.
Trang 47
3.6 View Master Page v User Control Page :
b. To view content page: sau khi to xong view master page, chng ta c
th to mt hay nhiu view content pages da trn master page nh sau:
Trang 48
- Chn master page, ci m c p dng cho
view
- Kt qu thu c l:
Trang 49
l chng ta c th la chn trang master ng ti thi gian chy
Trang 50
- Bc 1: To master page 1
Trang 51
- Bc 4: chy th v thu c kt qu
Trang 52
- Bc 2: To controller k tha t controller trn
Trang 53
- Bc 4: Kt qu thu c
Trang 54
- Gi s view user control ny cha danh sch cc items mi nh sau:
Trang 55
- V kt qu thu c l
Trang 56
- Bc 2: Kt qu thu c
Trang 57
Bc 3: To mt view user control dng tr v mt hng trong table
- Bc 4: kt qu thu c
Trang 58
3.7 HTML Helpers
+ linkText: tn link
Trang 59
+ htmlAttributes: tp cc thuc tnh HTML c thm vo link
Trang 60
- Html.BeginForm(): hon tr mt form dng HTML cho view.
V d:
Trang 61
+ Bc 3: Kt qu
Trang 62
Gi s ta g: <%= Html.nutSubmit("MyHelpers") %> Ta
c kt qu l:
Trang 63
thuc tnh ny khng m ha chui HTML.
+ TagName: miu t tn ca tag
V d:
+ bc 3: kt qu t c
Trang 64
cho lp TagBuilder m ta xy dng trn, di y l mt s phng thc c bit dnh cho
vic xy dng chui HTML.
+ AddAtrribute(): Thm thuc tnh HTML, khi phng thc
RenderBeginTag() c gi, thuc tnh ny c thm vo tag.
V d:
+ Bc 2: Khi to d liu
Trang 65
+ Bc 4: Kt qu
3.8 Validation Form Data: Validation form data cho php chng ta kim tra xem liu
ngi dng nhp ng d liu c yu cu hay cha. V trong ASP.NET MVC, chng ta
miu t li hp l (validation errors) ca form bi thut ng model state dictionary.
Trang 66
+ Bc 2: Khai bo form nhp liu.
Trang 67
Nh v d trn ta thy rng, li hp l c thm vo model state vi
phng thc AddModelError(), phng thc ny chp nhn 2 tham s: kha v chui thng bo
li. Nu bt k li no c thm vo model state, thuc tnh ModelState.IsValid tr v false,
ngc li l true.
Trang 68
+ Bc 2: Khai bo s dng trong action testModelState trong home
controller
+ Bc 3: Chy th v c kt qu nh sau:
Trong ,
Trang 69
+ field-validatioin-error: c p dng cho cc tin nhn li c hon tr bi
Html.ValidationMessage()
Trang 70
- Nh v d trn ta thy, action controller chp nhn tham s Product.
Model binder y l model binder mc nh, tng ng nh vic to i tng mi cho lp
Product. Model binder cng iu khin vic gn cc gi tr ca cc field trong form HTML n
cc thuc tnh ca lp Product
- ASP.NET MVC cung cp cho chng ta 3 loi model binder khc nhau
nh sau:
+ HTTP posted file da trn model binder (HTTP posted file base
model binder)
Trang 71
trn form i vi thuc tnh ny v d nh:
Trang 72
Trong action ny, chng ta s kt hp cc field ca form vi i tng ca class Product
Trang 73
cho php ta truyn file c upload n mt controller action.
- Mt action filter cho php chng ta thc thi code trong mt s tnh
hung sau:
Trang 74
OnResultExecuted, OnResultExecuting
a. To users
Trang 75
l mi c th truy cp vo website c. Chng ta c 2 cch l, th nht dng website
administration tool, th hai l dng Account controller.
Trang 76
+ Hon thnh form ng k to user mi.
Trang 77
mi c kh nng s dng action controller no , ta c th s dng tnh nng ny. V d
Trang 78
- C 2 cch chng ta c th to 1 khi test mi
+ Cch 1:
4. Chn nt OK
+ Cch 2:
Trang 79
3. Thay i class class tr thnh public
Trang 80
+ StringAssert: lp ny cha ng cc phng thc assertion cho chui
V d:
Trang 81
Vi mc ch trn, ta xy dng khi test nh sau:
Trang 82
5. Trin khai ng dng ASP.NET MVC
Trang 83
- Chn cc checkbox ging nh hnh trn, nhn ok.
- Sau khi chn xong, vo control panel, i ch viewby l Large icons, chn mc
Administrative Tools
Trang 84
- Sau khi ci xong IIS, m browser, g localhost vo thanh address ta c kt qu sau:
C 2 cch:
a. Trin khai web mvc ln localhost bng chnh cng c visual studio
Trang 85
- Xut hin ca s thuc tnh, v cu hnh nh hnh bn di
Trang 86
b. Trin khai web trn localhost bng trnh qun l IIS
Trang 87
- Nhp thng tin nh bn di
- Sau khi nhp xong thng tin, nhn ok, sau nhp phi vo th mc va mi to, v
chn Convert to Application.
- Cui cng, nhp phi chut vo ng dng web nh hnh bn di, v ta thu c kt
qu nh cch lm 1.
Trang 88
6. Tch hp Ajax vo ASP.NET MVC
6.1 Ajax l g ?
Trang 89
6.3 Ajax s dng kt hp ca
a. i tng chnh ca AJAX l XMLHttpRequest.
function loadXMLDoc(url)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET",url,false);
// Do not send null for ActiveX
xmlhttp.send();
}
document.getElementById('test').innerHTML=xmlhttp.responseT
ext;
}
Trang 90
6.4 Send an AJAX request to a Server
Method Description
Vd:
a. GET.
xmlhttp.open("GET","demo_get.asp",true)
; xmlhttp.send(); nu bn mun send data cho
server.
xmlhttp.open("GET","demo_get2.asp?
fname=Henry&lname=Ford",true);
xmlhttp.send();
b. POST
xmlhttp.open("POST","demo_post.asp",true);
xmlhttp.send();
xmlhttp.open("POST","ajax_test.asp",true);
xmlhttp.send("fname=Henry&lname=Ford");
6.5 Update Page With the Response From the Server
Trang 91
Property Description
Vd:
document.getElementById('test').innerHTML=xmlhttp.responseText
;
xmlDoc=xmlhttp.responseXML;
var txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
{
txt=txt + x[i].childNodes[0].nodeValue + "<br />";
}
document.getElementById("myDiv").innerHTML=txt;
Property Description
readyState thay i.
Trang 92
ReadyState Cha ng trng thi ca XMLHttpRequest
2: request received
3: processing request
Status 200: Ok
function loadXMLDoc(url)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest(); // set
the callback function
xmlhttp.onreadystatechange=stateChange;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
// set the callback function
xmlhttp.onreadystatechange=stateChange;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
}
- Hm callback c ng k thng qua thuoc tnh onreadystatechange ca
XMLHttpRequest
- Hm callback thi tng t nh sau.
function stateChange()
{
if (xmlhttp.readyState == 4)
Trang 93
{
if (xmlhttp.status == 200)
{
// process whatever has been sent back here
document.getElementById('test').innerHTML=xmlhttp.responseT
ext;
}
else
{
alert("There was a problem in the returned data");
}
}
}
vd:
Trang 94
// process whatever has been sent back here
document.getElementById('test').innerHTML=xmlhttp.responseT
ext;
}
else
{
alert("There was a problem in the returned data");
}
}
}
< /script >
< /head >
- C bn, javascript v ajax l cng vic kh, gim bt s kh khn cho cng
vic bn c th s dng toolkit ca mt hng th 3 nh l jQuery, Prototype, MooTools, hoac
Rico ni n cung cp mt lp tri tng lm mt vi nhim v ph bin
Trang 95
S la chn ca bn c th hin .
- Ch ra ajax.* helper
Trang 96
<script src="<%= Url.Content("~/Scripts/MicrosoftAjax.js")
%>"
type="text/javascript"></script>
<script src="<%=
Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>"
it?</h 2>
< /p >
Trang 97
404(thng ip s khng c hin th ). cho n lm vic bn phai to ra mt
action method tn l GetTime() nh su.
DateTime.UtcNow.AddHours(offsets[zone]);
} ;
Trang 98
Trang 99
c. Passing Options to Ajax.ActionLink
Trang
100
- Cc thuc tnh ca Ajax.ActionLink ()
url String
Trang
101
- Bn c th s dng OnBegin, OnComplete, OnSuccess v OnFailure to s l request bt
ng b. Th t l OnBegin ->OnComplete->OnSuccess hoc OnFailure. Bn c th hy b
chui ny bng cch tr li false t OnBegin hoc OnComplete.
response.get_statusCode();
me", "MyAction",
Tn hm M t Kiu tr li
Trang
102
-Bn c th ly ni dung html t bt ki mothed, v bn ko cn bit hoc lo lng n l
dch v request bt ng b hay khng
if(Request.IsAjaxRequest()) {
return View(time);
Trang
103
< option value="bst">BST</option > <
value="Go" / >
< /p >
< % } % >
< p >
Bn c kt qu nh sau
Trang
104
-Nh bn c bit mvc gm c kiu tr v ca action method l javaScriptResult. N
cho php bn tr li mt cu lnh javascrip t action method.
Vd:
>
< ul >
< % } % >
</ul><i>Page generated at <%= DateTime.Now.ToLongTimeString()
%></i>
Trang
105
[AcceptVerbs(HttpVerbs.Post)] // Only allow POSTs (this action
causes changes) public JavaScriptResult DeleteItem(int itemID)
{ var itemToDelete = GetItem(itemID);
itemToDelete.ItemID,
JavaScriptEncode(itemToDelete.Name)); return
JavaScript(script); } private static string
JavaScriptEncode(string str)
{
// Encode certain characters, or the JavaScript expression could
be invalid return new JavaScriptSerializer().Serialize(str); }
Trang
106
7. S dng jQuery trong ASP.NET MVC
Vd: bn chn don code ny vo trang master page hoac view don the head
< head runat="server" > < script src="<%=
Url.Content("~/Scripts/jquery-1.3.2.min.js") %>"
Vd:
Trang
107
$(.SuperBig).removeClass(SuperBig) removes class css c tn l SuperBig t cc tag
c class css l SuperBig
Nh bn thy n tht s l ngn gn. Nu khng s dng jQuery thi bn phi vit rt
nhiu code ca javascript. jQuery cng h tr css 3 cho selector bt chp l trnh duyt
c h tr hay khng.
-Hu ht cc trnh duyt s run code javascript hay khi phn tch c php ca trang, trc
khi load trang c hon thnh. N c nhng kh khn, bi v nu bn t code
javascript vo u ca trang bn trong tag <head>, khi code ca bn s ko ngay lp
tc thao tc n nhng tc html cui trang, vi vy n s khng nh mun ca bn
-Truyn thng, nhng nh pht trin s gii quyt vn ny bng cch khi to code ca
bn da vo s kin onload ca tag <body>. Nh vy code ca ban ch s run khi trang
c load hon ton. Nhng n cng c nhng hn ch.
lm iu bn lm nh su.
}) ;
Trang
108
- Bn truyn hm javasript cho hm $(). Bn ng k n thc hin sm nht khi
m DOM sng sng. Bn c th ng k nhiu hm bn thch, tuy nhin thng th c
mt hm $(function(){.}); ny ti v tr top ca view hoac control template, v bn t
tt c nhng tc ng jQuery ca bn vo .
- Jquery gii quyt vn v cc api khac nhu ca cc trnh duyt. Jquery cung
cp mt mt lp tri tng cc hm javascript API c th lm vic nh nhu trn bt k
trnh duyt no Vd:
$("img").click(function() { $(this).fadeOut() })
method Description
Trang
109
- y khng phi l tp hp y ca nhng hm v thuc tnh helper m jQuery
cung cp, nhng tp hp y tht s th kh nh.
<td>Actions</td >
< tr >
>
< td >
< % } % >
Trang 110
110
< % } % >
Trang 111
111
By gi chng ta s nng cp n trong 3 cch.
7.6. Improvement 1: Zebra-Striping
-y l quy c ph bin ca thit k web, cc hng lun phin nhu thi c mu khc
nhau.
- lm iu trong bn inh ngha mt class css v su bn la chn b sung
class vo nhu sau
Trang 112
112
- Bn add khi code ny vo tag <head> ca trang
$("#summits form[action$='/DeleteItem']").submit(function()
{ var itemText = $("input[name='item']",
this).val(); return confirm("Are you sure you want
to delete '" + itemText + "'?"); });
-Vd: bn mun ct certain trong grid thi n hoc hin tng ng cho check box. N s
vt v cho mt kin trc bnh thng nu bn lm iu trn server( asp.net Webform), nu bn
lm iu client bn s phi ch n trnh duyt ang chy.
Trang 113
113
7.9 Client/Server Data Transfer with JSON
-ASP.NET MVC c h tr cho vic truyn d liu JSON v jQuery c h tr cho vic
nhn JSON.
Controller {
Trang 114
114
OpeningPrice = 556.94M, ClosingPrice = 558.20M, Rating
= "A+"
}} ;
else
return null;
< % } % >
Trang 115
115
$.getJSON($(this).attr("action"), $(this).serialize(),
function(stockData) {
$("#openingPrice").html(stockData.OpeningPrice);
$("#closingPrice").html(stockData.ClosingPrice)
; $("#stockRating").html(stockData.Rating); })
; return false;
});
-Nu thch hn bn c th s dng nh dng xml thay cho nh dng JSON cho v d
trn. Khi m bn nhn d liu xml, n th d hn cho vic dung jQuery $.ajax() thay cho $.get().
B v $.ajax() cho php bn s dung datatype:xml la chon ny ni cho bit phan tnh cu trc
nh l xml.
- u tin bn cn tr li XML t action method.
Trang 116
116
if (symbol == "GOOG") { return Content( new
XElement("Rating", "A+")
)).ToString(),
System.Net.Mime.MediaTypeNames.Text.Xml);
else
return null;
ClosingPrice>558.20</ClosingPrice >
- Tip theo bn ni cho jQuery s thng dch n nh l XML thay vi cho JSON.
$("form[action$='GetQuote']").submit(function()
Trang 117
117
$("ClosingPrice", resultXml).text(); var rating = $("Rating",
$("#openingPrice").html(opening);
$("#closingPrice").html(closing);
$("#stockRating").html(rating);
} }) ;
return
false; }) ;
Trang 118
118
cp nht t webform ln m hnh MVC chng ta b sung thm mt s file(s) cn thit
nh sau:
Trang 119
119
t ViewPage.
Sau khi thit lp xong cc thuc tnh, chy th ng dng web, ta thu c kt qu nh
sau:
Trang
120
* Kt hp Webform v MVC
Bc 1: to mt trang .aspx c ni dung nh bn di
Trang
121
Trang
122