Professional Documents
Culture Documents
Tai Lieu Giang Day PDF
Tai Lieu Giang Day PDF
HCM
227 Nguyn Vn C - Qun 5- Tp.H Ch Minh
Tel: 8351056 Fax 8324466 Email: ttth@hcmuns.edu.vn
M ti liu: DT_NCM_LT_TLGD_ASP.NET
Phin bn 1.0 Thng 06/05
Ti liu hng dn ging dy
MC LC
GII THIU .......................................................................................................... 5
GIO TRNH L THUYT....................................................................................... 6
TI LIU THAM KHO........................................................................................... 6
Bi 1 ...................................................................................................................... 7
TNG QUAN V ASP.NET ...................................................................................... 7
Bi 2 .................................................................................................................... 32
WEB SERVER CONTROL ...................................................................................... 32
Bi 3 .................................................................................................................... 61
CC IU KHIN LIN KT D LIU .................................................................. 61
I. iu khin DataGrid...................................................................................... 62
I.1. Cc thao tc nh dng li ...........................................................................62
I.2. X l sp xp................................................................................................67
I.3. X l phn trang ...........................................................................................69
I.4. Ty bin cc ct ...........................................................................................70
I.5. Cp nht d liu trc tip trn li.................................................................74
Bi 4 .................................................................................................................... 94
XY DNG LP X L D LIU .......................................................................... 94
Bi 5 .................................................................................................................. 108
Bi 6 .................................................................................................................. 117
XY DNG V QUN L NG DNG ................................................................. 117
Bi 7 .................................................................................................................. 136
WEB SERVICE ................................................................................................... 136
Bi 8 .................................................................................................................. 152
PH LC ........................................................................................................... 152
GII THIU
Sau khi hon thnh kha hc ny, hc vin s c cc kh nng:
Ci t v cu hnh Web Server.
Thit k, xy dng, pht trin ng dng web vi Asp.Net
4 Xy dng lp x l d liu 3 5
7 Web Services 3 5
Tng s tit: 36 60
2. MSDN Traning: Developing Microsoft ASP.NET Web Applications Using Visual Studio.NET
6. Developing Web Applications with Visual Basic .NET and ASP.NET [John Alexander, Billy Hollis]
Bi 1
TNG QUAN V ASP.NET
Tm tt
L thuyt 3 tit - Thc hnh 5 tit
Mc tiu Cc mc chnh Bi tp
Tm hiu cc k thut lp trnh ng 1. Tng quan v lp trnh ng dng 1.1, 1.2, 1.3, 1.4,
dng web v cc m hnh ng dng. web
1.6, 1.7
Ci t v cu hnh Web Server. 2. Gii thiu v Asp.Net
Bi lm thm:
3. Web Server
Tm hiu mi trng pht trin ng
4. To ng dng web u tin 1.5
dng web vi Visual Studio.Net.
Sau tin t http://, chui URL s cha tn host hay a ch IP ca my server (c th c s cng i
km), tip theo l ng dn dn n tp tin server c yu cu. Ty chn sau cng l tham s,
cn c gi l query string (chui tham s/chui truy vn).
V d:
Phn tch a ch http://www.comersus.com/comersus6/store/index.asp
Trang web index.asp c lu tr trong th mc /comersus6/store ti Web Server vi host l
www.comersus.com
Mt s thut ng:
Internet: l mt h thng gm nhiu my tnh khp ni trn th gii ni li vi nhau.
WWW: World Wide Web (mng ton cu), thng c dng khi ni v Internet
Web Server: My tnh lu tr cc trang web
Web Client: My tnh dng truy cp cc trang web
Web Browser: Phn mm dng truy cp web
Mt s web browser ph bin: Internet Explorer, Netscape Navigator, Avant Browser, Opera,
<Html>
Trang ch
<Head>
Windows </Head>
Server <Body>
System
Microsoft </Body>
</Html>
Yu cu
Tr li
y l mt dng m hnh n gin, kh ph bin ca mt ng dng phn tn. Trong m hnh ny,
vic x l d liu c thc hin trn Database Server, vic nhn v hin th d liu c thc hin
Client.
a. u im
D liu tp trung m bo d liu c nht qun.
D liu c chia s cho nhiu ngi dng.
b. Khuyt im
Cc x l tra cu v cp nht d liu c thc hin Database Server, vic nhn kt qu
v hin th phi c thc hin Client Kh khn trong vn bo tr v nng cp.
Khi lng d liu truyn trn mng ln chim dng ng truyn, thm gnh nng cho
Database Server.
a. u im
H tr nhiu ngi dng
Gim bt x l cho Client Khng yu cu my tnh Client c cu hnh mnh.
X l nhn v hin th d liu tp trung ti Application Server d qun l, bo tr v
nng cp.
X l truy cp d liu tp trung ti Database Server.
b. Khuyt im
Phi s dng thm mt Application Server Tng chi ph.
.Net Phatform
Nhng sn phm cng ngh .Net ca Microsoft bao gm: MSN.Net, Office.Net, Visual Studio.Net v
Windows Server 2003 c bit n vi tn gi Windows .Net Server.
Visual Studio .Net l b phn mm c dng xy dng v pht trin cc ng dng bao gm
cc ngn ng lp trnh: C++.Net, Visual Basic.Net, ASP.Net, C# v J#. Tt c cc ngn ng ny
c xy dng da trn nn .Net Framework, v th, bn s nhn thy c php c bn ca nhng
ngn ng ny tng t nhau.
Operating System
II.2.1. H iu hnh
Cung cp cc chc nng xy dng ng dng
Vi vai tr qun l vic xy dng v thi hnh ng dng, .NET Framework cung cp cc lp i
tng (Class) bn c th gi thi hnh cc chc nng m i tng cung cp. Tuy nhin, li
ku gi ca bn c c "hng ng" hay khng cn ty thuc vo kh nng ca h iu hnh
ang chy ng dng ca bn.
b. ADO.NET v XML
B th vin ny gm cc lp dng x l d liu. ADO.NET thay th ADO trong vic thao tc
vi cc d liu thng thng. Cc lp i tng XML c cung cp bn x l cc d liu theo
nh dng mi: XML. Cc v d cho b th vin ny l SqlDataAdapter, SqlCommand, DataSet,
XMLReader, XMLWriter,
c. ASP.NET
B th vin cc lp i tng dng trong vic xy dng cc ng dng Web. ASP.NET khng phi l
phin bn mi ca ASP 3.0. ng dng web xy dng bng ASP.NET tn dng c ton b kh
nng ca .NET Framework. Bn cnh l mt "phong cch" lp trnh mi m Microsoft t cho n
mt tn gi rt ku: code behind. y l cch m lp trnh vin xy dng cc ng dng Windows
based thng s dng giao din v lnh c tch ring. Tuy nhin, nu bn tng quen vi
vic lp trnh ng dng web, y ng l mt s "i i" v bn c gii phng khi m lnh
HTML ln xn ti hoa c mt.
S xut hin ca ASP.NET lm cn xng gia qu trnh xy dng ng dng trn Windows v Web.
ASP.NET cung cp mt b cc Server Control lp trnh vin bt s kin v x l d liu ca ng
dng nh ang lm vic vi ng dng Windows. N cng cho php chng ta chuyn mt ng dng
trc y vit ch chy trn Windows thnh mt ng dng Web kh d dng. V d cho cc lp
trong th vin ny l WebControl, HTMLControl,
d. Web services
Web services c th hiu kh st ngha l cc dch v c cung cp qua Web (hay Internet). Dch
v c coi l Web service khng nhm vo ngi dng m nhm vo ngi xy dng phn mm.
Web service c th dng cung cp cc d liu hay mt chc nng tnh ton.
V d, cng ty du lch ca bn ang s dng mt h thng phn mm ghi nhn thng tin v
khch du lch ng k i cc tour. thc hin vic t phng khch sn ti a im du lch, cng
ty cn bit thng tin v phng trng ti cc khch sn. Khch sn c th cung cp mt Web service
cho bit thng tin v cc phng trng ti mt thi im. Da vo , phn mm ca bn s bit
rng liu c ch t phng cho khch du lch khng? Nu , phn mm li c th dng mt
Web service khc cung cp chc nng t phng thu khch sn. im li ca Web service
y l bn khng cn mt ngi lm vic lin lc vi khch sn hi thng tin phng, sau , vi
cc thng tin v nhiu loi phng ngi s xc nh loi phng no cn t, s lng t bao
nhiu, hay khng ri li lin lc li vi khch sn t phng. ng qun l khch sn lc
ny cng cn c ngi lm vic vi nhn vin ca bn v cha chc h c th lin lc thnh
cng.
e. Window form
B th vin v Window form gm cc lp i tng dnh cho vic xy dng cc ng dng Windows
based. Vic xy dng ng dng loi ny vn c h tr tt t trc ti nay bi cc cng c v
ngn ng lp trnh ca Microsoft. Gi y, ng dng ch chy trn Windows s c th lm vic vi
ng dng Web da vo Web service. V d v cc lp trong th vin ny l: Form, UserControl,
System.Data System.Xml
System
ASP.NET ASPX
Engine
Response
Html Page
Page DLL
Yu cu Server tm X l tp
kim tp tin ASPX
tin
Bin dch li
C
Bin dch Thay i?
Lu tr li
di dng Khng
DLL
Hi p Thi hnh
trang ASPX
IIS c rt nhiu phin bn, u tin c pht hnh ri trong bn Service pack ca WinNT.
Cc phin bn Windows 2000 c tch hp IIS 5.0.
Windows XP tch hp IIS 5.5
Windows XP .NET Server tch hp IIS 6 h tr cc tnh nng dnh cho .NET ca ASP.NET v
Web Service.
Kim tra thnh cng Web Server trn Windows Server 2003
Trn tab Documents, bn c th t trang web mc nh s hin th khi Web Browser khng ch
nh trang web c th. Bn s thy index.htm v default.htm c lit k trong phn ny. y
l l do ti sao khi bn g //localhost th Web browser li hin th c trang hompage. Thc
ra, //localhost tng ng vi //localhost/index.htm hay //localhost/default.htm.
Trong tab Directory Security, bn c th nh li cc ch kim tra ngi dng truy cp vo
web site.
To Virtual Directory
Nhp vo tn alias cho th mc o.
Chn nt Browse chn th mc mun nh x. Tip , bn s phi t mt s cu hnh khi
u cho web site, nhng thng tin ny c th cu hnh li tng t nh vi Default Web Site
trn
Kinh nghim ging dy:
Trong phn ny, gio vin cn hng dn cho hc vin ci t IIS v kim tra kt qu
ci t. Phn thc hnh ny tuy d nhng nu hc vin khng hon thnh tt phn
ny s khng th lm tip cc bi thc hnh sau.
Mn hnh to mi ng dng
Chn loi Project l Visual Basic Project t Project Types
Chn ASP.Net Web Application t vng Template
ng dng mi c to mc nh c tn l WebApplicationXX (XX l s th t t ng).
Chng ta c th thay i tn ca Project ti iu khin Location. Trong v d ny, chng ti
thay i tn Project WebApplication1 thnh MinhHoa.
Project c to mc nh lu ti th mc: C:\Inetpub\wwwroot
y l ca s qun l cc "ti nguyn" c trong ng dng. Thng qua ca s ny, chng ta c th:
Thc hin cc chc nng: sao chp, ct, dn trn tp tin, th mc nh Windows Explorer.
T chc th mc qun l ng dng: S dng chc nng Add | New Folder t thc n ng
cnh.
Thm thnh phn mi cho ng dng: S dng chc nng Add | Add New Itemt thc n
ng cnh. Xut hin hp thoi Add New Item.
Web Form: Thm trang Web
Class: Thm lp i tng
Module: Thm th vin
Web User Control: Thm iu khin ngi dng
Ca s thuc tnh
IV.4.3. Toolbox
Hin th Toolbox: Thc n View | Toolbox
Ca s Document Outline
Kinh nghim ging dy:
Trong phn ny, gio vin cn hng dn hc vin lm quen vi cc thnh phn giao
din, cc ca s lm vic, ch ng sp xp cc ca s sao cho thun tin nht trong
sut qu trnh lm vic.
Bc tip theo, gio vin hng dn cho hc vin cch to mt ng dng web (v tr lu
tr mc nh ti C:\inetpub\wwwroot), vit lnh v cho thi hnh ng dng web n
gin u tin.
Gio vin cn gii thiu cho hc vin cc loi tp tin c trong project, cch lu li bi
vi font ch Unicode.
Bn cnh , gio vin hng dn cho hc vin cch to Virtual directory nh x n
th mc ca ng dng, s dng IIS qun l cc ng dng web.
Bi 2
WEB SERVER CONTROL
Tm tt
L thuyt 6 tit - Thc hnh 10 tit
Mc tiu Cc mc chnh Bi tp
S dng thnh tho cc iu khin 1. HTML Control 2.1, 2.2, 2.3, 2.4,
HTML & ASP.Net Web Control HTML Control 2.5, 2.6, 2.7, 2.8,
Lm vic vi i tng ViewState. HTML Server Control 2.9, 2.10
2. ASP.Net Web Control
Bi lm thm:
Asp.Net Page
2.11, 2.12, 2.13
iu khin c bn
iu khin kim tra d liu
Mt s iu khin khc
3. i tng ViewState
I. HTML Control
iu khin HTML (tag HTML) trong trang ASP.Net c th xem nh nhng chui vn bn bnh
thng. c th c s dng lp trnh pha Server, ta gn thuc tnh runat="Server" cho
cc iu khin HTML . Nhng iu khin HTML (tag HTML) c thuc tnh runat="Server" c
gi l HTML Server Control.
X l s kin:
lblThong_bao
Mn hnh ch thit k
X l s kin:
II.1.1. S kin
Page_Init()
Page_Load()
Page_PreRender()
Page_Unload()
a. Init
S kin Page_Init xy ra u tin khi trang web c yu cu.
b. Load
S kin ny l ni m bn s t phn ln cc x l, gi tr khi ng ban u cho trang web. S
kin ny lun xy ra mi khi trang web c yu cu.
c. PreRender
S kin ny xy ra khi trang Web chun b c tr v cho Client.
d. Unload
S kin ny i lp vi s kin Page_Init. Nu nh s kin Page_Init xy ra u tin khi trang Web
c yu cu, th y, Page_Unload l x kin sau cng, xy ra sau tt c nhng s kin khc.
a. IsPostBack
y l mt thuc tnh kiu lun l. Gi tr ca thuc tnh ny cho bit trng thi ca trang Web khi
c Load, nu l ln Load u tin, gi tr ca thuc tnh ny = False. Thuc tnh ny thng
c s dng trong s kin Page_Load kim tra trng thi ca trang Web.
b. SmartNavigation
Trong trng hp ni dung ca trang Web vt qu kch thc hin th ca mn hnh v bn ang
c phn gia ca trang Web, khi c ReLoad li, mn hnh s hin th phn u ca trang
Web. Nu gi tr ca thuc tnh ny l True, trnh duyt Web s vn gi nguyn v tr m bn ang
c sau khi Reload. y l mt thuc tnh kiu lun l. Gi tr mc nh l False.
II.2. iu khin c bn
Di y l cc l do bn nn s dng ASP.Net Web Control:
II.2.1. Label
Label thng c s dng hin th v trnh by ni dung trn trang web. Ni dung c hin
th trong label c xc nh thng qua thuc tnh Text. Thuc tnh Text c th nhn v hin th ni
dung vi cc tag HTML.
V d:
lblA.Text = "y l chui vn bn thng"
lblB.Text = "<B>Cn y l chui vn bn c in m</B>"
II.2.2. HyperLink
iu khin ny c s dng to ra cc lin kt siu vn bn.
Cc thuc tnh
ImageURL: Qui nh hnh hin th trn iu khin.
Text: Chui vn bn s c hin th trn iu khin. Trong trng hp c 2 thuc tnh
ImageURL v Text c thit lp, thuc tnh ImageURL c u tin, thuc tnh Text s
c hin th nh Tooltip.
NavigateUrl: ng dn cn lin kt n.
Target: Xc nh ca s s hin th cho mi lin kt
_blank: Hin th trang lin kt mt ca s mi.
_self: Hin th trang lin kt ti chnh ca s cha lin kt .
_parent: Hin th trang lin kt frame cha.
V d:
hplASP_net.Text = "Trang ch ASP.Net"
hplASP_net.ImageUrl = "Hinh\Asp_net.jpg"
hplASP_net.NavigateUrl = "http://www.asp.net"
hplASP_net.Target = "_blank"
II.2.3. TextBox
TextBox l iu khin c dng nhp v hin th d liu. TextBox thng c s dng nhiu
vi cc ng dng trn windows form.
Cc thuc tnh
Text: Ni dung cha trong Textbox
TextMode: Qui nh chc nng ca Textbox, c cc gi tr sau:
SingleLine: Hin th v nhp liu 1 dng vn bn
MultiLine: Hin th v nhp liu nhiu dng vn bn
Password: Hin th du * thay cho cc k t c trong Textbox.
Rows: Trong trng hp thuc tnh TextMode = MultiLine, thuc tnh Rows s qui nh s dng
vn bn c hin th.
Maxlength: Qui nh s k t ti a c nhp vo cho TextBox
Wrap: Thuc tnh ny qui nh vic hin th ca vn bn c c php t ng xung dng khi
kch thc ngang ca ca iu khin khng hin th dng ni dung vn bn. Gi tr mc
nh ca thuc tnh ny l True - t ng xung dng.
V d:
II.2.4. Image
iu khin ny c dng hin th hnh nh ln trang Web.
Thuc tnh
ImageURL: ng dn n tp tin hnh nh cn hin th.
AlternateText: Chui vn bn s hin th khi tp tin c thit lp trong thuc tnh ImageURL
khng tn ti.
ImageAlign: V tr hin th gia hnh v ni dung vn bn.
NotSet
Left
Middle
TextTop
Right
Ngoi nhng thuc tnh trn, iu khin ImageButton cn c cc thuc tnh ImageURL, ImageAlign
v AlternateText nh iu khin Image.
a. Cc thuc tnh
AutoPostBack: Thuc tnh ny qui nh iu khin c c php t ng PostBack v Server khi
ch s ca mc chn b thay i. Gi tr mc nh ca thuc tnh ny l False - khng t ng
Postback.
Items
y l tp hp cha cc mc chn ca iu khin. Ta c th thm vo mc chn vo thi im
thit k thng qua ca s ListItem Collection Editor, hoc thng qua lnh.
Rows: Qui nh chiu cao ca ListBox theo s dng hin th.
SelectionMode: Thuc tnh ny xc nh cch thc chn cc mc trong ListBox. SelectionMode
ch c php thay i trong qu trnh thit k, vo lc thc thi chng trnh, thuc tnh ny ch
c.
Single: Ch c chn mt mc c trong danh sch (mc nh).
Multiple: Cho php chn nhiu la chn.
b. X l mc chn
Cc thuc tnh sau s gip bn xc nh ch s, gi tr ca mc ang c chn. Trong trng hp
iu khin cho php chn nhiu, ta duyt qua cc Item trong tp hp Items, s dng thuc tnh
Selected ca i tng Item kim tra xem mc c c chn hay khng. (Xem v d trang
k tip)
SelectedIndex: Cho bit ch s ca mc c chn. Trong trng hp chn nhiu mc,
SelectedIndex s tr v ch s mc chn u tin.
SelectedItem: Cho bit mc c chn. Trong trng hp chn nhiu mc, SelectedItem s tr
v mc chn u tin.
SelectedValue: Cho bit gi tr ca mc c chn. Trong trng hp chn nhiu mc,
SelectedValue s tr v gi tr mc chn u tin.
c. Tm hiu v tp hp Items
Add: Thm mc mi vo cui danh sch, s dng phng thc Items.Add
Items.Add(<String>)
Items.Add(<ListItem>)
Items.Insert(<index>,<ListItem>)
Items.Insert(<index>,<String>)
Contains: Kim tra xem mt Item c trong tp hp Items hay cha, nu c, phng thc
ny s tr v gi tr True, ngc li, tr v False.
Items.Contains(<ListItem>)
Clear: Phng thc Clear ca tp hp Items c dng xa tt c nhng Item c trong danh
sch. C php
Items.Clear
Khi thit k
X l s kin:
a. Cc thuc tnh
Checked: Cho bit trng thi ca mc chn - c c chn hay khng
TextAlign: Qui nh v tr hin th ca iu khin so vi chui vn bn.
b. V d
a. Cc thuc tnh
RepeatColumns: Qui nh s ct hin th.
RepeatDirection: Qui nh hnh thc hin th
Vertical: Theo chiu dc
Horizontal: Theo chiu ngang
AutoPostBack: Thuc tnh ny qui nh iu khin c c php t ng PostBack v Server
khi cc mc chn ca iu khin b thay i. Gi tr mc nh ca thuc tnh ny l False -
khng t ng Postback.
b. V d
X l s kin:
X l s kin:
rblBinh_chon.DataSource = Ds_Binh_chon
rblBinh_chon.DataTextField = "Value"
rblBinh_chon.DataValueField = "Key"
rblBinh_chon.DataBind()
End If
End Sub
Hai thuc tnh quan trng khng th thiu trong vic thc hin lin kt d liu l: DataTextField
v DataValueField. DataTextField l tn thuc tnh (hoc tn field) ca i tng d liu m ta
mun hin th. DataValueField l tn thuc tnh (hoc tn field) cha l gi tr m ta mun nhn v
khi ngi dng thc hin chn cc mc trn iu khin (thng qua thuc tnh SelectedValue hay
SelectedItem.Value).
hin th d liu ln iu khin khi trang c Load, chng ta s dng phng thc DataBind.
Khng
Hp l?
Client C
Server Khng
Hp l?
Cc x l
EnableClientScript C cho php thc hin kim tra pha Client hay khng. Gi tr mc nh l
True - c kim tra.
V d: Minh ha thuc tnh Display: Ti nhp li mt khu, ta c 2 iu khin kim tra d liu:
mt iu khin kim tra khng c php rng (rfvNhap_lai), mt iu khin kim tra xem nhp li
mt khu c ging vi mt khu nhp trn hay khng.
rfvNhap_lai.Display = Static
rfvNhap_lai
rfvNhap_lai.Display = Dynamic
rfvNhap_lai
) S dng iu khin ny kim tra rng buc d liu khc rng (bt buc nhp).
Thuc tnh
InitialValue: Gi tr khi ng. Gi tr bn nhp vo phi khc vi gi tr ca thuc tnh ny. Gi
tr mc nh ca thuc tnh ny l chui rng.
Lu : Trong trng hp khng nhp d liu, iu khin s khng thc hin kim tra vi phm.
Cc thuc tnh
ControlToCompare: Tn iu khin cn so snh gi tr. Nu bn chn gi tr ca thuc tnh
Operator = DataTypeCheck th khng cn phi xc nh gi tr cho thuc tnh ny.
Operator: Qui nh php so snh, kim tra kiu d liu
Equal: = (y l gi tr mc nh)
GreaterThan: >
GreaterThanEqual: >=
LessThan: <
LessThanEqual: <=
NotEqual: <>
DataTypeCheck: Kim tra kiu d liu
Type: Qui nh kiu d liu kim tra hoc so snh.
String
Integer
Double
Date
Currency
ValueToCompare: Gi tr cn so snh. Trong trng hp bn xc nh gi tr ca c 2 thuc tnh
ControlToCompare v ValueToCompare th gi tr ca iu khin c qui nh bi thuc tnh
ControlToCompare c u tin dng kim tra.
K hiu M t
A K t ch ci ( c xc nh). y l ch a
1 K t s ( c xc nh). y l s 1
[0-n] Mt k t s t 0 n 9.
[abc] Mt k t: hoc a hoc b hoc c
| La chn mu ny hoc mu khc
\w K t thay th phi l mt k t ch ci
\d K t thay th phi l mt k t s
\ Th hin cc k t c bit theo sau.
\. K t thay th phi l du chm cu (.)
? Qui nh s ln xut hin: 0 hoc 1 ln
* Qui nh s ln xut hin: 0 hoc nhiu ln
+ Qui nh s ln xut hin: 1 hoc nhiu ln (t nht l 1)
{n} Qui nh s ln xut hin: ng n ln
S kin
ServerValidate: t cc x l kim tra d liu trong s kin ny. Vic kim tra ny c thc
hin Server.
V d: X l kim tra d liu nhp ti iu khin txtSoA c phi l s chn hay khng.
X l s kin:
Cc thng bo li xut hin trn mn hnh nhp liu khi d liu nhp khng hp l.
Nu mun hin th mt chui vn bn trn trang Web, chng ta c th nh ni dung trc tip vo
trang Web m khng cn phi s dng iu khin. Ch s dng cc iu khin nh Label, Literal
hin th khi cn thay i ni dung hin th pha server.
im khc bit chnh gia Label v Literal l khi hin th ni dung ln trang web (lc thi hnh), iu
khin Literal khng to thm mt tag Html no c, cn Label s to ra mt tag span (c s dng
lp trnh pha client).
V d:
thm nhng iu khin vo bn trong lc thi hnh, chng ta phi thc hin thng qua tp hp
Controls ca iu khin:
V d:
Dim txtSo_A As New TextBox
pnl.Controls.Add(txtSo_A)
tblBang
a. Thuc tnh
AdvertisementFile: Tn tp tin d liu (di dng xml) cho iu khin.
Di y l c php ca tp tin Advertisement (*.xml)
<Advertisements>
<Ad>
<ImageUrl>
ng dn n tp tin hnh nh
</ImageUrl>
<NavigateUrl>
ng dn n lin kt
</NavigateUrl>
<AlternateText>
Chui vn bn c hin th nh Tooltip
</AlternateText>
<Keyword>
T kha dng lc hnh nh
</Keyword>
<Impressions>
Tn sut hin th ca hnh nh
</Impressions>
</Ad>
</Advertisements>
Trong
ImageUrl: ng dn n mt tp tin hnh nh
NavigateUrl: ng dn n trang web s c lin kt n khi ngi dng nhn vo hnh nh
ang hin th.
AlternateText: Gi tr ny s c hin th nu nh ng dn n tp tin hnh nh (qua thuc
tnh NavigateUrl) khng tn ti. i vi mt s trnh duyt, tham s ny c hin th nh
ToolTip ca hnh qung co.
Keyword: c dng phn loi cc qung co. Thng qua gi tr ny, ta c th lc cc
qung co theo mt iu kin no .
Impressions: Tham s ny quyt nh tng sut hin th ca hnh nh. Gi tr ny cng ln, kh
nng hin th cng nhiu.
KeywordFilter: c dng chn lc v hin th nhng hnh qung co c gi tr ca tham s
Keyword = gi tr ca tham s ny.
Gi tr ca tham s ny mc nh khng c thit lp Hin th tt c nhng hnh c trong
tp tin XML. Trong trng hp nu khng c hnh no c gi tr Keyword bng gi tr ca thuc
tnh ny, s khng c hnh no c hin th.
Target: Qui nh ca s hin th trang lin kt
_blank: Trang lin kt s c m mt ca s mi.
_self: Trang lin kt s c m chnh ca s cha iu khin.
_parent: Trang lin kt s c m ca s cha.
b. S kin
AdCreated:Xy ra khi iu khin to ra cc qung co.
V d: To Qung co s dng iu khin AdRotator
AdRotator
Nhp vo c php qui nh cho tp tin Hinh.xml (theo c php ca tp tin Advertisement)
<?xml version="1.0" encoding="utf-8" ?>
<Advertisements>
<Ad>
<ImageUrl>Hinh\Asp_net.jpg</ImageUrl>
<NavigateUrl>http://www.asp.net</NavigateUrl>
<AlternateText>Trang ch Asp.net</AlternateText>
<Keyword>Hoc_tap</Keyword>
<Impressions>10</Impressions>
</Ad>
<Advertisements>
Chuyn mn hnh qua trang Data, nhp liu trc tip trn mn hnh ny
F5
a. Thuc tnh
DayHeaderStyle: Qui nh hnh thc hin th tiu ca cc ngy trong tun
DayStyle: Qui nh hnh thc hin th ca cc ngy trong iu khin.
NextPrevStyle: Qui nh hnh thc hin th ca thng trc/sau ca thng ang c chn.
SeleltedDayStyle: Qui nh hnh thc hin th ca ngy ang c chn.
SeleltedDate: Gi tr ngy c chn trn iu khin
TitleStyle: Qui nh hnh thc hin th dng tiu ca thng c chn
TodayDayStyle: Qui nh hnh thc hin th ca ngy hin hnh (trn server).
WeekendDayStyle: Qui nh hnh thc hin th ca cc ngy cui tun (th 7, ch nht)
OtherMonthDayStyle: Qui nh hnh thc hin th ca cc ngy khng nm trong thng hin
hnh.
b. S kin
SelectionChanged: X kin ny xy ra khi bn chn mt ngy khc vi gi tr ngy ang c
chn hin hnh
VisibleMonthChanged: X kin ny xy ra khi bn chn thng khc vi thng hin hnh
V d:
Khi thit k
X l s kin:
Gn gi tr cho ViewState:
V d:
X l s kin:
Kinh nghim ging dy:
Cng ging nh cc iu khin c bn trn winform, cc iu khin c bn trn
webform cng l mt thnh phn khng th thiu ca mt ng dng web.
Gio vin cn hng dn cho hc vin s dng cc iu khin ny thng qua cc bi
tp thc hnh (ti liu nh km). Ngoi nhng bi tp c trong ti liu, gio vin
c th son b sung thm nhng bi tp khc (m rng hn) ph hp vi kh nng
ca lp mnh ph trch.
Bi 3
CC IU KHIN LIN KT D LIU
Tm tt
L thuyt 6 tit - Thc hnh 10 tit
Mc tiu Cc mc chnh Bi tp
S dng cc iu khin Data List, 1. iu khin DataGrid 3.1, 3.2, 3.3, 3.4,
DataGrid v Repeater hin th d 2. iu khin DataList
3.6, 3.7, 3.8, 3.10
liu.
3. iu khin Repeater Bi lm thm:
Lin kt d liu vi cc kiu tp hp:
ArrayList, SortedList, HashTable, 3.5, 3.9, 3.11
I. iu khin DataGrid
DataGrid l mt iu khin kh linh hot v hiu qu trong vic hin th, nh dng v thao tc vi
d liu. Bn cnh , chng ta c th thc hin sp xp d liu, thc hin phn trang vi s h tr
kh tt ca VS .Net trong qu trnh thit k.
hot.
Trang Columns
V d bn cn hin th danh sch khch hng. Ti ct Phi, bn khng mun hin th Nam/N,
thay vo , bn mun hin th iu khin checkbox thay th, nu checkbox c chn - th
hin phi Nam v ngc li. Trong tnh hung ny, TemplateColumn l s chn la tt dnh
cho bn.
Trang Format
DataGrid: Qui nh cc nh dng chung cho li
Header: nh dng cho dng tiu .
Footer: nh dng cho dng tiu di.
Pager: nh dng cho dng cha cc nt lnh phn trang.
Items
Normal Items: nh dng cho cc dng d liu.
Alternating Items: nh dng hin th cho cc dng l.
Selected Items:nh dng hin th cho dng ang c chn.
Edit Mode Items: nh dng hin th cho dng ang trng thi hiu chnh d liu.
Columns: Qui nh rng v cc nh dng ring cho tng ct.
Cell margin
Cell padding: Qui nh khong cch gia ni dung trong vi cc ng vin ca .
Cell spacing = 3
V d: iu khin DataGrid sau khi c nh dng
M lnh x l:
I.2. X l sp xp
Sp xp d liu trn li l mt cng vic rt cn thit i vi ngi s dng. Hy th tng tng
xem trong trng hp chng ta c kh nhiu d liu hin th trn mn hnh (gi s l danh sch
nhn vin chng hn), tht kh chn ra cc nhn vin c thm nin lm vic lu nht hay cc
nhn vin c s gi tham gia n nhiu nht. Vi chc nng sp xp trn li s gip cho ngi
dng d dng chn ra cc nhn vin tha mn cc yu cu trn.
thc hin c thao tc sp xp d liu trn li, chng ta cn phi thc hin cc cng vic
sau:
Gi tr thuc tnh Allow sorting = True
V d:
Private Sub Page_Load() Handles MyBase.Load
If Not IsPostBack Then
dtgKhach_hang.DataSource = Doc_ds_khach_hang()
dtgKhach_hang.DataBind()
End If
End Sub
daBo_doc_ghi.Fill(dsCSDL, "KHACH_HANG")
Return dsCSDL.Tables("KHACH_HANG")
End Function
thc hin phn trang, chng ta cn phi thc hin cc cng vic sau:
Qui nh cc thng s cn thit cho vic phn trang (xem Qun l phn trang phn Cc thao tc
nh dng li).
Trong s kin trn, gi tr e.NewPageIndex cho bit trang c chn hin th d liu.
I.4. Ty bin cc ct
Trong phn ny, chng ti s hng dn cc bn ty bin cc ct trn li, c th hn, chng ta s
hin th checkbox thay cho gi tr True/False ca ct gii tnh.
thc hin vic ty bin cc ct, chng ta cn phi thc hin 2 giai on sau:
Giai on 1: Thit k
Trong giai on ny, chng ta ty bin ct theo mt yu cu c th. Thay v phi hin th d
liu bnh thng (nh h khch hng, tn khch hng, ), chng ta c th s dng iu khin
Checkbox thay th cho ct c gi tr lun l, s dng iu khin Image, Image button hay
Hyperlink hin th hnh nh thay cho chui ng dn dn n hnh nh ,
Giai on 2: X l
Sau khi thc hin hon tt giai on thit k, y l lc chng ta phi vit cc lnh x l
hin th d liu theo yu cu ca mnh.
Ty bin ct Phi
Bc 4. Chn End Template Editing t thc n ng cnh sau khi thit k xong.
chkPhai
I.4.2. Giai on 2: X l
Khc vi Bound column, ct kiu Template column khng t ng hin th d liu. M lm sao hin
th d liu c khi chnh bn thn cc iu khin (mi c to khi thit k) khng c qui nh
field cn c hin th t ngun d liu. Do , hin th d liu (theo ca chng ta), ta
phi vit lnh cc x l trong s kin ItemDataBound
M lnh x l:
Trc khi i vo tm hiu cc lnh x l trong on lnh trn, chng ta cng nn tm hiu ngha
s kin ItemDataBound ca DataGrid. S kin ItemDataBound xy ra ngay khi phng thc
DataBind c gi (l ng nhin l ta phi gn ngun d liu cho li trc ). ng vi mi
dng d liu s xy ra mt s kin ItemDataBound tng ng.
bit c ln xy ra s kin dnh cho dng no, chng ta kim tra gi tr ca thuc tnh
e.Item.ItemType. Thuc tnh ny c cc gi tr sau:
Bng
KHACH_HANG
Dng lnh (5): Sau khi ly c iu khin ng vi dng ang xy ra s kin, ty theo d liu m
ta s hin th ln iu khin gi tr tng ng. ly c d liu ca dng hin hnh, ta s dng
thuc tnh e.Item.DataItem(<Tn field/Tn thuc tnh>)
chkPhai.Checked = e.Item.DataItem("Gioi_tinh")
Kt qu hin th
Cc thuc tnh c th lin kt d liu ca iu khin xut hin trong Danh sch bn tri hp thoi.
Chn thuc tnh cn lin kt, chn loi lin kt l Custom binding expression, nhp chui lin kt d
liu trong iu khin bn di theo c php:
Container.DataItem("Tn field")
v d ny, chng ta thc hin lin kt thuc tnh Checked ca iu khin chkPhai vi field
Gioi_tinh c trong ngun d liu ca li.
I.5.2. Giai on x l
X l chn mu tin
X l hy mu tin
Huy Cn V Tc Gi V Tc Phm
NXB: Gio dc
a Cht Cng Trnh (Gio Trnh Dng Cho Sinh Vin Ngnh Xy
Dng Cu ng)
NXB: Giao thng vn ti
a cht cng trnh l mt mn c a vo chng trnh o to k
s ngnh Xy dng cu ng ca trng i hc GTVT t lu.
Nhng hiu bit v a cht cng trnh s gip ch nhiu cho k s cu
ng trong kho st, thit k v thi cng cc cng trnh giao thng ...
RepeatDirection = Horizontal
Vertical (mc nh): Hin th d liu theo chiu ng
RepeatDirection = Vertical
RepeatColumns = 3
Thit k hnh thc hin th cho DataList cng tng t nh thit k cho ct Template Column ca
DataGrid.
Chn Edit Template | ItemTemplate t thc n ng cnh thc hin thit k hnh thc hin th
cho DataList.
Trong qu trnh thc hnh, cng vic thit k c d dng, cc bn thc hin thit k
bn ngoi iu khin DataList. S dng Table (thc n Insert Table) nh v tr hin
th ca cc iu khin.
Sau khi hon tt cng vic thit k, chng ta ko kt qu thit k vo v tr cn hin th trong
DataList.
LinkButton
Label
HyperLink
'Hin th Tn sch
Dim lnkTs As LinkButton
lnkTs = e.Item.FindControl("lnkTen_sach")
lnkTs.Text = e.Item.DataItem("Ten_sach")
'Hin th gi bn sch
Dim lblGia As Label
lblGia = e.Item.FindControl("lblGia_ban")
lblGia.Text = e.Item.DataItem("Don_gia")
End Sub
II.2.1. Cc bc x l
a. Thit k
Thit k c 2 vng ItemTemplate v EditItemTemplate. Thc hin cc thao tc lin kt d liu cho
cc iu khin trong vng EditItemTemplate thng qua ca s thuc tnh tng t nh trong
ItemTemplate.
Ch : Chng ta hon ton c th thc hin vic lin kt d liu trong s kin ItemDataBound.
dtlHang_hoa.EditItemIndex = -1
Lien_ket_du_lieu()
End Sub
<HeaderTemplate>
<table border="1" bordercolor="SteelBlue">
<tr>
<td width="130" align="center">
<strong>H khch hng</strong>
</td>
<td width="100" align="center">
<strong>Tn khch hng</strong>
</td>
<ItemTemplate>
<tr>
<td>
<%# Container.DataItem("Ho_khach_hang") %>
</td>
<td>
<%# Container.DataItem("Ten_khach_hang") %>
</td>
<td>
<%# Container.DataItem("Dia_chi")%>
</td>
<td>
<%# Container.DataItem("Dien_thoai") %>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr bgcolor="GhostWhite">
<td>
<%# Container.DataItem("Ho_khach_hang") %>
</td>
<td>
<%# Container.DataItem("Ten_khach_hang") %>
</td>
<td>
<%# Container.DataItem("Dia_chi")%>
</td>
<td>
<%# Container.DataItem("Dien_thoai") %>
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
IV. Cc v d m rng
IV.1. X l o hng sp xp trong DataGrid
V d minh ha di y x l o hng sp xp trong DataGrid. ng thi, trong v d ny,
chng ti thc hin lin kt d liu qua i tng DataView thc hin sp xp trn ngun d
liu.
dvKhach_hang.Sort = ViewState("SortExpression")
If ViewState("SortAscending") = "false" Then
dvKhach_hang.Sort &= " desc"
End If
dtgKhach_hang.DataSource = dvKhach_hang
dtgKhach_hang.DataBind()
End Sub
daBo_doc_ghi.Fill(dsCSDL, "KHACH_HANG")
Return dsCSDL.Tables("KHACH_HANG")
End Function
Kinh nghim ging dy:
Cc iu khin lin kt d liu (DataGrid, DataList, Repeater) h tr kh tt vic hin
th d liu trn trang web.
Do h tr kh nhiu chc nng, gio vin nn hng dn hc vin s dng tun t
tng chc nng m cc iu khin h tr. Sau khi nm vng cc thao tc ca tng
chc nng, hc vin c th phi hp cc chc nng ln cng mt bi tp.
Bi 4
XY DNG LP X L D LIU
Tm tt
L thuyt 3 tit - Thc hnh 5 tit
Mc tiu Cc mc chnh Bi tp
Da trn nhng kin thc hc v 1. Thit k tng quan 4.1, 4.2, 4.3, 4.4
lp trnh hng i tng v thao tc 2. Cu trc chi tit
4.5
d liu vi ADO.NET, xy dng lp x
Khai bo bin thnh vin Bi lm thm:
l d liu.
Danh sch cc thuc tnh
4.6, 4.7, 4.8, 4.9
Nhm hm khi to i tng
Nhm hm cung cp thng tin
Nhm hm x l tnh ton
3. S dng lp i tng
Khi c n phn ny, chc hn cc bn cng thc hin kh nhiu trang web: trang danh sch
khch hng, trang thng tin sch, Gi y, chng ta tm dng li, nhn li nhng kt qu mnh
lm. Bn c thy l ng vi mi trang web, chng ta u phi to chui kt ni, thc hin c
bng d liu, vit x l lin kt d liu
Ch mi vic hin th d liu trn trang Web, chng ta vit kh nhiu dng lnh trn , cha k
n nhng x l khc sau ny. S lng thao tc cn x l trn trang Web cng tng, s lng
dng lnh cng nhiu. Vic ln ln nhng on code v truy cp d liu v x l trn giao din
gy khng t kh khn trong vic xy dng, pht trin v bo tr ng dng web.
Chnh v l do , trong phn ny, chng ti hng dn cc bn xy dng lp x l v i tng th
hin d liu. Lp x l m nhn trch nhim thc hin cc thao tc truy xut v cp nht d liu.
i tng th hin nhn d liu, hin th d liu trn trang Web v tip nhn thng tin t ngi
dng. Vic phn chia cng vic c th cho tng i tng khng nhng gip cho chng ta xy dng
v pht trin ng dng mt cch c hiu qu m cn d dng trong qu trnh bo tr, ph hp vi
xu hng pht trin phn mm s dng cc ngn ng lp trnh hin i.
Ngi
X l th hin
X l nghip v
X l lu tr
D liu
M hnh x l ca ng dng
Module PHAN_MEM
Public Const Chuoi_lien_ket As String = _
"Provider=Microsoft.JET.OLEDB.4.0;"
End Module
Nhm t kha #Region v #End Region to ra cc phn vng gip chng ta d dng qun l cc
on lnh trong qu trnh xy dng lp.
Trong lp x l trn, chng ta c thc hin cc thao tc truy xut v cp nht d liu, do , chng
ta cn s dng b th vin ca ADO.Net. B th vin c s dng trong lp x l ny l
System.Data.OleDb. L ng nhin, khi xy dng ng dng ca ring mnh, ty theo yu cu c
th ca ng dng, cc bn hon ton c th chn cho mnh b th vin khc, nh
System.Data.SqlClient chng hn.
End Property
Public Shared Property Ket_noi() As OleDbConnection
Get
Return mKet_noi
End Get
Set(ByVal Value As OleDbConnection)
mKet_noi = Value
End Set
End Property
XL_BANG
XL_XXX
S lp XL_XXX
Trong :
Imports System.Data
Imports System.Data.OleDb
LinkButton
Kinh nghim ging dy:
Bi xy dng lp x l d liu hc vin c hc trong phn VB.Net. Trong phn
ny, gio vin dnh mt t thi gian n li, gip hc vin cng c li kin thc v lp
trnh hng i tng v cch xy dng cc lp i tng x l d liu.
Gio vin hng dn cho hc vin xy dng mt lp x l (khch hng chng hn), s
dng lp x l va xy dng ly d liu.
Da vo lp x l hng dn cho hc vin, gio vin yu cu hc vin to cc lp
x l cn li.
Bi 5
XY DNG I TNG TH HIN
Tm tt
L thuyt 6 tit - Thc hnh 10 tit
Mc tiu Cc mc chnh Bi tp
Thit k v xy dng iu khin ngi 1. To mi i tng th hin 5.1, 5.2, 5.3, 5.4,
dng (Web user control) 2. S dng i tng th hin 5.5, 5.6, 5.10, 5.11
3. To phng thc cho i tng 5.12
th hin
4. To s kin cho i tng th hin Bi lm thm:
5. Phi hp hot ng cc i tng 5.7, 5.8, 5.9, 5.13,
th hin
5.14, 5.15
Xy dng iu khin ngi dng - user control rt cn thit cho vic ti s dng cc on m lnh
m ta xy dng chng, y l mt trong nhng tiu ch quan trng trong lnh vc xy dng phn
mm ni chung v xy dng ng dng web ni ring.
Xy dng iu khin ngi dng cng tng t nh vic xy dng cc trang web m chng ta
lm trc y. Ch c iu khc bit chnh l trong trang web, chng ta c nhiu thnh phn giao
din v x l tng ng cn trong iu khin ngi dng, chng ta ch thit k v xy dng cho
mt chc nng hay yu cu c th.
iu khin ngi dng cng c cc thuc tnh, phng thc v s kin nh cc Web Server control,
l ng nhin l cc thuc tnh, phng thc v s kin u do chng ta thit k v xy dng.
I. To mi i tng th hin
to mi i tng th hin, chn Add | Add Web User Control t thc n ng cnh ca ng
dng.
LinkButton
Lu : Khi b sung cc phng thc hin th d liu cho i tng th hin, chng ta khng x l
hin th d liu trong s kin PageLoad.
Pht ra s kin
Chon_sach
Pht ra s kin
Chon_chu_de
Pht ra s kin
Chon_nha_xuat_ban
IV.1. Thit k
Thit lp thuc tnh CommandName cho cc LinkButton: Tn sch, Ch v Nh xut bn.
LinkButton
IV.2. X l
Bc 1. Khai bo cc s kin:
Imports System.Web.UI.WebControls
Public Class TH_SACH
Inherits System.Web.UI.UserControl
Bc 2. X l s kin ItemDataBound
Trong x l sau, chng ta gn gi tr cho thuc tnh CommandArgument ca cc LinkButton lu
tr cc m tng ng cho tng iu khin.
lnkTen_sach.CommandArgument = e.Item.DataItem("Ms")
'X l cho ch
Dim lChu_de As New XL_CHU_DE
Dim lnkChu_de As LinkButton
lnkChu_de = e.Item.FindControl("lnkChu_de")
Dim Mcd As Integer = e.Item.DataItem("Mcd")
lnkChu_de.Text = lChu_de.Thuoc_tinh(Mcd, "Ten_chu_de")
lnkChu_de.CommandArgument = Mcd
RaiseEvent Chon_chu_de(Mcd)
Bi 6
XY DNG V QUN L NG DNG
Tm tt
L thuyt 9 tit - Thc hnh 15 tit
Mc tiu Cc mc chnh Bi tp
Http Response
Web Client Web Server
(Browser)
Qua v d trn, chc c l bn cng nhn ra rng, khi s dng phng thc Response.Write, chng
ta khng th qui nh v tr hin th ca chui trn trong trang Web. Thay vo , vi ASP.Net,
thng qua cc Server control, chng ta c th thc hin chc nng tng t nhng linh hot hn
bng cch t iu khin ti v tr cn hin th.
LinkButton
Thit k
Thi hnh
Vit lnh x l:
[?Tham_so_1=gia_tri_1[&Tham_so_2=gia_tri_2[&]]]
Trong trng hp c nhiu tham s, cc cp [<Tham_so> = <Gia_tri>] phn cch nhau bng du
&.
V d:
http://www.tuoitre.com.vn/Tianyon/Index.aspx?PID=16
http://www.tuoitre.com.vn/Tianyon/Index.aspx?ArticleID=89211&PID=16
Thuc tnh QueryString ca i tng Request cho php chng ta nhn cc gi tr truyn qua chui
tham s ny.
Request.QueryString("Tn_tham_s")
lblChuc_nang.Text = sChuc_nang
Dim Id As Integer
Id = Request.QueryString("ID")
lblId.Text = Id
I.2.2. Cc v d minh ha
V d: Ly thng tin cc trnh duyt ca ngi dng.
Web Server
Web Site
Application
Session
Session Session
Ly gi tr t bin Application
V d:
Application.Lock()
Application("So_lan_truy_cap") = 0
Application("So_nguoi_online") = 0
Application.UnLock()
Ch :
Do ti mt thi im c th c nhiu ngi cng lc truy cp v thay i gi tr ca cc thng tin
c lu trong i tng Application, chng ta nn s dng b lnh Lock v UnLock ngay trc v
sau khi cp nht gi tr ca bin Application.
Kt qu hin th
Trong ng dng web, i tng Session gi vai tr kh quan trng. Do s dng giao thc HTTP,
mt giao thc phi trng thi, Web Server hon ton khng ghi nh nhng g gia nhng ln yu
cu ca Client. i tng Session t ra kh hu hiu trong vic thc hin "lu vt v qun l thng
tin ca ngi dng".
Ly gi tr t bin Session
V d:
Lu tr thng tin khi ngi dng cha ng nhp h thng:
Session("Mkh") = 0
Session("Ten_dang_nhap") = ""
Khi ngi dng ng nhp h thng thnh cng, cp nht li thng tin ng nhp ca ngi dng
c lu trn Session.
Session("Mkh") = 1
Session("Ten_dang_nhap") = "dlthien"
Dim i%
For i = 0 To Session.Count() - 1
Response.Write(Session.Keys(i) & " : ")
Response.Write(Session(i) & "<br/>")
Next
Lm sao m Web Server nhn ra c mnh nh? Mnh ng k t ngy hm qua kia m? Khng
u xa c, nhng thng tin c lu ngay chnh ti my ca bn. Nhng thng tin c Web
Server lu ti my Client c gi l Cookies.
Khng ging nh i tng Session, i tng Cookies cng c dng lu tr thng tin ca
ngi dng, tuy nhin, thng tin ny c lu ngay ti my gi yu cu n Web Server.
Cookies
Request
V d:
Dim cookTen_dn As New HttpCookie("Ten_dang_nhap")
cookTen_dn.Value = txtTen_dang_nhap.Text
cookTen_dn.Expires = Date.Today.AddDays(1)
Response.Cookies.Add(cookTen_dn)
IV.2.2. Ly gi tr t Cookies
Dim <bin Cookie> As HttpCookie
<bin Cookie> = Request.Cookies(<Tn Cookies>)
<bin Cookie>.Value ' Gi tr ca Cookies
Sub Application_BeginRequest(sender , e )
End Sub
Session("Mkh") = 0
Session("Ten_dang_nhap") = ""
End Sub
V.2. Web.config
V.2.1. Cu trc tp tin web.config
Web.config l mt tp tin vn bn c s dng lu tr thng tin cu hnh ca mt ng dng,
c t ng to ra khi chng ta to mi ng dng web. Tp tin web.config c vit theo nh
dng XML.
</system.web>
</configuration>
V.2.2. Cc cu hnh mc nh
b. <customErrors mode="RemoteOnly"/>
y l mt cu hnh kh cn thit cho ng dng Web. Hiu chnh cu hnh ny cho php chng ta
qun l vic x l li khi c li pht sinh trong ng dng.
Thuc tnh mode c cc gi tr: RemoteOnly, On v Off.
RemoteOnly: Cho php ngi dng thy thng bo li ca h thng hoc trang thng bo li
c ch nh qua defaultRedirect (nu c).
Thng bo li gm: M li v m t li tng ng
<customErrors mode="RemoteOnly"
defaultRedirect="Error/Err.aspx"/>
c. <sessionState>
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;
Trusted_Connection=yes"
cookieless="false"
timeout="20" />
mode: Thuc tnh ny c 3 gi tr: InProc, sqlserver (lu trong database), v stateserver
(lu trong b nh)
stateConnectionString: Cu hnh a ch v cng (port) ca my lu tr thng tin ca Session
trong vng nh (nu chc nng ny c chn).
sqlConnectionString: Cu hnh kt ni n SQL Server c dng lu thng tin Session (nu
chc nng ny c chn).
cookieless: Nu gi tr ca thuc tnh ny = True, thng tin cookie s c lu tr trong URL,
ngc li, nu = False, thng tin cookies s c lu tr ti client (nu client c h tr)
timeout: Khong thi gian (tnh bng pht) m i tng Session c duy tr. Sau khong thi
gian ny, i tng Session s b hu. Gi tr mc nh ca thuc tnh ny l 20.
<appSettings>
<add key="Tn bin" value="Gi tr" />
</appSettings>
V d:
To bin cu hnh Ole_Con dng lu tr thng tin ca chui kt ni n c s d liu SQL
Server:
<configuration>
<appSettings>
<add key="Ole_Con" value="Provider=SQLOLEDB;
Data Source=dlthien;
Initial Catalog=QlBanSach;
User ID=Qlbs_app;
Password=Qlbs_app"/>
</appSettings>
</configuration>
gChuoi_ket_noi = ConfigurationSettings.AppSettings("Ole_Con")
Kinh nghim ging dy:
Trong phn ny, gio vin hng dn hc vin truy cp vo cc trang web vi nhiu
th loi khc nhau: Tin tc, bn hng trc tuyn, hc tp trc tuyn,
Da trn nhng trang web , gio vin gip hc vin xc nh cc thnh phn c
trn trang web cng nh trnh by cho hc vin thy c b cc (hnh thc trnh
by) ca cc trang web.
VI.1.2. T chc lu tr
*.css
*.mdb
*.bmp, *.gif, *.png
*.ascx
*.aspx *.vb
T chc lu tr ng dng
Css: Lu tr cc tp tin *.css - tp tin qui nh hnh thc hin th.
Data: Lu tr tp tin *.mdb - tp tin c s d liu.
Hinh_minh_hoa: Lu tr cc tp tin hnh nh (*.bmp, *.gif, *.png, )
Trong th mc ny, chng ta c th t chc cc th mc con lu tr hnh nh theo ch ,
ngy,
The_hien: Lu tr cc iu khin do ngi dng to - cc i tng th hin.
Thu_vien: Lu tr cc tp tin th vin dng chung ca ng dng.
Trang: Lu tr cc mn hnh - cc trang Web (*.aspx)
Xu_ly: Lu tr cc lp x l d liu
Danh sch cc lp x l
Header - Tiu
w1 w2
w
Bi 7
WEB SERVICE
Tm tt
L thuyt 3 tit - Thc hnh 5 tit
Mc tiu Cc mc chnh Bi tp
Trong phn ny, chng ta s tm hiu Web services l g? Cng dng ca n nh th no? Sau khi
hiu c ngha v tm quan trng ca n, chng ta s bt tay vo xy dng Web Services.
Nh cc bn bit DCOM (Distribited Component Object Model) lm vic thng qua vic gi cc
thng tin di dng nh phn (binary) v ch yu hot ng da trn giao thc TCP/IP. Tht l
khng d dng s dng DCOM trong trng hp ny.
Firewall
Web Services c th gip bn gii quyt vn kh khn nu trn. Chng ta c th hiu rng Web
Services (tm dch l dch v web) l tp hp cc phng thc ca mt i tng m cc Client c
th gi thc hin.
Web
SOAP Request
Client
Windows
Client
SOAP Response
Other
Phatforms Web Server
Cng ty du lch s s dng Web Services c cung cp tin hnh t v tu la, my bay v
t phng cho chuyn du lch theo yu cu ca khch hng.
Khch sn
Nh hng
Cng ty du lch
Internet
ng st Vit
Nam
Khch du lch
Vit Nam Airline
.Net My Service
Client
To mi Web Service
Trong ca s vit lnh, c mt phng thc mu c to sn: phng thc HelloWorld.
Bn c nhn thy rng trc phng thc HelloWorld c sn t kha <WebMethod()>. Chng ta
s b sung vo phng thc Cong_hai_so.
<WebMethod()> _
Public Function Cong_hai_so(ByVal pA As Integer, _
ByVal pB As Integer) As Integer
Dim lTong As Integer
lTong = pA + pB
Return lTong
End Function
Trang kim tra Web Service s lit k cc phng thc hin c trong Web Service c chn thi
hnh. Chn phng thc cn kim tra. y, chng ta chn phng thc Cong_hai_so. Xut hin
mn hnh nhp cc tham s cho phng thc Cong_hai_so.
Nhp cc tham s cn thit v nhn nt Invoke thi hnh, chng ta s thy xut hin trang kt
qu nh hnh bn di.
Mn hnh kt qu
http://localhost/MinhHoa/Chuong09-WebService/WS_PHEP_TOAN.asmx?wsdl
Trong phn ny, chng ti s hng dn bn s dng cc Web Services ly thng tin t gi
ngoi t, thng tin thi tit, cc thnh ph chnh ca mt quc gia v cc n v tin t ca cc
quc gia trn th gii.
Cc bc thc hin:
Bc 2. Nhp thng tin ng dn ca WebService, nhn thc hin vic xc thc Web
Service.
Bc 3. Nu Web Service c xc thc thnh cng, thng tin m t v Web Service s c hin
th ngay pha bn di. Trong v d ny, chng ta ln lt xc thc 3 Web Service sau:
http://www.webservicex.net/country.asmx?WSDL Cc quc gia
http://www.webservicex.net/globalweather.asmx?WSDL Thi tit
http://www.webservicex.net/CurrencyConvertor.asmx?WSDL T gi
Bc 6. Thit k mn hnh
Mn hnh thit k
Vit lnh x l:
'Ly t gi ngoi t
Dim tgNgoai_te As New Ws_Ty_gia.CurrencyConvertor
lblUSD.Text = tgNgoai_te.ConversionRate( _
Ws_Ty_gia.Currency.USD, Ws_Ty_gia.Currency.VND)
lblEUR.Text = tgNgoai_te.ConversionRate( _
Ws_Ty_gia.Currency.EUR, Ws_Ty_gia.Currency.VND)
lblGBP.Text = tgNgoai_te.ConversionRate( _
Ws_Ty_gia.Currency.GBP, Ws_Ty_gia.Currency.VND)
T gi ngoi t v thng tin thi tit c ly t WebService vo lc: 9:30:00 AM ngy 13/06/2005
(gi Vit nam). Lc cc bn thi hnh, cc gi tr ny c th thay i.
Mn hnh kt qu
<WebMethod()> _
Public Function Them_khach_hang(ByVal pHo_kh As String, _
Return False
End Try
End Function
<WebMethod()> _
Public Function Xoa_khach_hang(ByVal pMkh As Long)
Dim lKhach_hang As New XL_KHACH_HANG
lKhach_hang.Xoa_dong(pMkh)
End Function
End Sub
Kt qu di dng XML
Mn hnh kt qu:
Bi 8
PH LC
Tm tt
Mc tiu Cc mc chnh Bi tp
a. Bng Ch - CHU_DE
Field Name Field Type Field Size Description
Mcd Autonumber Long Integer
Ten_chu_de Text 50
g. Bng Tc gi - TAC_GIA
Field Name Field Type Field Size Description
Mtg Autonumber Long Integer
Ten_tac_gia Number Long Integer
Dia_chi Text 100
Dien_thoai Text 15
I.2. D liu th
I.2.1. Bng Ch - CHU_DE
Mcd Ten_chu_de
1 Ting Vit
2 Ngoi ng
3 Cng ngh thng tin
4 Lut
a. Tag cu trc
HTML bao gm 3 tag xc nh cu trc ca trang web bao gm:
<htm></html>
<head></head>
<body></body>
b. Tag nh dng vn bn
Mc d c rt nhiu tag nh dng vn bn, nhng tag sau y l nhng tag c bn nht m
gn nh bt c mt trang web no cng phi s dng:
<p>: bt u mt on vn bn mi
<br>: xung dng
<h1></h1>, <h2></h2>,: t dng vn bn nm trong cp tag l tiu
(heading).
c. Tag ghi ch
Cng nh cc ngn ng lp trnh, cho php ngi vit trang web t nhng ghi ch dnh ring cho mnh
vo trong trang web, HTML cung cp tag ghi ch. y l tag c bit so vi nhng tag khc:
a. nh dng kiu ch
Trong cc ti liu, vn bn chng ta thng s dng cc kiu ch m, nghing, gch di,v d
sau minh ho cc tag c dng nh dng kiu ch:
<html>
<body>
<b>In m</b> <br>
<strong>In rt m </strong><br>
<font size="4">c</font><big>h ln </big><br>
<em>nhn mnh</em><br>
<i>in nghing </i><br>
<small>ch nh</small><br>
Cng thc ho hc ca nc: H<sub>2</sub>O<br>
X bnh phng: X<sup> 2 </sup>
</body>
</html>
xem code HTML ca mt trang web c t IE, trn menu View, chn mc Source. Bn c th
hc hi c nhiu iu bng cch xem code HTML ca nhng trang web c thit k chuyn
nghip nhng hy nh rng nhng trang web p lun c vit rt cng phu v thng s dng
nhiu cng c (tool) h tr.
V d:
<p align="center">
<font face="Algerian" size="5">Computer Joke </font>
<p><u>K thut vin</u>:
<font face="Arial">My tnh ca anh c a mm ch ?</font>
<p><u>Khch</u>:
<i><font face="Times New Roman">Ti khng nhn thy bn trong. C ch
" <b>Intel Pentium <font color="#FF0000">Inside</font>
</b>"</font></i>
</p>
V d:
Khng
c tag
<pre>
<pre>
on vn bn ny
nm trong
tag <pre>
</pre>
Kt qu:
a. To lin kt
HTML dng tag <a> (anchor) to lin kt ti mt trang web. Tag <a> c ba thuc tnh chnh l:
Thuc tnh target ch ra ca s s dng m trang web mi. Nu khng t gi tr cho target,
trang web bn ang xem s b thay th bng trang web mi. m trang web trong mt ca s
mi, t target="_blank"
V d:
c. Lin kt vi a ch email
cho php ngi c gi mail cho bn bng cch click vo lin kt, gn gi tr "mailto:a ch
email" cho thuc tnh href.
Trong HTML, mi mc trong danh sch c bt u bng tag <li>. Cc mc trong danh sch li
c t trong mt tag danh sch. HTML c cc tag danh sch:
<ol> : ordered list danh sch c th t
<ul> : unordered list danh sch khng c th t
V d:
Ni dung mn hc lp trnh web c bn
<ol>
<li>HTML </li>
<li>JavaScript </li>
</ol>
Kt qu:
V d:
Ni dung mn hc lp trnh web c bn
<ul>
<li>HTML </li>
<li>JavaScript </li>
</ul>
Kt qu:
Thuc tnh type ca cc tag danh sch cho php bn nh li cc s th t hay bullet hin th u
mi mc trong danh sch. Cc gi tr ca type:
<ol> - Order list <ul> - Unorder list
"A" : A, B, C, "disk" : z
"a" : a, b, c, "circle" : {
"I" : I, II, III, "square" :
"i" : i, ii, iii,
"1" : 1, 2, 3, (mc nh)
Kt qu:
Yahoo!
Ch : nu file hnh nh ca bn khng nm chung th mc vi file .html th bn phi ch ra ng
dn ti file .
Yahoo!
V d:
Yahoo! <img src="c:\yahoo.gif" width="30" height="30">
Kt qu:
Yahoo!
a. C php
<table>
<tr> <td> </td> <td> </td> </tr>
<tr> <td> </td> <td> </td> </tr>
</table>
HTML s dng b mt cu trc tag gm c <table>, <tr> v <td> nh dng cc bng:
<table>: phn nm trong tag l mt cu trc cc dng v ct ca bng
<tr> - Table Row: phn nm trong tag l cu trc cc ct ca mt dng
<td> - Table Data: phn nm trong tag l ni dung ca mt cell (mt ct ca mt dng)
V d:
Kt qu:
V d:
Kt qu:
<tr>
<td width="13%">Tn ng nhp</td>
<td><input type="text" name="txtUsername"></td>
</tr>
<tr>
<td width="13%">Mt khu</td>
<td><input type="text" name="txtPassword"></td>
</tr>
<tr>
<td width="13%"> </td>
<td><input type="checkbox" name="chkNewUser">
To ngi dng mi</td>
</tr>
</table><p>
<input type="submit" value="ng nhp" name="cmdSubmit">
<input type="reset" value="Xo trng" name="cmdReset">
</form>
Kt qu:
Qua v d trn, c th thy rng trong <form></form> bn c php s dng cc tag nh dng
trnh by form nh <table>, <p>,
Ch :
Vi CheckBox v OptionBox, thuc tnh checked dng nh du chn vo CheckBox hay
OptionBox khi trang web hin th.
chiu rng ca TextBox tnh bng s k t. Thuc tnh rows cho bit chiu cao ca TextBox.
V d:
<form name="form1">
<input type="text" name="T1" value="Xin cho"><p>
<textarea rows="3" name="S1" cols="50">Hello
</textarea>
</form>
Kt qu:
Kt qu:
Thuc tnh size gip web browser xc nh iu khin l mt ComboBox (size="1") hay
ListBox (size>1).
Tag <option>, nh bn thy trong v d, c t trong cp tag <select> nh ngha cc
mc chn.
Tn mc chn c t trong trong cp tag <option></option>
Mc chn mc nh c biu th qua thuc tnh selected.
Thuc tnh value cho bit gi tr ca mc chn. Bn s cn bit gi tr ca mc chn khi x l
d liu nhp ca form.
Nu bn mun ListBox c th c chn nhiu mc cng mt lc, hy s dng thuc tnh
multiple ca tag <select>.
i tng thng l cc tag HTML m bn mun nh ngha cch hin th. Thuc tnh l thuc tnh
hin th ca i tng . Gi tr l cch m bn mun mt thuc tnh hin th nh th no. Cp
{thuc tnh: gi tr} c t trong du {}.
Nu bn mun nh ngha nhiu thuc tnh ca mt i tng, phn cch cc cp thuc tnh: gi tr
bng du (;).
P {
text-align: center;
color: black;
font-family: arial
}
<p class="right">
on ny s c canh phi.
</p>
<p class="center">
on ny s c canh gia.
</p>
Bn cng c th b qua tn i tng nh ngha kiu Style cho tt c cc thnh phn c Class
m bn nh ngha. V d:
.center {
text-align: center;
color: red
}
<h1 class="center">
Tiu ny s c canh gia.
</h1>
<p class="center">
on ny s c canh gia.
</p>
#intro {
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
V d sau, Style ch dng cho thnh phn <P> no c ID l "intro" trong trang Web.
p#intro {
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
/* y l phn ghi ch */
p {
text-align: center;
/* y l phn ghi ch */
color: black;
font-family: arial
}
<head>
<link rel="stylesheet" type="text/css"
href="tn_file.css" />
</head>
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
<head>
<style type="text/css">
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
</style>
</head>
Ghi ch: Trnh duyt thng b qua cc tag HTML m n khng bit, do cc trnh duyt
khng h tr CSS khng hin th phn nh ngha Style, bn nn t trong tag ghi ch ca HTML:
<!-- -->
<head>
<style type="text/css">
<!--
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
-->
</style>
</head>
h3 {
color: red;
text-align: left;
font-size: 8pt
}
h3 {
text-align: right;
font-size: 20pt
}
Nu trang HTML c link n file CSS trn, Style cho H3 s nh ngha nh sau:
Color: red;
text-align: right;
font-size: 20pt
III.3.6. Cc v d
a. Mu ch, mu nn
<html>
<head>
<style type="text/css">
body {background-color: rgb(250,250,250)}
b. Canh l vn bn
<html>
<head>
<style type="text/css">
h1 {text-align: center}
h2 {text-align: left}
h3 {text-align: right}
</style>
</head>
<body>
<h1>y l Header 1</h1>
<h2>y l Header 2</h2>
<h3>y l Header 3</h3>
</body>
</html>
Mc nh, hnh nn s c t y trang Web. Tuy nhin, nu chng ta mun t hnh nn theo
hng ngang, hay ng, ta chn gi tr cho thuc tnh background-repeat tng ng: repeat-
x/repeat-y/repeat-xy
d. Font ch
V d 1:
<html>
<head>
<style type="text/css">
h1 {font-family: Tahoma; font-size: 150%}
h2 {font-family: Tahoma; font-size: 120%}
h3 {font-family: Tahoma; font-size: 12}
p {font-family: Tahoma;}
p.sansserif {font-family: sans-serif}
</style>
</head>
<body>
<h1>y l header 1</h1>
<h2>cn y l header 2</h2>
<h3>v y l header 3</h3>
<p>y l on vn bn</p>
<p class="sansserif">
y l on vn bn c font sansserif</p>
</body>
</html>
V d 2:
<html>
<head>
<style type="text/css">
p{text-align:justify; font-family: Tahoma;
font-size: 12px; border-bottom: 2px solid #ff0000}
</style>
</head>
<body>
<p> bit c nhng Web Service c cung cp min ph trn mng, cc
bn c th dng google thc hin tm kim. y, chng ti gii
thiu n cc bn trang: http://www.webservicex.net cung cp kh nhiu
cc Web Service hu ch..</p>
</body>
</html>