Professional Documents
Culture Documents
Scott Mitr:heII
IZASP. ET 2.0
II 2U......
TARTALOMJEGYZÉK
Aszcn6r61., .. , o •• " •• , o •••••• . .... xv
Ik\'(~z('((>,;. , .. , ... , . . . . . . . , • . . . . . xv",
o ""
'28
6. ón! l'rOgnImOk ~ a Vi- ' Bak: m6r1é8i tzerkemteiwl
A vezérlési szerkezetek mílködési elve ... , .. , ...... .
Fdt(,l"ks ""z(,r!6i szcrkelt1Ck .. , ... , ..
Ulili.itá,ok "l'weha~ hamisnak bizonyuló feltétel eset"n
o , •••• • o ••• o
o • o o •• o ,
'"
, Ul
1}4
M:i'ik fchl'tek... uta,illi .• vl'grd'~Ms:l _. _• _
)wmisnak bizonyul6 fcll(1c1 "-'Clén ........ , ..
o o , ••••••••
o •• •••••
_ o
, 135 '"
A Visual Ua.,i~· ciklusoczerkezrtej ...... . o • __ • •• o 137
For ... NeXl ciklusok . o , ••• , •• o • •• o , _ o , 137
Do ___ Loop ciklusok ...... . ___ 140
Egységbe fog6 vez"rl"sl szerkezetek, .........
eli<\r:\sok és filggi'l~nyek
A felesleges kódok rnenny;ség~nek csökkem&
o
o •• _ _
'"
'40
I'ÍS
clj"r!isokk~1 és filss"tnyekkcl ..
''""
, ................. .
Paramt'terek átadása eljár:i'lOknak é.. függvényeknek . . . _. , , .
Énlckek vi_"'7.aadása függ\'blyek ",egít~gé-vel
Mi ... sze...".. 37_ esemlcnykezel6knek?
......... . , .
, .. , .. . _ . 151 '"
ÓSS2efoglalis . .. .. ..... .. . . . , ... 152
Kérdeu-feJelek o , • o • • , , •• , •• o •• o , •• , o o •• 153 o
lsml:llű kérdések
Vil:l5Wk ,
Gyakorlatok
, •
, .. 155
o '"
154
Ajánlás
EzI a 1<6,,) • .,1 a Jml)rlnmoll, .~m"ek ajllu/om, mel1 0I)'a/[ fO kis/any 11011.
~ j TarUjuk nwg. ASf'.NET 2.0 ~ 24 ÓIII...u
KöszönetnyiIvánftás
Köny"" írni f~=ó dolog. Oly"~nny;r~
elszívj:l al ember ~il, hogy nem is
bh.."1!cm VO!rUI dl! feleség<ml, Jlsun múlh:,uatbn türelme é.< kibrró úmogJúsa ~kIl1
6!eszi;lZ ~leremt't. felh6rlcnü.! \'kUnunj
Scm ez akOler. 5Cm;l többi könyvem nem készOUK1cn volna el csodálatOS csal:ioom
n(,lk(ll . Megingathatatlan Szen;,!L1Gknck és biZUt~suknak k&zönherem, IlOjIy m~ at
v~lIyok. ~ki vagyok.
Ibjwk kh"ill kl\;o;tónt't.d b"dcmcl ~ NeU RCI"·e. Mari< R.",frow. Matt Pun:ell & a &.111"\11
ktadó tel)"'" 57.erke.n6i csapata.
Mondja el a véleményéti
AZ oh<uó a legforu0:<3bb kritikus. akinek a ,'ik" .o;Ii)"<' rM!kem és a kiadónak I> rop(X!nI
én~kn. Szeret ..... nk ludni, Uli! CSJn:ilunk jöJ. ml az. amin pvflhalnink. mily.", kön)l\'"k~1
kcUcne meg;..l.",t"tnünk (.,. 19y tovibb. K!rj(lk. ha ir. Iűntessc fel a kOnyv ..,..en:6j("1 &
dm~. \"::Ibmim a saját nc"'~, t<'"lefonsz.im:it vagy e-maii dmt:"1. Megjegyzbo<it ~l~flO."'n
:l.tt:mulm:inyozzuk. és to"ábbítjuk a kOn)l\' .~~r1~nek és szerknZl6Í1lck
Ahogy a Világháló tovább hal:ld Ostökössz<-'fŰ pályáján. <I ",ebhdyek Malikus IITMl
oldalak egy5zertI gyOjtemfuyeib61 fokozatosan ~t!alvezh"h, dinamikus wcbalblmaz;i·
sokká ~mek. Al olyan webhdyek például. mim az ,,&ly vagy a~. Amawn,cum, ><>kb!
robbek egyszen1 HTML okL->laknál: ,"~I6di alblm:<r.ások, amelyekt:t n lmem"ten
k=ztiil .. menInk d. Az adalve~r<:11 webhclyck fc1o!?pilb;<;rc mInos, "',,'Yujj=1
versengő megoldás létezik - ebben a könyvben a Mi<;rosof! wcbalkalm.náwk K"lrcho-
zásár-A súnI, nép'7.o:rú ASP.NU tedmoI6gi~já""k JegÓjabb viltozat,,! mutatjuk be.
AJ. ASP.N!:·r 2.O-S vlllozal.J. több javítást t.:Irwlma~ al 1.0-5 ki:.~hol képest. Ezzel
a v:llto2.atlal a Microsoft minden kocihhin:íl könnyebb<" !eue alad.1tvezérelt webhelyek
épit6;("l, amint azt a 13. fejezeuól keW'e, anmcorelk .... wűnk ismerkedni az adatb:ílisok-
kal együum6köd6 webhelyek épílbével,llIJ.8Unk is I~tni fogjuk. Az aootWzis-képcs
weboldalak léteho~t &eglt6 úi esz!I:ölök közlll a 14-16. fejcZ<.1ck mutatll:,k be
néh1ny~t. EleIl kívül az ASP.N1:."T 2.0 és a Visual wd, Dcvelopt:r;, bill ....ít oly~n
alközöket. amelyekkel professxion.111s. könnyen haszn.11hat6 "-ebhelyeket k6w.íthetílnk.
A 19. 6ciban ali" nézzük meg, hogyan határo~hatjuk meg egy ,,"el>hely navig:.kiós
xviii I T..... II'MIIIIlASP.NET 2.0 ~ 24 /in _
Eg)'es utasítások luls:lgo,;:m hoss~ú.,k ~hhol. hogy dftrjenck kön)'\i1nk eg}"el len
sor.1ban. Uyenkor a köv"lk"ző.'>Ot c\,,~n egy " karakterTd jelezzilk, hogy az adotl
u(asit1s {olyr3t~sa.
KÍ\~nom . l~' 3 könyv oIvaslsa is 3kkn":I (;lml..,Y' okozzon. mim amil ~ mcgir1s;a
jelemen nekem - jó programmj511
$(011 M,rch<!IJ
.. I tch.1114guydromrol h. ,co-.
I. RÉSZ
Ismerkedés az ASP.NET-tel
l. Ó!1I Ismerkedés ill ASP.NET·tel
2. Ól'a Az ASP.NET pfO'dfamoIási modellje
3. ÓflI A Visual Web OeveJoper haSll1á1ata
4. óra ASP.NET Wilboklalak tHfVHl!ÍSII,létrshozása és tesztelése
5. ma A Visual8asi~ váltolÓi és műveletei
6. óra PTogramok irányitása a Visual Basic vezérlési !Qerlr.emeivi!1
7. 6r8 Objektumok a Visual Basicben
8. óra Az ASP. NET srovegmegielenllÓ vel6r1/li
1. ÓRA
Ismerkedés az ASP.NET-tel
A lecke faITa/máMI:
• 1\-ti az ASI'.:-'E1?
• AL ASP.NET használatának rendszerkö\'ctc!mi"nyei
• Az ASP.NE'!" használata el6« telepí!end6 szofwel'ŐSS.letev6k
• {\ ,NET kC'e\rendszer, a VISUal Web Ik,-cloper és az SQL Server 2005 telepítése
• l~mcrkt:db a Visual Web Devdoperrc!
• Egy egyszerU ASP.NET ""boldal dk<'s2.Ítése és megtekint':"" egy höngé~z6bt>n
A h:lmudik o!s egyben uwl......, )('fI)~ OsszeIev6. amelyt:\ tclcpítcnünk kell. az SQL .'K."T\'cr
2005. Az SQL Sen...... egy atlalbá=tslllOlO>', \.';ISt'is egy OIY:m különleges alk:tlmazi.<, 3mt.'ly"'-
ilIb«>k hat&ony tároIisára és Iekérdezé;lT(: Icrvcudt. sok webhdy tl3SZnll ad:I\WztSoka~
az e-kcn:skcdclmi webhelyeIt p&l:óul ki\'Í1d ne·lkül :Kla!Wzisoktxm rüg:títik a n~
lbr:Icet és a ffil'gjcleníleo: tetm8unl'omúd6bt. II 13. (>I"1Ió1 kezd\'e rn:I.gunk is lámi I'o,;tiuk.
hog}"n 1.>ll,"I\Unk létre. kmlezhetünk le éi m&Jo:.;ithatunk adalb:lo7.N>b.t a \ "1SUal Web
De\dopei ,;,; ASP"'....Tf okbUk segi'~'eI,
Mi az ASP.NEr?
TlJn6dlilnk m:'lr raj!}! , hogy vajon egy olyan dinamikus wehhely, mint aZ Amazon .com.
hogF'n működik "~;6nf,,l ak mögött' Ha az Amazon.comon vásárolunk. a meg1.átogaton
oldal unalma dinamikusan dho zik, válaw.:'lsainkt61 és a~ általunk dny...'!1 muvele-
H'kl6I fűgg6cn. l'~ldául ha rendelkezünk egy fl6kbl aZ AmaZUll .~""OlllOO. a webhely
nyil601dal1rutk ]x,töllé.sckor az oldal tetején a mi nevünk jelenik meg. lejjebb pt"dig
5O'-emtJyre SZ>lbon ajjnlal(,kal I.:llálunk. Ha beírjuk egy köny," cím(1- a kere",imez6be,
megjelenik a ha..on16 címu könyvek hst\ja. ha pedig egy adol.( könyv dnll:re kattintunk,
megjelennek a .r.ilaSZlCXl könyv adatai. nÚ5 Lltog.1t6k hom fUZÖ!t megjcb'Y·zl'se;\"e! ,
illetve egy össze5Ílet! énékdC.,...,l egyetemben. H:l a könyv('{ a bc..-v:ls.árlókosarunkba
l~zük. ~ megrendel~1 kezdc.-rK:nycztink , a \\"ebhely elkeri a hilelk'inyaSZ,'!munkat ,
m.ajd a7.1\'<Szeget r:\:remeli a Idny"nkr~ .
--
III \.1) .$ váltOlllthoz kbpest. P6IdéU ~ jócskán továbblejleszten uerteSll4t. • Visual
-_
a k~r& Melelt.
A t U
, ....
I
•
•' \U"
1.I . 6brI
AfótIo.' ......... A ,Iti' 'i'" A,, ~~16
olljl_ . . - - o........ 1IjIl
llezelll. b.j(Jt6
• l' l'"
l , le Uftler 1Ii'nI/,,"""
Anukor p&lául az AmaWO.OOD'IOI IJ.:OjptJU\c 1T1C'g," bön~ a;;: Arnawn,com
webkiszolg;il6j:5.hoz intéz egy- M!bn kl!relmet, ~mel}trm egy adot: oIlCblt kér. pék.lául
II /lx>oiUl/lndex.hull-l. A"I. Amnon.com "'ffikiszol~lója a kén URL-t lefonlit~
a klswlg:l.l6t fuwu6 wmíe6gépen ::llJ.lh':lIó nlegf~lel6 f.>.~,.~ , és \isslaad);: :lnn3k
t,..ulmi:. :lnll 3 l:x'ing&z6nk jelenít Ill\.'g.
1. 6ra • Ismerkedés IZ ASP.NET-tel I 7
---• I 'i"
, ·"'teT",
.fíjIr-..........
,.",, ' 'NjJ_
' _ _ ii . " ....
~ . k6dOI, .... OI6M!jO
"'~
.~
~.~fóiIt
,,_. .
A P'~"'-
.... M,J 100'1< I/IIOL fÓOItI. lis
~.I/IIoL_
1.2. iIbra
,j dinamikus tI'CbokIal /Orlal", .... z oldal fimrJ>k6t1jti.wk ,<'i;rt1/ajtástlml áll elO
Ez a modl'U mar alkalmas dinamikus tartalmak hoz is, mivel a dinamikus webo!dalak
val6jj.ban nem is l~eznek addig. amíg nem k~relmezik awk:ll. Tegyük fel például ,
hogy <'gy o lyan weboldalt szere1ntnk Ittr.-bowi, amely megjeleníti az aktuális dátu -
mo! oh idÓl. Ha cZI cgy st::ttikus OJdaJOfl szeretnl'nk meglenni, valakin"k m:lsodper-
cenkl'nt módusilania kdlcnc az o ldal!, hogy az id6pont fris.~ü1jön, aITÚ nyilvánvaloon
k<!pt:elensl'g.
_.-
febdatát az ASP.NET-morornak (l~sd al. 1.3, ibr!it>.
-- .-
---
Iv. 4SI'.I«T......
• I' A" tp..,ou.!
."fo. lIlt
t~' h~__ .
·1=1' •
ol
._-_ot .
A lijlo='
",ASP.0Cf-.
....,..
HTML_
_~
\ull~
10'" _t- ,•
• .. bllilOltU6 .......
• "'1ójiI1ogf tI1Ml!OjlJ. k
~ iOI.ÍPO<i . 1ITMt.___
....,IIIIv'P • ., 11.4;'1.
1.3. Iibnt
A webkiszolgál6 II kt"n fájl kiterjew:t5C alapján állapítja meg, hog)' statikus ""gy
din.1mikus oldalról van szó, Ha a fájlkitcrj('sztés például . aspx, a H'mlgál6 t\!dja,
hogy a kC'1t oldal egy ASP. Nic,. oldal, ezt"n a k"réSl ~tadja az ASP,NET-motornak.
AJ. AS~NET·mo1Of olyan szofr.ler, amaly tudja, hogyan klll! vé~reha~ani III AS~NEl
weooldalakat. Minden webprOQr1lmllZlisi techllOlógiáhOl - ASP. PHP. JSP - saját motor
tartozik.
Több BZInt'(i webgazda céo köziii villaszthatunlt, amelyek teljesen IIt.ó iron, eltilTÓ
sebemp ib elténS ~t!SSaI ~ak mIis-m6s ~II. A kembt
ll'I'f oly.., WebheIYen ~ kezdeni, mint. http, IIWIoIV, topho.~ •. COlll vagy
• ht tp, IIWIoIV. hOlt index. com. Em • \\1bheIYek esoportosltjjk • $ok el:Bl"
wqazGa e~, [IlY ll'I'f adatblilisból kert!Shetjük ki lnekiri; m&9fe1e16 _on
megtelel6 ~ás~at nyú~Ó c'get.
Ha kiYálasrtonuk Bwebgazdát, amelyet meg szeretnénk blzni, léjljOnk kllpCsolatba
8 céggel... gy&6djiink meg róla. r.ogy tllmogatják ill ASP.NET·lejles.zlúl.
Index,comho7. ha:sonl6 ,,·ebhelyekct. amdrek löbb ezer webg:lm céget sorolnak rtl.
Ezeknek a " .. ebhtlytknek az adalh.'j;W:íb;Jn killOnfék fellélelek ueriru k~nk,
I*ldJul n~dh:lljuk. mennyil ~.gyunk hajlanUó:Jk h:i\"Of1U fizemi, foIo:Ir..iz.il~g ~lyik
lerulet \.gy ~ppcn milyen "ebkiszolg~l61 1't.'nds7.er ftlel meg neJrunk, ~ így l",?obl>.
A W.. bg3~k ll.:m)IlU n(,hány doIl1n61löbb WZ vagy több ezer dollá rig leljtd6 d íÍ"i
~~moIhatna k fd, II nyújtott sroI8~ltal~sokI0l ra~. Á1tal1bóln belépési dij is \'an,
am; 25 ~ 100 doll:lr közöt! m07.0g A webh.,ly clhC'lyez~nek költsége me!Jel\
:I t:lMom;\n'fl1 ~ bejegyzéS<.' is pénzbe kerül; r."nc;b7.eJ"Íni {:Vi 10-35 doU1rba.
•
12 11. r6sz • lsm8fked6s az ASP.NET·teI
Az ASP.NEr·motor, a szerkesztő és
az adatbázisrendszer telepftése
Emlt.k"77Ünk vissza: a böng.:'szó nem lUdja. hogy a webhelyOnk ASP.NEl" okblak:tt
használ..:os ~·L ncm is érdekli. A webkisrolgil6 nonoon ~k akkor képes végrehajtani
aZ ASP.NEr oldalakat, ha telepítjük az ASP.NIT-moton, men. a végrchajclst val6j1oon
eZ a rlJO{or végzi. Az ASP.1\'ET-motor tel"'Pitéséhez szimltógépilnkn<'k a Micr050ft
Windows 2QO(). a Microsoft WindoWll ),.""P, a MiC"f"O!lOft Windows Server 2003 vagy
a Windows Vl5Ia ~ndszert kell futt.:ltnia.
•
1. 6rIi • lImIri::edM IlASP.NET-tel 113
'- 1.4.6brI
tll"I<'PfI~
Q CD-l,.
""Skczdéséhez heI) ..;u,jk
udmil~) CD-JlQ.\I. /lJeghojl6jdi>«
---'
,
__
__
._.. _ ,---
...._-......_--_ -
............ _
. .....--_-...
_ . - ....-
'"
_._------
.----'-'--
"".,~,
,_... _-- ~ -
AZ első viLtsLLhaLÓ k~it6 (::;<)(lUg a Microsof't M.~D~ 2005 Expres.s Edni"n AZ MSON
~ MJcn:x;o(t t~kdolrunlL."Jjd6k:at, m1Isz.aki k.icl5ok:ll, k6dpt<ld:\k~1 és ,1Úg6f.ijloltat lar·
1lI1n...:W gpljteméo).... jltintlt:'L mt'gWilh:ltó a h t;t;p , 11.dr. . ..ucro&o!t . ""'" elmen, deo
<:nICmeS helyben is tdepit~'f1i. ezén j;t\'aslom, jdOIjUk be ~ liOW t.arto7h~.
14 1Lmz • lIrnerked6S ll: ASP.NET-tII
f\ rrdsodik v~bszthlllÓ C!IOITI.:.g II MicTusoIi. SQL 5<....... .,,- 2005 E:rpn.."SIl Edition. amel)'
<:gy in8)~ ad;1I1~zismolOr 12 II C$OITI38 nem klXde7i'i. tehát a \hu,,1 \\'eb ~~
S1k~ ~ az SQL s.:n..,r 2005 ~1k011$. do: könyviInk mD:xtik kiébcn er65m
t1m:a..9.kodunk 1"1, ez.m jobb, ha bc.,cIOIJilk en a ~~et is, CS tclepilj(ik a pI"OI!t'amot.
_.-
......... _.... -
'-~_'''.'''!'.!o-
._-----
._----
. -..,-, ~
- .. -----
... _-_ .. ,~ .. 1.6. ibrI
Adju. mq a .....pptJf. amelybt /d'pflffll
.".-.info'. a
Ilru<ú WOO lJftriopf:rt!
f\ kÖ\"etkezó ablak (lástI aZ 1.6. ~br:l.t) a~. a hd)', ~hol ""'lpdh31juk, melyik mappáoo
'l.crétn6Jk telepit"nl a VLSU31 \\"eb De\""lnp<'1t, ilk1VC 3 többi vibszton összetevŐI., {:s
ln Jjthatjuk a ,züks"llcs J.... nIeztenllet n~lIy>!ig:Jl
is. MiUlán 313p<b:1n eJJen6ti7.tOk, hogy
~ megfelcl6 <"''IOmagok.1tleJepltjilk, kattintsunk az Install (Tckpítts) gombr~. f\ teljes
tdcp;tts n~h1ny perce! ig"'nyeJ. Kötbe:-n /1!J)'dclllmd követhctjilk. melYIk c.';()ffi;OijO!
telep;t; ~ppo!1l a program, k J:j!!uljuk II t.:'Ijo<s tdepltL"Si folyam:u d6rchaladisit LS
(lb!! n 1.7. ábr.1I).
_ _N __ ~ "_
------
.. - --_. ~
----
'*-------
1.7. ibrI
Kó<"..,1* fJf1JoNm-' a "","pílh ttWlreIit!
1. 6ia • IsmerUd6s az ASP.NEl·I8I I ,S
1.8. iblll
A H.w,1 Web Dc<'CIopcr b(,JtJJtésckor mcgj<-I<",(f Sum I'ap,;!
Amikor elindítjuk a Vimal \\7eb [)e>·elopert. eI&Lör ~ Start Page jelenik meg. ELen
a kezd6old<llon a bal felső sarokban I:it lJatjuk a !l'gut6bbi projektek listiját (Rea:nt
Project,;)' alaIta pedig a Getting $L:Irted ablakot. amelyben a leggpkoriOb feladatok
d"égzé5ének módj~1 i5mertet6 oldalam val6 hi"atko:cisokat találunk . A jobb oldali
oo.z.Iopba.n a Micro.o;oft MSDN' webhelyén közútett legfrissebb cikkek listija látható.
,.
UI ASP.NEl webhely létrehozása
Ahhoz, hogy egy ASP.Nk.T "'eboldalt létrehozhassunk és dolgozhas.~unk vele, el&;7.6r
létre keU hoznunk egy ASP.NET webhe lyet. Erre a Visual Web IJ<;-veloperhen több
módszer is van. V~\aszthaljuk a File (Hj)) menü 1':ew \X'eb Site «(Jj ,,"ehhely ) p'll1tpt,
vagy bttinlhalUnk 37. eS7.kö7.tár N"w "eb.,ite gombi~r:I, de bUinthalUnk a S1Jr1 Page
Recenl PmjecL~ ablaklban a C,eme W"b Sile (Webhely \éuehozjsa) hivatkm.ásra is.
B:l.nnelyik módszen \':ilaszljuk is, megjelenik a New \l:'eb Site párbe'7"::"<.bhbk. amel)'"t
az 1.9. ábrán láthatunk. Houunk is létre most egy webhdyrt. Egyd6rc ne aggódjunk
mllial1. hogy nem értünk mind"" in található lehetőséget , men réS11elesm is megnl'7.-
zük őket a 3. órában. A Templates (Sablonok) bdllilást lugyjuk az ASPNET Weh Sile
lehef<5ségen. a l.oc:llion (Hely) lenyíl6 liSl~t File System (f~ilrell<i.~1."') értéken.
J Language (Nyelv) len),1ó IL.Lit pedig VISual Basicen. Az egyetlen , amil meg kl'll
változtatnunk, a webhely helye: tegyük a webhelret egy Kyl'i rstWchsi te nevű
mapp~b:J aZ ,',5l!alon.
---
-- ------
>-~-"-"'+
..
1.9. h
!l<>Ulmk /,</,.,. "8)' új
AS/~NtT uclJlwly(.'f az
M;ztt,} 'lO' m'<PiJájiilxm-'
Amikor új webhelyet hozunk létre, megadhatjuk egy m~ nem létem mappa nevét
is. Ha ilyen mappanevet adunk meg. III OK-ra kattintva a Visual Web Dawlopor
magtérdazi, hogy automatikusan IélrllhoUll'\I sZ<Ímunkf3 a mappát.
l, óra • lSrnerUd6S az ASP ,NEl·tel 117
--
~ SoJulion J::xplorerben_
.......... _...
•. '_.1" ,'.:0.."
,-, ..
..
__ ....
.:,,-
---
-- _._._
'M
--.,,""-,..._..••_-,•....•..
c,- .....
-"--
,.-
,~-
0-
",.. .. .... '
••
, ..
-
.-.----
..
••
-
M
•
"
•
1.I0. /ibra
. - . ,- ..... Az uj ".:McI)'
,,{.",,-hozá< .<111"•
", •• • " Dl'[""{I,mpx
ASl'1\U ű/dnl/(l{
El< a .1 Idio, szövegel jelenili meg, nagy mérctű" bertíkkel . Miután I"-'Írtuk
"~orid!"
3 fenti szüveg<.1. mcnjunk ~ Debug (Hibakercsts) menObe. t5 v:\];l55zuk a SUrt ""I!>out
[)ebugging (lndítá.-. ),iooken.'.s(os nNkűl) menilpomol. Ezzel elindítjuk az ASP.t\"ET
Development Web Serven, illelve a számitógl'p a\apéndn ... zeu böng~sz6jét, amelyet
a prog,..~m ~ http'/llocalho"t,kapusz<Ím/MyFirstWebsite/Default.aspxeimre
mln)'Í1 (lásd az 1.11. :ibr.Jt). Az UR!. kL>p'LfZ'am rbize att61 függ, hogy az ASP.!\"ET
Development Web Se,."er melyik kaput ~Ias.ztia ki.
0 . 110, WOliu ~
1.11. libni
.1 Vef",,/t·(I$fAX "Ifj' b(J,W-:m'ibo!" ""'R1<*1'"",,
1.6nI • bmerUI:In az ASP.NET-tel I 19
Ez 31. ASP.NET oldal ncm lúl érdeke,. nun·j a lanalma. statikus tcrrn<':szctí'l, minda20nilul
j(~ szemiElleti, hogy egy ASP.l\U oldaJ meglckinlbéhe2 el kell inditammk az ASP.l\'ET
[)M.·doprnent Web Servert, és le kell kérnünk ar. old."llt egy böngéw'ln keresztül.
En automatiku8:1n megtehetjük. ha a Dcl.>ug menÜ Sl:an Without Debugging pontját
v1bs:7Jjuk.
Osszefoglalás
!'>ta lénregHx:n mind"n ",ehhely tartalmaz ilyen ''agy olyan diromikus wcboldabkaL
Minden v.ebhely. amely JdlClővé leszi a felhasznál6knak. hogy keressenek a wcbh<,Jy
urralnlában vagy a termékek kÖZÜli. il letve testreszabják a v.·eWlely t:malm:\t, dinamikus
természe«I. Dimmikus oldalakat reng"'-<1I t<:<:hnol6gi~val ko':siithetOnk. és ezek közül
az "gyik legjobb az ASP.t'ET.
KÖlcrtlnkbcn azt fogjuk megvizsgálni. hogy mikém hmhatunk Ján' ér<:kkes b im~'I'3.kliv
ASI'.l\'ET weholdalakaL A példákat ~ Microsoft ingyen<....; Visual \l:'eb Dc\'dopo.:1' s7.<:rkes7.-
16j<'vel kb"ítjük el. amelyel kifL'jeR'tlen n ASP.NET wcbhclyekkcl való munk~r:l
telvevck A fc;c~~'tLx:n mcgnE7.lük, hogyan telepílhCljük a Visual Wffi De\'elojX-'n, ilk't\'e
a könyv példi,hoz szükség"" kél kiegé$l:Ít6 ~zetcv6t, a .NE'!' kcretrendszerr 6; a~ SQL
Server WO'Hit, végül pedig megismerkedtünk a Visual Web D(,vclo(X.'f fclük:t(...·t:l, <:5
el kf<;zítettük els6 ASP.NET v."eboldaJunk:ll. 3mcly~'t kj ~~ próhlllunk egy bi'mSész6ben.
A 3. (rlban sokkal részletesebbC'n t:lrm·a1juk a Vjsu~1 Web Developer környezetet.
Csak most kezdtük meg kaJandozás<Jnkal a7. ASP.l'lET világában. A következő 23 órá-
ban kh'\ll-bel(]j m,,&,-'iZ,sgáljuk "zi aZ izgalma.s tedmol6gi!it. o':s vtgül e!ko':sz.ítünk egy
tdjet; ménékbcn mUköd6képes t'leklronikus f~6album-31kalmazásl.
Kérdezz-felelek
K: ,'rlI afő klllt:mbség (/ S/Uli/ms é:< a dinamikus U'eboldalak k6z6l1l
v: A stalikus wch.,ldalak unalma nem váltOZIk, mig ~ din~mikus wcboJdalakl:
3Z oldal minden lekérésekor más ichet. mcn 3Z oldalo.sak "kkor jön lélJe.
A dinamikus i:>rt.1Jom jellemz6en a felhasznlil6 ittai ml'gauou vagy egy
~datb.1ziWóI kiolvaSOtt adatokból, V'dID' a kel16 kombjn:kiói~hól ~11 e16.
A National Baskctooll AssOCiation (www . NBA.cO!!V hi'"alaJos webhelyén I*lltiuJ
J:íthatjuk a csapalok mérkőzé..,i\, a7. eredményeket. a játékosok stati5ztik:íit. és
igy tovlbb. A wd""ldalak a tartalmukat eg}"sl(·n1cn ... gy adatbázisbóJ veszik,
20 I I IÉ • tun.bd6f II ASP.NEr·IIII
Gyakorlatok
Ehhez 3 Jeckéhcz n~'m Ul11:07.ik gyakorlat. de kés6bb, amikor már gördülékenyehOen
megy az ASP,Nl,' wcboklabk lélrehozJ:sa. nlinden reje7.ethen bpunk feladatokat.
2. ÓRA
A rnoM kővetke1J'i részlx"ll a di n:l(niku~ ... "eboldabk HTML rl'Sz{"f \'i~g:illl1k meg. ~zcln
pedig a Ie#rdekest.·bb részre t"runk r,i, ~ rorrlsk6dl""J Miel6!t a7.onoon közelebhról is
szemüg)'TC \'~"f1ntnk n ASP.NEr old:t lak HTML reszel., tudnunk keU. mi az a HTMl,
mily!"Il nyelVIani szab:iJyar vannak. 6; hog)'an jelenítik meg a lITML-k6dolM a ""eU-
böng{-szők. Ha már jól isrnerfilk a IITM l nyelvtanát. Cl~ a réS2;I nyugodtan átugoriulfuk
flTMl.gyorstalpa16
A HTMl, amint azt nl.1r val6súmlleg rudjuk, azt úja I;.,. hogyan kell megjeleníteni
aZ okbh egy wd>böngkzObcn. Ahhoz ~kUul , hogy a böng0<sz6 egy Űl<.'11<."C( félkö,i'f
betúvel jeleníts.;,n meg, a köv<'tkezó I-fl"Ml·k6dot írh':lljuk,
<b~ E , U lko"ér len . <I t»
A ~rrMl-k6d demekb61 ~ II; ezek "ják le 3l; adatok megjelenését. Az elemek egy kezd('i
és egy ( nem mindig kÖlelez6) ;>.;iro címkc:b61 álln~k. valahogy igy,
ln az <e l """,é",. a kezd6, az <I .. l """,é ",. pedig a úro ciml<e. A IITML--clemek 3
kezd6 és a tiro címke köZÖlt ~U6 unalmat formázzák; az, l}()g)' milyen fonn:ltiSl
alblnuWlIk, az elem ncvét6l függ. Ahog}' fent lálhalÓ, félkövér sZŐ"eget ugy
állíthatunk el6, ha <b> és <Ib> címkék közé helyezzük. (A b a .bold" TÖ\idite.e, ami
félkövéret jeleni.)
Nem nlÍnden HTMl.... lemnek ,'an kezdő és úro címki'je is. A sortörést meghatimz.6
<bt"> vagy a vizs.tinlei" vonalaI húzó <h n elem pékUul nem rendelkeZik z:lru
címké\'eI. és az új bekezdés! kezd6 <p> dcmt.., is haszn~lhatluk;>.;iru dmke nélkül ,
2. óra • Az ASPJET p'"",.,1IIáIi mc-' lj 125
Ez egy bek@zdá.
~,
Bár a HTML nyelvtana nem követeli mell. hoqy minden elemnek legyen kezdó és
riró cfmkéjtl is, a HTML ~gOnJbb "nyelvjárás,,", III XHTMl már ilyen köYtitel-
ményeket tfomllSll. Az XHTMl SligOrUbb formálását" böngéSlÓk gyorsabban és
könnyebben ké~sek f&ldolQOll1i, millI a rugalmasabb HTMl-nyeMIIilI. emn
(illeM &Qyéb ~ok miani S~ webhely igvekszik XHTMl·meofelel6 tartalmat
nyújtani. A követkero részben az XHTMl nyelYtanára és el6nyeiflj ~ Visszalér!io:lt.
,,",, <"
<h1>~"lc<De '0 ~ Si~,,!<'hh
,, <b~wel~!<'b>
.,
<, 'M uo "~ vleltlnl/ ~ alte,
.," ,, <l>Thla
" nut. , Ilk ..
" ",
10,
11,
12, <'l></p~
A 2.1. példában esek azért számoltuk meg a sorokat, hogy megkÖ!lf1YlWik " réjok
~1lJfi, való hivatkoz6sL Egv valódi HTML oldal kódja nem tllltalmaz sorSlirnollat.
~
Amikor a femi kódot belöhjUk egy böngésző!:>e, a prog ... m Ö$.$7.e1ömörili az el0lasZló
kar.lkterekel.. ahogy a 2.1 ibron l;illutjuk. Mindegy, hány karakter szerepelt 3 kódban.
cs:tk egy szóköz jelenik meg. A H, T, M és L betOk kÖZÖl.li koo;i~issta karakt<...-ekb61
21! l NIl • IIInIrUdMIl ASP.NET....
.'!l:'~,- -e
,,'eleo'lIe to my Site!
2.1. MIn
.4/f'1':1fL.btmkt<6fo' " .... jI"'n6 ............... ,,~ 'IJr~nwnltl..ll~
II fmli kél kódrészlet n egymásba :igy:."LOU címkék lu:I)l!S h:ll.-zrci.I:I.l~'" mut:ll péld1l:
az egyik címkepimak mind" keld6. mmd " úr6 cfmkt:;e a nlisik cimkepMon belül
t:lll1hat6. II 1Ie1)1e1('",1I ®,"ásba á8J.-I.ZQI1 ('Iemelm~ csak 3 kezd15 dmkéje \'Jn" m!isik
clemen beiOl. mig" úro dmke non kl\'\llre keru!. Ez" HTML-k6d példiul helytd"n:
<iHm.Ez dlIlt. lia félkO vé r ia</i> ... Iv n eul< r'aovér</b>
Figyeljük ,"<-'g, hogy a <b~ kezd6' címke al. <b eJ~me-n belül t:lL1lhat6, de a ;cir6 <Ib,.
nem. Ydgyis" <b~ eleme! hdyteJenOl ilg}'aZluk be.
Az XHTMl-r61 röviden
A7. Xl rrML a HTML egyik "...Il1aut3, amelynek $zigorubb nr~lvtani 'iZ:lbál~-a1 ~a nn.1k
Az Xl rrML megköveteli, hogy hcl)'<'SCn ~gy..uu k cgynt:i.sba a címkék':'1, ~ ~zt ls, hogy
minden címke hweta~ legyen. V~g)'l$I\.3 XHTML·ben szeretnénk kód oini egy 1n'ML--
~blázatOl, nem haszn;illllltiuk a <TAB LE>. CSO\k ~ <tabI.,> fr::ismódot;.
<hr l"
It. I .. anmlk :1 rövidített ;elöl&.-. hogy a keZ<:kl <:s a Z<iro dmké k k~t nincs t.:lIu lom
Az <.·J-.t<v l .. ugranaZ1 jelcmi. mint az <eJ ...... ft...,.<I .. leln"'f~.
A WYSMIYG 8 What you See ls what You GfIl (an kapod, arrullátsll roviditne.
A Visual Wttb DeVeIOPer ~al gvorsltja lel 8 wtbtoNozésl, hogy IehetM teszi
il fejleszt6knek, hogy az eoérr~ húzzanak HTMl·elemeket a weboldlllfa. Hasonló
grafikus tervero ft Microsoft FrO!ltf'Bge vagy I Macromedia DreamWaa\lel,
Tapasztalatom szerint a leglöbb ol)l<ln fejlt!Szt6, aki jól ismeri a HTML-t. s1jve:sebben
írj:! be 5:lj!it kezúleg a HTMl-dmk&ket és a we~ ,...,z&rl6k kódját, és nem h;!szn(ilja
ól. grafikus szerkeszt6 swlgál"'-\:Ísatt. Azok azonban. akik nem rendelkeznek l:lpaszul a-
tokkal a I--ITMl teren, áhaUban könnyebbnek és oIc:sóbbnak ",-1~lj:ik a szcrkern6
haszrci.lat3l. H~lten1nktól fiiggetlen(l] i;W3SOh mindké!. nl6dszen kipróWJni, és ~melJetl
dönteni, amdyi kkelgyorsabban megy a munka,
Hogy szem!éltessl1k egy ASJ>.N'!:T oldal HTML r6;z{-nek elkészit6,(1., hozzunk létr<'
egy egyszerű ASp.NEl' webhclyet l"gyt:1.len wdx>lcLllaL IndilSlJk el a Visual Web
Dcvelopert a Start. J>rogratmi, Mic~ft. WsuJI 'X'eb Dcveloper 2005 Express Edition
menOpomtal. majd a File nlCllu New Web Site pontját választva hQuunk lé\re "SY új
Wt!bhely(.1. Ekkor megjelenik 3 New Wt'-b Slle pjrbeszédablak, amelyet a 2,1. ábr:ln
láthatunk. V~lasszuk aZ ASP.Nt;"T W,,1l Síte 1\;I.blonl, :I loc'~hon ( Hely) len\'il6 Jistából
:II ) L _ • lImIIUd6t IZ ASI'.HET-tII
a file S~em.;II l.:.Ingw.ge l.,ubó! ped'8 a \ i5wllbsic clemel. HguJ adtuk mea
a ...·eOhely f:i.jJj:l.lnak eihei)'e~ mlIg.11O rnap~t a loc:Jtion hsUtóI jObI"" ul3lNtó
m}\~ZI:1lm (a ptldib:on U ASlIalon. egy CMpterl rlC'\iI rnapp:.iboln hel)'eU\lk el
J ...·l-btleJyet),
__.. A·"'-_ _ _
-,,-_----
_w. ,. ,
,,
~
A Location
--
~ 1t1.ehu:uf.J6...a
.-
-- _ ,_ _o
- __,
-- 2.3.6In
C,.,u"MI"nlt!
- thrmcmult
els6ASI'.\·cr
1I.~'d .. ,."
A IJalal5Ó ""rokb:In kél fillet Lim,nunk DeSIgn (TCf'\'evSl b Soun:~ (I'orr.is) né\'en
A Iks'gn gomb a grafikus (\rY~J'CYGj tenoe:r6i JCk'rnti meg. amelyben eg)...,enkn
lX'irh.:l\JUk:lZ ASP.:"IET okbJon ,~enlleni kiV;!,n, unalffi:lt, ~l. olddhol hon.bdni
kivant IIThl L-elemeket ts "'ebes ,·ezér16ket perl" a ll<llokbit található Tooll:>o';
(v"lkr16kl (Y.lletLirol ~ ie .... cl6:lblakb:o húzhaij\,k. (11am3rQS:1.n "Imi fogjuk. hogyJn kell
en elv""geznl.)
--- -- -
-
-- Z.4.~
Aml.lo:»" Mz"rn.1k <:!tI· I ffUl-/fIhI.1zalOl.
Itf<!I'dhllli" k JOI'OJi h oa:Itp>lt u.. .....r
ti
(It'mplate) I'pítjük a t:lbli7.atOl. VlIgy egytm t:lbláz:ltOl hozunk létre, és IT\;lgunk adjuk
meg a megjelenltenj kivánt soruk (rows) és oszlopok (oolumns) ~mit, illetve a táblázat
teljes sztle:ssc.'g<'I (width) és m:J.gass:lg.i1 (height).
Ilouunk Ittre most egy ktt oszlopból és nl'gy O;Offi6I ~IIó, 300 képp<:>nl (p~el) s~Je~
és s.ooképpont m~gas t:lbl~z;ttot. AI. el.só os~lopban a webheJy neve fog szerepelni,
a m.~sodikban pedig a webhely emblén\.1f;i A webhdY('k l1C'\'tt úgy ~dhatjuk meg,
hogy egys7.enlen n adon sor első oszlopaba k::l11intunk, és beírjuk II neVet. A T)e\'ek
houbdjs.:l után ~ úbl1zal úgy fog kinhni, mim ahogy a 25. :íbr.ín láthatjuk
MegftgyelhctjOk. hogy tl"linck'n wdlhdy nLove balra igalÍtva, mcglehetŐ6en egyszer\l
ki,*zeul betűkkel jelenik meg. CstrlO<$itsunk egy kicsit a megjelenl!sen: igazítsuk
körepre a webhelyek n~'tc, é:!; állílS\.l k ftlkövér Arial betűtípusr:. ~ sl:Öveget!
---
_.- - 2.5. ibra
Az ebió oszlop larmlmn:aa
a >r<1u' u'<1bhdy ""'~
)I j l,.. • 1Irr..ucMI. ASP .NEl-.
- --.-- -.. ,
- I 'IIJ.
-- -
•
-
, _ 0_,
•
- 2.6. bt
II ~..-bhcI,t*
fill""*"' u-tt,l"
,.... ,~ />i'M" ..
b" A"'"
- Műli{IUJ~ /UJ_w.
A fonnat menIl Bold ts Cenlef ~ haSmáIaÚn kMiI tiI;rf IS NIkMf,
közép.-.lQ8lI"lon szövegel UIZitlwtünk, lia az dölláf Bold lBI gOmbt6nI
kattinllXlk (vaqy lenyomluk • eTIl. + B bilklnt'{llkttl, majd az wt6zliroo • CInIIIf
gombol vknjuk.
--
.-.-
,_o
...,-
---
-
-
.--
,.-
--,--
"-
.-
',-
.-
,-
2.1. ibnt
A Too/box ","ktra <M)V'" drou>/ocl tana/mil%".
tlmclyc/«.1 " l<'1l.n tibr h,i.zh<lu",.
Megf1gy.::Ihefiiik, hogy:Ll: Im:l8'" webe; vezé1iöl< rno& még vöri)6 X-kt'1lt jelennek meg.
Enl'\ek az az oka. hogy m(:g I'\em adtuk meg a k~k URL-jl:!. Ell n Image vez616
r ..... ge<lrl tulajtlonságin kCTeSZlillleheljilk meg. de miel6n UR!.-t rendclhelnénk a tulaj"
don~8hoz, el6 kell ktlsz;,enűnk ~ megfelel6 ktlpf:íjlokal. Egy intcrnClcs keres6vel
keressük meg a webhl'lyek ffilbk'!,n.~it &; memsük a ktlpf~ílolGII usranabba a map-
~ba, mint ame1riklX-'Il 1("Irt'hozruk II webll<'lrt1.. (A k(,pfájlok mentb;tlhez k:!lIinlSUnk
jobb gombbal II kl'p ..... II böngbUiben, &; v:llasszuk a Save As - Mt'nt&; m:iski:nl 'agy
Kép memí'..... ITÚS n(""en -leht1.6:sol'g<.O
- IB
- ,~
I
I
•
,~
~~ 1 2.8.6bnI
':" ;;";;;;,'-
~-
' .. ' . . I . . •
• - .~ láIJJá=J m"kkt,
sorrIlroz~' image
u'i'bes l.O'Z&1& adn",.
---............_- ....
....
,
G:JC:;;:;O
2.9.6In
\',,1<1.«%11. iti <IZ fm<l# II"l'bes
"'~ ""'81<"""ftetu16 JOfPeI
Miután mllijadtul: a iMgy kápet, e!6fordullat hogy III vesszük és.zre. hogy ft képek
magasabOOi: v8f/'/ szt\lesebbek a kNántnill. A kéjm llIIÍIeteÍl a Width (SZtllessé91
és Heioht (MagiISÁg) tulajdonúgokoo keresníil módoslthatjuk. Ha II'IldW
azt szeretnénk, hogy agy káp 100 képpont széles legyen, &gySl1lriien állltsul::
a Wi dth tulajdons.6gét 8 100p" énék/o.
Eddig leMI elkL"'S2.ileltilk II I ITML-tartalmal. amely statikus IITML-t _ pékUul " <tll.ble:>
elemel - és Imag" webes v"zérl6kellartalmaz. Észrevehet!llk, Ilogy egyetlen soroyi
I-fThIL-1 sem kellen Ú"nunk: csup.in különbö:ro: menüponlokl'"J kanin1otlUnk, az egbrel
,,-ebes vezérlGlel Ilúmmk a ToolboJI" palettától az okblra, és tubjdc.m.ságokal !iUilottunk
be a l'roper1iC5 ablakban.
Az ASP,NET oldal kipr6W.lásáhm. v:ila5li7.Uk nlOSl II N>ug menO SCan Without Debug-
8Ill8 pontját, vagy nyomiuk le ~ CntL+P5 billentyt1ket. El. arra uusi,~~ a s~rkesZl6t,
bog)' forditsale az oldal fon;iskód részét. és indítson el egy wcbböngész61, maJd töltse
be a ....ebhclyünk kezdő oldal:l!. ami alapl'rtelffit."m ~lerint a Default .asp".
Ha m6d0:sí,ani S2eretnénk a kezdő oldalt, 3z egér jobb gombj~'";I1 kaUintsunk a kiv:ln,
oldal nevére ~ Solution Explorerben. és v1lasszuk a set as Stanup Page (Bd1lí!ás
keld6 oldalként) lehel6ségel.
- Coogle
-
l.10. "
... OU A5P .'"ET uftJoldal
"'~____-",==-_J "RY b61~ m"!l/dlnt''I!'
A HTMl·unaIom
Egyes ,,·mttT,-aők ken)·clmo.cbbnek érzik. ha....,m a grafikus ~cmőre llmuz-
kodnak. lunrm a HTMl·(orri5lszmeszr.'c kbz,"k CI ~ wdJokblakaL IUr .. HTML
Ixo(rn~ fomis tWzelbcn :\11;!lJoon nem olyan könnyű b g}"OfS. mini :l $lcrkeszu'l
h:ó\$ZIl:ilaIJ, a címkéket. az dhdycWi b a bchöÜ50kat jol:>IxIn k,Mxon tanh:lIjuk
2. 6nro • AJ. ASP.NET pni\jlM,"'*i modeIjII / 39
;'_~~::~~~~~::;.a8v~.Vb' .Inherit._.~;;;'.;";,-,-.--.->----------------'"
.
"3:
,
<iiXlC1'YPE h'IIIl PUBLIC '-IIWJCllrRD XII"!'IIL 1.0 'I"n.""itlo .... l/lm·
.. • 'ht tp, f I."..,..,.,,] . erg/TRI xhtmll/DTO/xhtmll- t nmsi t ion"l . dtd',.
n, <ltebl,
]8:
H, <Idiv>
4 O, </fora>
H: < lbody>
cl : <Ihtl.h
EI6SWr b. ~tlUlluk,
hogy ~ $lerkent61<'>k0l'".1 IIT\1L·k6dol; ir he autornahkusan:
II <t"ble> és" llOW bpc.ol6d6 elemeket, llJen·c $Ii1USKbtoklU (fdkÖ\eJ. középn-
'!pZlIOO ~'eg ANI I>cIl1\·cl), K("bég...em férhet 11OUá, hogy a ~ew6 jó r~hány
pem:t megtabrit nekilnk ahhoz kl'pe&, minI ru. 5a~1 kez:01eg kellene belmunk ezeket,
KÖ\,etken'*.bll núzOk mrg a rqy lmage ...~ veztrl6 kődj;it (17. B ~ ts .'15. sor).
A GoogIc-kfp \'''~"T16;éld. kódp (23. sor) Igy fet
<"~1l' !_~.. tn--' I"",~e2' ~'>at.·, ...,,,r' lAalle\lrl.· IG<>oQl •. Ili f'
_ loIidtb.'lllg,,' '>
A .... d!es \"ezérl6k kód", ru.5Of11i1 a 1fT.'ll·re: kez""" &i Z<i!Ó amkck \'3n""k benne,
a k"W6 <;imk" jellcm;cőket t~rt;llmazh31. és Wr ~ pj!:lilil>:m nem l~thaI6, a wcbes
"t.~ keW6 éJ dr6 címk~1 között is elhelyezl«"!ilnk urulnut. Az !nl-n)"e5 J-ITML-
el(,,~k :<Okas:I.ga elk·o&e az up: 1.... '9.· .-.em Imll.·elem. sót .":I.l6j:;Iban az ASPSET
webes \'ezérl6k (~mdyek fclOl~ liSp' vnilrl6név) egyike §cfll az. Ez peNze nem
jelenI gondol, nlCr1 a Visu~1 Web Develofx:roen l~th316 jelöibi ncm egyeóP.Jk meg :lJZlI,
amil: nulll az ASP!\'ET oldalt ko!-relmezó bOngl'sz<'l mt-gkap, ~ webn .,•. d-ri(Ik ugy:1nis
ilyenkor XI-rrMl-megfeld6 k6dd.i ablrul""k - ~ bOngéSZ6 az lmil8(' w~ \'ezérl6
esetében nem ~l </11Ip: J_g:e> ek'1Oel. hanem az < i"'ll> elcmt.1 kapj:! nq, ~mi
t''''''blyes tn1l-ll-clem,
Hog)' L1ssuk, hogy:In ~ működik mindez.. lérjUnk "IMU a o.fllul t .<lSp>< ol<blhol.
3 böng61z6ben. és nt'l;:ük mell ou, mil)"cn fOl"ri$l is kapolt a böng6.z6, A forr.ís
n Intemt.1 Explorerben a View menO Souroe pont~ra kattint\'ll tclond«"!6 meg; ekkor
mcsn>"fIik a r-:otepad Oe&1·l.enÖrt1b) progl'llm a böngbú!be betöhöu Hn-IL-k6dda1
A bön~.6nric (lmernet Explorer 6.0l elkOldón Default. UpK okbllrn.lL-k6dfl1
3 l j p;<ldában Ulh~liuk.
"
), ~I _ln,."h.ttp,JJ _ _ w3.or\lf1999/xhtaJ' >
" ~'-d><tit ll>
5: Untitled PIIII'
z.. 611 • ~ ASP1€T 1II .....1CIáIi mil '1 141
t
6, <{titl.><n-d~
1, <bcdy>
8, C fOnl ".,.,.=. fo,."l· _tl><>d, .po.,. acUon ,°Det.luH .....px· Id=" {, nol • ~
9, cdlv>
10, < Input t~. ·h!~· nu.'" _YID/STAT!' ld. "_VID/S'I''''TE·
_ .v.lu .. = • '"F.POwtIJODII !KDQONoEzZQQ01 IhHvtlPlhpvv.ql.JT9Mg6ECII' • I~
11. cI"I'o
",
lJ. «!!v~
H, <tul. nyI •• ·",j,·
U. <t~>
16, .. td "tyl.~·",ldth, lOOp." t'"""t· ...1I1J111 center">
17. <UTono;J>".""" atyle_' tont-I_ily, Arhl·>Y.hoo<l.po.n> . <!utTDf>\lHltd>
18, <td .tyle=·.."dth, lDOp,,">
19, <1"11 id, " !:t,.",,"l " er, "Yah lQ.qlf · .• tyle.·\;>Or,I ... ·"'ldlh,ap",· I></td>
20, <Itr>
31, <tn
22, <td .tyl.~· .. id'h, 10Opx, t .. n·alllln, ~nler·>
ll, cetrOl1Q><span .tyl •• 'Ion~' l..-tly, llTi.I">G0091to</.pan>. <1.,rOllQHild>
"(, <td nyl.=·",id'h, 1001'~·"
)5, <1-.;1 14a·ra.II"l· .«·.·QoogIe.lllf·
_ .tyl •• ""'idth,ll'px,border·",idth,Opx,· 1>< td~
~" cltr>
~7, ct<>
~8, <td .tyle~·",ldth, lOOpx, t"xt-aHOln, center',.
29, <stToflll><spo.n aty le . "I ont - f","-ily, Ar 1.1 ",.Mm-lc {_(lan,.. < { n rOflg><ltd>
30, ctd atyle~·",ldth, 10Opx"~
'1, <I~ Id-"i.JM","l· er, ·"MSN.glf·.8tyle."bord... ",Id'h:apx,· 1><ltd,.
3;<, cltr>
'l, ~tr,.
~(, uyle~" .. ldth, lOOpx, t"xt·,olign, ~'... r·~
<td
~ 5, ut fOflIlHepo.n .tyl .. ·t aflt -I_i ly, 1I~lel' .LyC"\8< IS(lan;>. ~!U [0"11>< {t d>
l', ctd .tyl •• • .. idth, lOVpx·,.
J 1, < lIOg ld~ 01_11"4 o . " . ' !,y' e .!li !" . ny I •• 'bonSer-",i<'lth dl".. ;' 'H itd.
l8, <{tr>
J9, <Itebl.>
(0,
41, <Idlv>
'l, </fo.--
(l, <Ibcdy>
U, ~Ih ... b
A 2.2 és 2}. pél<b k6dp majdnem tg>f()l"!m. de "an ~tun)' apró. ;im ann~l jeIen-
t6!cbb killönbso!.g. Ha felil1t6l kezdj{lk, az e-IS6 II IlPage U!35id~. 3mely 3 2,2, pfkb
I .>O<"JI.ban szerepelt, de 32.}. péld:l.lxm láth~t6 c1 killdöl\ HlML-b61 ndr lujnyl.lk
An ls megl1gydhclj(lk. h08Y ~ 2.2. pékb 10. soriba n 1~lou <tom run"t. ".erver">
ködből 0:1. 1<.11,
<10 .... _ . - fonol" • • !>od" ·pOet· action."o.feult. "Pl(' Id=·to ....1 'c>
, 4z L lill • IIImIrbd6Ic ASPJET"
I
Ezek a v~ll(ri"'* az i\SPI'I:.' okbbk cgy fontoS tulljlJons;igil:l \"IUgítanak rt: a ,,'CI:.ki·
szoIg;t1ón d&lllitOO kód nem fdk1lenlil:lZOnOi!l ~zz:.I. arrUI a k~z6 böngészl5 n-.eg-
bp." k..'reImt't:lZ ASP'\'ET·mocor kezeli, & levfkcn)~hez hozzjl..ü1Ol.1k a 5ZÜk.K~
,;\l!OZl:IWok e"-cgzese 15. &m khill. ahogy h'IINl'O$:On 1J.(JlJ f08juk a (ddoIgozjs folya-
mat:l nl:lg.íW foglalj:!. az okl:dl~ in. kisroIgiJ60klali k6dok \'égrdl:ljW,;;i! LS. A k1SWlg;1J6.
okbh feldolgom, aml'lyn: min<k." ASP.NE'! oldal kérí:sckor sor kenIl . tC$7.' 32 ASI'SIT·
el din:tmikus ,,'t.U!s tedJnoIógil\':I a böngész6nek dkilldöu I-ITML kolönftle fe~tldcl;
szerint, pBdiul qo' 3wtb::i.usb:ln le"ő, 3 f~16 .11tool be\.ill vasr mi.. forr.isb61
~ xblOk abpj:1n. progr.lfru'lI. m6da;ith:ltó
Ha Il.Igy ASP:-.JET pro,cl«cn dolgozunk, szin!c bizt"". hog)' a kOlIIn fá~okat alk;ilnuw
m6dslcr nlClktt döntílnk. eZ('11lenük le a '-oUull]Qt emdJen ebben a kön)",-bell ~
Az ASP.NET '.... eboldal.Iorf6sk6d lim! kjl p'OQnrTIOlMi ~ 11\1'(11:;'" íhlljW. meo:
Vu Basic vagy Vu CI' nYaIVen. ~.Ifnben 11 • • , ~ VISUal s.ie nyeMi.
"" ....
Ha b6Yebb ISITIefeteUt RWfI,",,*. VISUII8asJcr6I. tapom4 lel IZ 5-1. érik
Utlonto~ ésmen t.t ........ 1J09Y az ASP.NET oldal ,orm;.6<! ,ésa kiazolg6ló-
OIdIIi k6d. Nwqf IZ 1, 6tíban tisztáztuk, az ASP.NET oIdIIIkllllimekor
III ASP:NET-motor IIII~ ~ I 1orfist6do1 " adja \'ÍUZI az ~
kllPOtt HTMl-II k6reImMI biinQéSl6nek.. Ya9'fIS' Ioniskódol' ~
nem k8l>J8 meg, csak IZ 8fedményt.
Egy autónak különféle tulajdons.1gai lehetnek. tipus, modell, évjár:lt. szin. Szá""""
műveleIre képt:S: gumi, tolat, megfordul, lep:ukol. \'czt:1:6 közben mlnd .. nféle esemé-
nyek tört<"nnek, a f<"kre Il'pünk. \'agy bekapcsoliuk az .. blaktörl6t.
Az objektumok egy adott osztály konkn.'1 péld~n~':li. Au(ós plikUnkruil m:m,d"", aZ autÓ
fogalnúnak egy kéUelfogh:nó megtesleSül6le, például egy 2OOO-eS évjiraIÚ méregzöld
Hand! Accord, objektum, 3melyre aZI:Ín aJk,dmadl.atiuk a~ ~Ital~nos (clvoru) ~U1Ó tag-
fiigg-.·;;"yeiL Ha a Ilond:IV"JI plildául CI s:zeretnl'nk menni egy :irulúzig, ll. Drive (men"')
ugfüggvényt IusznáJhaljuk, sz!lltség s:zeriru alkalmazva közben a Tum (fordulás) ug_
függvényt. Amikor dénünk 3Z 1iruh:ilzhoz, a Park (parkolás) ugfilggvényre lesz srilksé-
günk, a \'ás.lrlis befeje:nl'\'d pedig ki kell állnunk a parkolóból a Rever:;e (lolali5l
ugfilgg\'énnyel, majd a Drive és ll. Tum segll5égéveJ hazavelelnunk. Az autó objektum
működése közben kmönffle e;eményck történhetnek: az ~rulúz fdé nag)-'on valószínű,
hogy sz!lkslig lesz. a ..korm!ín~'kerek elfordít:llsa" & a J(lkre lépés" eseményekre,
A StartJlIQ H Stoppiog nemtnyeQt lentebb ltir6 k6d nem VaI6di Visual Basic kód,
h_m IÍgynevezen Al/t:ód Ipszeudot6d). Al. illkódokat e0'(8t1en prO\lf'8IllOZÚ1 nyelv
MtelfT18lÓje sem ismeri fel, viszont 8 Pl'OQI'lIfTIOÚsi eIVeknat III embari nYe/VIIe.I
k6m m6don törtht6 ...... ~ ablmasak.
47
Eseményk0ZBi6k az ASP.NET-ben
Amikor kódol lrunk egy ASI',NIIT wcbokla! forr:isk6d r61ze szAmár". escménykcuJo!Iket
OO1.unk Iéire, :IITld~'ek meg!t:ltjrw.ou ASP.t\tIT-aeményt'kre -nlaszul futnllk Ic. Jlrt.'Il
ASP,N!:' escnof"y példlul az oldal Load (becölt&l CXj,It,,}"C. :unel)~ minden ASI'1':':T
okbllektresekor sor kerill Uli egy k6drészt nunden aJJalonulul '"égTe SZCfI!'Inb>k
hajutni. amikor ktrelem ~k egy:odou ASP_...n okblrJ" hozzunk létre e5CIl~)'kc
zd6I::a Load C5C,,~nyhel., és hdyezzii.k bde,. ki\'~nt kódot.
2.IUIn
..u ok/,,1 lead ~JIinJU=Mjh ~ 1et,)fId Itslából JrlnJkm:wa 1>Ozrn.lju.k ~re
"
6, 111'14 tub
1, 2nd Cl .....
Awebes _ _ _
A2. Ml);!n kod.bban ~r be~l.éhÜnk róla, hogy a wd)<.~ \"ezM6k b; ~ stIlOku, HTML-
laJt:l.lom 1r.<lW« n az eg)'ik k{llön~, hogy a wcbes \"erenők progr~r))b61 il; eltffie1ők.
mig a IITMI,-wt;ilnut nem módosft/\3tjuk Igy Ezen ki\'OI a ",~)('S \'etéri6knek rulap:)I'I-
slig:oik i5 ,·ann:ok. pékLiul3 k<ribbln UIOU IlTl2ge \-eztrl6oek ,vii C'SY IlIWIgeurl neViI
Ilda~. amely:oz adon kcra6molor embleni.lj:lfuk L'RL...,.-:t 'kb meg. t:zekc:t
2 lul:ljdoos;igok:n 32 ASpXl'T OkbJ forr.í5k6d rb1kben oI\".3ShalfUk tos irh:Oljuk is
lia aZ old:llhoz adtuk a Label "ezerlŐ!, m6do:iíl5uk ann~k T!!xt (szöveg) €:s ID
(azonOS,tó) rulajdonsigatt. Emlékezhetilnk m. hogy ezt a Properties ablakly.m
'~ezrn:tjú k cl, de ha fom.-; néZt.1ben "3g)'unk, lehet, hogy gyorsahb közvetlenül
a H1?IL kódban m6dosíuni a ;e11emz6ént;keket. MindJ.;{-t módszer elfog.~dh:l16.
Töröljilk ~ T!!xt IUlajdonság ént;k~, az ID pedig legy<.'n cu .... rentT1_ (aklU<ilis id6).
A Properties ablakot a módosltások ... lvégd:M: után 3 2.12. <ib", mUl3tiJt .
........
-~.
- ,-
-,.
-'.
-- -
:;1
;,,-
I::---
-....
- ..'I' 'c'_
~• -- -
- 2.12. ....
Ji ='<~fm .. ll) h Ti!XI
mIhJtkmwlV.i/ módosflOlmk
S~nlunk r:ii egy P<"I'CeI., t'o§ ~:a:ük a Default ....px oldalt II bönsc~l(5bm
meg most
(I;bd ~ l B. "brit), Az okblt~'1,*n n~lenlk II .'X'elcome to my ~Ite. II ~ IlO<\'
II/mul/Is dUm", h iM szöveg, ha pedig últ:llölljü k 3Z oldali, ~ d.ltum o!-s U IdG fri"-"il
f2 lól szeml~lk'lj az ASP,N"" oldil.!k din.1nlllrus ICmll~'S2C1l'1: egy olyan ultb 11 k67.;-
lettünk. amelynek Illlulnu nem .\il:oIukus. hőlrlCI11llZ aktuáli.s wlunuól 6; id6t61I11/Ol
~ . ,.,.-- ...
l . _. • • . • • • • - "
••
._........._--'"-
'" .~. , r - --
2.13."
lU A5PS~T oldal
Összefoglalás
Ebben a I«kéllO:fl jókora anyago! lek"lll'Uünk ~l \ ';zsg;ilódhunk~1 az ASI' .... er ,,'eb-
oId:11~k HTML mu\'el kezdtük ~Zlük, hogyan adhalunk IITMWbIj7.alOk~1 és
nW scuiJrus t:lr1~Jmal 3Z okblhoz ter\ezl'! m,zetben, illetve hogy:m ht1zhalunk li
wd>e5 "eztrl6kt'l u ~I ~ IS l:illuk, IJOg)'",n ''''I!OZUlllaCruk meg a Hn'l okbl
k,néutét a terv~ a Fon",u menü Iehe!&tge1.\'el, és mtgUt>uhuk. hog)' a grölfikus
(WY'i,\t'YG) tenew mellett II \ >§WI Web De>-eIoper aze ;~ megenged>. hogy ~ IIDlL-
kódol sajil keZl11.:-g írjuk be a Soorc:e lafXIII
Az elmúlt 6r:1k pékU, meglehCl&en t'gYllzcnlck voltak; a ''Illáugban nem ...:,k I~·
nuk:u ,-enn6\]{ A "I. 6cllxln rlÚr egy pnkuku.sabb ASP:\'ET " ..rl:>ok!att kontilnk.
booyolult:ll>t, lfI"Ml és fomsk6d részekkel. el6ször azonb;an rtszIelesel>llen ~
felfedezzOk a \'i:\Uld Web Oe>'doper mak~
Kérdezz-felelek
K: Mi&t (I 'tmal/Jasfclld, mfnlltiszolst"óoldtll/ f>rOsr ....1I0u'W ",und I'pfttl"ll[d
miII/hm liSP ,\'liT u'f.'boltl(lll.?
v: A könyvben nén. ~:'llasztonuk a \-;suaJ Basicet. men II keW6 prograltlOl6k en-
~k II n)'-el....lt'k II h:wtNbt.ll könnyebl)erl rudfík dsajJliuni, mini a \'1OiUa1 C-~.
A \\SW11b51C u~i k~ .ilInak ~ hétkÖZl\apt ;o.ngoI1l)'eh1>el. mig
a \iMI~1 O- rejl.élyesriJb jeIdet ~Ikahml E1.en !ID'üI a \-isual Basjc nem lesz
különl"""'S"-" a kis- él. !lag},l>t1iIk kÖ1;Ö!t- a \-~\SUal O- igen -, így kisebb az Cl'oélye,
hogy gé~ híb:11 ~étünk, '''SY 1Ilii~, rfU57.1r:i16 hibálxI ~Iadunk belc_ A kis- és
nagybetűket nem mcgk\llönbö2l.eu5 progr:arrwnási nyd,-d<<'I .ilul:il:an kilnn}'ebb
megtanul",
K: MIIIo,.ciUn-rii SlaflAms ImlL~ haszIIáI", In-oes n'zCrlók heI)'('tI.?
/la SUI/11m! sz6t~ $ZC1'C1/1t"'1I mcsJc/.m(lt.,II, ~ncn1"11 fry""- be (/ s:ztJ/t-gel,
tVl8,l' luuxl/tllj",,1I u/bel t-eúrl6i, és lIiIIljuk be UIlIUIII Te.>1I"lajtlo,,~.g{jj~
v: H3 tudJuk. hOg}' 3 Ur1310m 5l3ukus Je=, dlsunlbb IIDtl~emeket, és
nem ..."dle "eZérl6k~ h:lw-illni T~~ h:l3 urutlom din:mukus,
mml ~ Label \'eztrl6ben megJdenitdl SlÖ\'eg példilloon. ,,'eI.>eS "eztrl6re
l~szUk~nk
52 [ I. NiA • ~ IlASP.HEhl
Ismétkl kérdések
1. Mmek" J'Ö\'idi't6ie" WYSIWlG'
2, ln heI)'o:sen egyll'U$ba 4gy:llQlt ImtL~k(.1 u'tunk?
<lItlll><body~
<lIbMy Pint W~b P4\le<lllh
Th"•• ar. _ t.., of .ry f.vodt .. <hthlnq'"
<ob
d1>Jh,,~</lh
< h:>'\sP,II~c/U~
c l bll... ~"tba llc/\ ;:>
• ohc/b
<Ib 'v>-<Iht,.,·
Válaszok
l. What YOll sec 151l1ut Yoo Get (Azt kapod. "rrut ];ítsl).
2. Igen 'lflC5 benne oI)':Jn elem. ;,und)'nel!." ketc16 cimk.éJC egy m:b,k l'"ICmI
kezd6 dmkéjt: uto1.n kóvetke7.ik. de a tifÓ dmkl:jc nem a nLisik elem Úfó
.::imlcéjc el6u.i1l
3. A ""'<;1" Ut:ISiIh k.c:gCszil6 tnform.iciókkal lá!!" od az ASP'TI-moIOI1. példiul
azt ~n,Jlp el, hogy mil)~ kismlg1Ióokbb n)'Ch-'eJ1 írLlk az okbl forti,k6dp1.,
illetve: hogy hol uUlh31Ó" forr.hk6dol: !~r1"lm:1Z6 fijl AZ ula~ítás ,,"'" ic'lenik
mcg" kérelme1.6 böngészőben.
•. PageJ.oad. Ennek al. ~énykezel6nck a haszn~Ia!~! a rorrtisk6dban
a 2A ~Ida szcmltltene.
S. Kétfl-lckfppen. Az eJs6 rnt,.'gOld~ n. hogy az egérrel a tervcz6be húzzuk
~ n~8Idt"11i webes vezftl61 a Toolbox paleujr6l, 3 misodlk pC'<lIg az. hogy
~ "ezerJó kódj.lt saillt ke1il1eg írjuk be Souree (f<.)lT.\5) ,*zed>cn.
Gyakoriatok
Az alábbi fe1adatok célia, hogy I<>bI>an megismerjük II ViswJ Web Dc\'elopcr n.crkesZ16
mt:lköd6;ét.
Mivel a Visual Web Developen61 n<:m fogunk szabadulni a kön)'\' .'lOrán, felté1l<:nül
I'rdemcs id6t sz;'inni rá. hogy reszlete5en is meg,sm<:r1<edl0nk vele. A Visu:!1 Web
l),o\,e!oper kifinomult, széles kOr'll ~zoIg:íl(3tásokkall!s has1.nO:S kl'~kkel rendel-
kez6 programozói fejlte'5Z16kl:>rnyezt:l, Mint mmden szakma esct&en, a progromozjs-
IXIn is fonta:;, hogy jól isrner}ük a rendelk<:z6ünkre :Illó eszközöket.
,
Uj webhely létrehozása
Amikor elindítjuk 3. VISUal Web Developen. ~ Ital~ban I'agy új webhc1y(1 akan",k
létrehozni, v:tgy egy mcglev6 w<:bhelyet akaronk !ll<:gnyitní. A webhdyck kolönfl'le
fQI'I"i$f~jlokb6l állnak .statikus és dinamiku5 weboldabkból, képfiPokból, súlusJapokból,
bcállítófijlokböl, l!s így to,.-lb!>. A f1jlokon kívül II wcl>ll<:tyck alkÖll)'Úr.dmt is l:'I!ulm:,z-
hatrulk, amelyek mlndegyík<'ben uj:lbb fájlok és lov1bbi alköny.1lrok k.4>ctnek. leh.1t
a 'I','ebhely olyan. mInt egy mllppa a u.ámit6gépen, fjjlok és almapp:ík g)'Il""jlt-m(,nre,
-~...... >"
__
.. ..
1-"'-- .--- -----
- -- r--;;.'" - _- ,
'-"--- ~ ---- -'
3,1,~
fl] nobJtdy 1o.1rchozdsa (I Ner., Web S#~ p6rl1ett"'k,bh>lK>~ ~,a/
3, 6ra·AViIuIIWllbD"I·I~h t: '.157
Wcl.>IJdyiink lehet a :'Mjlt II ~mitógépOnkön v~gy egy !:Ivot. gq,en. A ~a-mel}i wmj·
I~ ~JI:I.Ulxln nem 0ZemeInek webluswlgll6kcnt, lelcit ~ gép, amel}-en doIgnwnk.
,,~lónillcrJes nem ad otthonI webhdyclmek, A PCI d~ sajjt etin haszn:lllll.
wcbböngés2~.levelc~. sWrlIkol.ásrd. és igy l",'<ibb A nyilv1noss:lg uinúra
eltrllet(l webhelyeknek ~lIaláoon 1I'thgtl:u/(, cégtw ~dnak helycc, amelyeknek Jlland6:ul
Ozemcl6 ~mít6gépei folpm;uos lcipc$Olatot l:lrtan.lk fenn n Imemeucl. Ezeknek
:I. g4leknek az ~z egyetlen febdlluk. IlOg)-' wehhd)-ekec üzemc1c~k ....cbkiszolg;11ó
SrOI"tVeT fut 11l~lJk, és Imyegtbc:n ~zzal,ölhk u idejuket. ~ II bqÖ,"(l ktrelmekre
v~nt;lk. Amikor befut egy ...'cbokblr:l uinyuló k~. reldolgozz:ók az okblt, ('$:1.1. eI6Jl-
liIOII pdöI(lnyehi kódot ~tadPk II kérclmelÓ~_
3.2. Mn
l·dllUtt". Itt
" u'ft:th.or'"l11. IteIl-11!
A ~bbk bal okblt oszlopa 37,01<:11 ~ kűlOnbözó hri)·ekCl. 5OI'OIja fel. ~ho-~
a ,,·ebhelyCl. mcnthctJ(lk
Ha I ~ nem telepltetti1. I Microsoft IS WebkrSlOIg6I6t. felmtri.fltt
berIr1íiN I k«dn, hogy IZ tI6Z6 IeckiWlen hogyln VO/tJ.ri:; képasell; IIle1Itektnteni
IIQV ASP.NET oldalt egy bönw'sz6ben. Nos, ezt. V"1SU1I Web Oeveloper tettlllhet6vé,
men ehhez • programllol rneMk.lllten kapunk &gY 1ec5llpaszltott webklszolglW6l
1ITNI!ynvk _ASP.NfT ~ web Setver. Ezt killljazattan webIW,eII; helyben
liWIn6 l8Slt8I6S4te tll"Vllt6k, .mt az adott gjptn kfvülr6l1itUm mindeli cutllkrds!
kls6rtetat vimartasft.
AJ. ASP.NET ""'1I01l0"fU web sarver eI6oye:, hogy. V"IIUIII web IM...... esomag
raz.. vf ll. MS·t nem tímOgatD WIfldows XP Iiome l.iidsMt Mtal611'
liInII10matnIIr 61 kOPrÓbMIttnat ASP.NET 1IIUIrnazáoUt.
lb a webhelyet ~'g)' 11,,011 g(1)en s~retn6tk elhel}'<'lni. d/a.%zuk a ml1' \'~gy az I'TP
Id\el6stgel. éoi adjuk ",.:g " I nll'·. illet"... ~ll><ÍlIIol1. AZ 1'11·· hely~k eseté-bcn """8 ken
;><\nunk u fTI·-ItisulIg1\6t"ól 5ZOIgllubs kapuja!. köny...t~r1I. illetve '10' f..,lha':lnJló-
nO..'WI. b ;elszlx, ameCU"wilien a névtelen hozzá(&e nem e-ogedayez.eu. A InTI' bdlbÚ$
"''''<1''19 ~ a webht:1yd< k.'ueI·xdsalo:or keI.I meg:ulnunk a fe\haszn;\lOne\ilnket és
a )t'Isza\unk:il Azt. hogy IfIll'- \"lIgy FI1'~ \"liO SZiJ~. a ...-ri>gazdo ctgt&
tudhal!Uk meg. és t61ük kell megkérrleznl1nk a csatbk~ w.l~ ~""MIo()hl1.5
.""""""'"
alOk választják. lIkik nW haslNttík ezt I nyt!vel iI.tVt azok.. ..ik m69 )inI"""*
Miut;\n bez.1nuk a webhclyet. nyi55uk meg újr:> a File. open Web Sile (Webhely
megnyit:lsa) ml.'mlponllal. Ez megnyitt:! al'. Open Web Site p;\rbeszédablakOl. amely
csaknem ponlQ5:1n megegre]jk a j.2. :lbrdn 1~IOIl Choose l.oauiOl1 ablakkal.
-...._--
--.-
--. ,: .É----
~~-
~
.--
~- ..
-- E=-:--
. . . . _<-0
(':':"
-- -- l.4. MIllI
- ---
Az Add Neu'I,em
._._-::;;=~===-
.- ----
---'--"
pdrlNat'<u.bIilJtb<,"
1ritdJ.tc:,/wlljuIt. ",ol>,""
Itpom/.fdJb U>!n.'f~
" .. OI'bIIdJ""'" ",I",
... .-.....
Ha ASP.NET oldalt szeretnénk. ~ adni, a web form tlpusl
Al. Add "ev. [tem ~rbesz<'d:lbl3k aljin kQ1Onf~le Ichrl6séJ:!eket t~lllunk A:l.. hog}
poolOSan milycnekL1, ~ \'~bl;Zlott (~j1tIpu5t61 fUgg A \\7..4> Form típU$Ú f~jIok e:S('t{;ben
<ez u ASP.:-'1rr okblak dnntípusaJ ~ brilliW irienik meg
• ,vllmcl:>.ev)- Ez:ol Bjl Jeend6 Ile\'ét adp meg.
• /.a1l8"agc(Nyt'[v) -lu hal~ro;:haLjuk meg 21. oldal kis:zol~IOoIwli fomisk6d
ré5renek Ilyel"tt
• Ilac" codí' ill ~m/<' ftk (A kód kUJÖn fá~1lOI hcJf~z<:~) - Ezt II bclJhtil!ol
bl.'kapaolV'~ II forr~~kód rés~ klilön f:iIJIlOI kertll (Ojd<!llNeve • .up>. bl. mig 11.:1
kikapa;oljuk, ki:w>lll"l60IU:.11 <".::dpt> bIokkokl):l
• Sele.:/ mas/(.T f1aR<' (Mc .... emldal ki,-áI.:uZI.1... ) _ A mcslerokltll "gy oI)'~n.
n egb;!; ,,"ebhelyre kllel')<.-d6 hadsli 5:lhIoo. ~,"c1ret az ASP,NIT oId.il~kr~
~Ikahn;lz\" egyl>é)/d kOI.s6t ~dlulunk ~ ",'c:bhcl)TlCk. Ib lllCSIeroId:lbk.,1(
~ ~In;, bp<--"OOIJlIk be ezt J ~~el. hog)' meo;terokbJI
rendelhe5.stink n ujonNn k.~hoan ASPS~:1' okblhoz.
IUr III ASP,NIT oI<.bbk egJffOl'TIdn jól múkódndl . akJr.:gy k"zuIgálóoldah <I" , lpt,
blokk .... p>< ol<blin, akolr kilJOn f;íj!ban (OJ~lN"v" . ... \>1<. vb) hc1yeuuk el ~ (I)fri~·
kód rt~ZI, ~ könyv pékLiih-an r~gaslkodunk II kiilön (JI10khoz. <'cz&t ~núkor ÚI ASP "ET
oldali adunk a w~'bhelyfinkhöz, ne: fclejlsilk el boej<.'lOInl ~ I'I~ code in -.eparAlc fllc
jl:1ül6oé.tn4etel. End mUld n, )ld"lN".~.UJ)I<. rrund;u a lN,," t» . f;Í~t
~hozzuk
A YISUII web De-. alt'l* llMI!I'VYlI az Add New It"" PirbeSZédabIak I'tace code
IIIsepar8le lile bdllltWt. de se,nos csak "w Idon PfOIIkIerl belü. VagYtI ha
uj ASP.NET .... I~ lIOmnk "tri. I progl'lm viuza6llitJa az alapértelmemt, ..
~ikapcsolje. JtllOI6négyletet &én amltor uj ASP.NET oldalt kliSlÍtÜfi, mindig
vesS1ft:. lI9V piHantist erre I be~IUtásra. hogy meoGYaz6djlri. róla, hogy • jIIÖI6-
nIi;yzIl blUpcsoh iIIIIpotban VII'\.
"""=~
5, K:mulIsunk az Add,gombra az UI A.<;PSIT oldal ktrehoz..,.:íhoz.
64 1Lráz· lSrrlIrUdM II ASP.NEl-taI
'tl--
--
:JÍ _ _
3.5. jin
I 'ilkuul,1r ld .. mcg/<-4-16 k~
.. heI)i ",emlból!
Fljl vag)" m;lpp.:! oí.lfM!'\'ezCséhez. lUeI''C t~hez el&.1.or k~tllnlSUnk az egér jobb
lIombj.h':!.l n elt"mre:l. SolUlioll ~pIort"rbefl, majd ~ me&/Clt"n6 hel}; menOb61
(Usd ~ 3,5, ~br:.ifl) dl:mzuk:l. megfelel6 menOpontot (Ren:lme - Atl1C\'c:té:s \'agy
Delele - Törlés),
Kömy8l8ti ~k
A "'".,al \10""
J)e.,eloper II.'5lJ't"SUblI3t6 be1!1it15ainak töbO/;ége at Options ptr_
ho:.zedablakOfl keteS7.liU érhl10 cl, amel)'C1 a Tools menO Options parancsával
ielenithetOnk meg, A 3,6. fbrin az Options :ablakot 1.~lha1juk ~bban a formi,:ib:ln,
~hogy ck'ls:Wr megJelentk,
61 1LNu • lItr...UdM II ASP.NET-tII
Al optioru lIbIak kalőnbözö hierarchikus k~\Cg6Iükr:t owJlk, ~mcl yeket a bal okbh
OUIOP muClt. Illi cl>b6Ill lisdil.lól kJ\'ilisnunk eg)' elemet, 3 ~kJ megfeleló be-~Jhl.lsok
nlegjc:lennek II jobbokbIon, Ahogy a 3.6.:lbrlI mUCIIIll. az llbbk megnylÚ$lkor
llbp&tclmezellen kJ~löl1 k~leg6rill az EnHtonrTM"n1 (KOmyelet)
A p4rbc:vkdabbklxon illi sok klll"'86ri~ {,s bcllJiús érhet6 elllhhoz, hogy mim.lcl
kunerftően úrg)·aJ]uk. eZ&! o.ak ~ lesfOl\1Oli;lbbak3t vesszük lOOmI
-.------- _._,_
.---_...
- ---
--
-..-- ---
'--- -----
...-.----- -
.
.._
_-
.-- - - . ... ..
.--
-.-
3.1. in
JI l'Imallr'eb Det~ "ZOpftOHS ptJ~bIa.,.. ItI!rns:I:IIlI szabhalj,,/rl(:>lrt!
AJ. Environment C5OPOI1 m1sik /'&ze, ~mel}'CI R'qI"izssollunk ,:I. fortIS and COIOD
lUen1k él; szlnek, Lbtl:l. p, ~bdt) Az lU ulállu.t6 bcl.lliWok:l.dpk meg:l. viswt \t'd)
oe.~ twználl betiltipwt. betOméf'Clc:t & SZÖ'o-egWN. Ezeket:l. fqlem6köm)"Co-
let killönfo!ie ~"" - a szerke$2lM,:I. nYOlllt:ltoU kJmeneue, II hibakCRo'l6 :l.I>I:Ikokr:i
Mb. - V'O,,:nko7.ó:ln kOlön.·külÖfl,negh:nJ.rozhatjUk. K'it ezen belal is fTlI"8'Idluljuk
plildauJ. hogy fllOrldlUk II Tellt EdllonXUlll ",inu 57.ö\-'C8 fek...1c 10 pontOS Courier t"ew
Ieg}'en, míg II kJ;etölt.szöveg ugyaflOCl feh& 10 porH05 Courier t"t:W. kék 1J!j1t&re1
, ...
-_......
---- ..--
_.._- .__.,--
---
-- .- • •
••
-
._-
.--
-
-_---
.
..-
--
,-
..
- --
=
~
.--
3.1. Mo
AdJldl ...... Ils.u.>I 'rot> ~ utIo"'ll""'bo'>l ~,J<kI """"/IP"<I. ............ $%I,""'"
figyelmen kívül hagyja, ha egymás uún több szóközt teszűnk, illetve amikor t'8Y pl'lda
kapcsin azt tJrgy;.huk, hogy mik"m pozictoo:ilhatunk vezérl6ket a <t .. ble~ dmk&.
V"~lamim késóbb bemutatandó dj:;írisok 5egilSégéveJ.
AZ ..gyik Uyefl elhelyezés; m6ds2er al'. abszolút dlwlyczls. ameJynN a progIdm a terve-
z6re hú1.On HTML-elemek "$
"'ebes vezérl6k bal fels6 sarldn:lk koord,n1t1,t rögzíti.
A böngész6 megkapja e~ket a koordill~t~l<al. Ó'S az elemeket eII!.e';nt igazílj,",
ll:! oc-jelöljük a Change lhe posl\loning (Q the following for comrol. addcd u~ing the
Tool box, pa>le. or drag and drop jelöJ6n<'gyz~'!.et, b al. abila tal~Jhat6 Jenylló listíbo.'íl
az AIJSolutely positioned 1eIM!l6s&get YáLaSZlJuk, a ICrvcw ablakoon pontosan oda
tehetjük a ImlL-elerneket b a webel; '-eztrl6ke\. ~hov~ sze""n(-nk
.- --
..._--
._- -_ .._-. _-_.
--~
........
--
-
--- 3 ,8 . ~
AbsmI';ll'Ih<'i)'f!Z~
/1Of1~,IH}(m SVlbdlyo::hlUJllk
" I nlfL-<!/e",d 1'I"",dezését
Az eJjlr.\s eredmény(1 ~ 3.9, ~brn mutatj:.. In. rniut1n a \'i~ual Web l.le\·eJopertx.'1l
al=olúl elhdyezbl ~lIítottunk be, egy Button (Gomb) ~ezérl6t húztunk a tel'\-'ez6-
abbk közepe táj1m. pc>flIOS<ilbl.xm 119 kl'ppoml'3 az oldal tet,*,61 é-; 100 képpont'"
ann"k 001 szél&6l. ahogya \",,;ual Web Dcvdoper :illapot.wclnak bal alsó sark~ban
1~lh:ttjuk.
Ez csupán három a \isoa) 'Xe!J Developerbcn derhet6 $l:lmtalan ablak közOt Ha lálni
szcrt'lnénk n összesnek ~ 11<.'\'ét. nyii>5uk le a View menüt.
He egy ablakot nem találook a képemyoo 8 ~éI1 helyen, lehet. hogy máshovA
hÚZ1uk. vagy véletlenül beWtulr., Al. utóbbi esetben c,* annyit kelltemünk,
hogy :I view menüben a meg!8le16 abIatn8vr. kattintld.
Segftség karnyújtásnyira
AZ ASP,Nl:T rugy tudisú, megbizható weIJfejleszt6J technológia_ amely a _",rI'
Fnmework (,r-TI kemrendsU"t) nevt1 pl3Úonn", épül. Ez a pl:!úonn osm.lyok .'>Zázaiból
jJJ, ezek biztOliitpk az ASP.I'ET--fOOIor közpomi swlgilutAsail. Thlltt sziikségtd<."fl is
mondanI. hogy étcldJc tel hel, mire alaposan megismerjük ~ kerl.'uenüv.eTt 6. annak
k~geit.
Összefoglalás
~"clntuk. hogy ré<zlctesebben meglsmerkedJilnk ~ Visual Wdl DevcJo.
Ezt az ör:It "".-:;I
pem-1l'onlOS. hogy Ö55Zebar.itkozzunk ezzel a S~...'fi(CS216>·d. m,,"el a k6n)""ben (ls
\-:.ló57lmlks k6<'Jbb is) "égIg ell fogjUk 11:lSZII:11ni T~eseo a kés6bbi kckek
~n I!lIesz Ollblmunk;ur;l. hog)' oiszollllk \-\§WI ""eb I:Icvcloper-l!Imcrctemket.
de úgt· gOndO/Um. megt.'Ji ~u id6t SWtm az esUm ~'rl' iTM.'g az eIqen.
Kérdezz-felelek
1(: 1lSJ' u-,d>s="" ~"", SZf!TV!lném e/lle1yeznl az ASP.NET 1I'Cbltel)'ernel. 1I0mlall
lIuilIarom, lIog)' (Iz adoll ct!gné{ mtJk6tbtt Jog u;: ASP.NI:.T alkft/mazárom.>
y: A le~"SZCn'lllben (ig} gy6z6dhenlnk meg aTTÓl. hogy egy adott webgazda
regnlil elhelyezhető-<.' a "-ebhel}"ünk, 11:1 megktrdcu(ik cSke!. Ne felejr..Ok el
megmondaní nekik, hogy ASPNET 2_0webhe1yet szerelIlénk készíteni a Visual
\\,'(.'b De-veloper .segitségével. Ahhoz. hogyawebhely kt'pes Ieg)'en mll'k:ödni
"et'g kiszolg!i16in , II Microsoft liS webkiszolgll6 progr~milnak. illetve II ."'ET
keretrendszer 2.Q..s v:llto7.at!in.k kell fulnia a gépeken. Ha e7.ek a feltételek
telJeSÜlnek, a webhelY'onk bizt06:ln mll'k:<'ld6klipes 10"2,
K: UtfY!ltoZWtIt 'XI' It'f!b/tclyc/ a Itcl)1 ftijlremJszl'rt--.",en (IZ X mappá/xlII, és
szcretuém álhd)~'zn/ /IZ }' mappába uhClSl'tJcs'
v". Természetesen. Egyszenlen ziirjuk \.Ie a Visual Web [)e<,·elopert. majd helyezzilk
~I:& webhely IIDIpp:ipt a jelenlegi helyér61 <Xla. ahová .w.errtnénk Miután
a fá~ok3t ~thelye1;tÜk, nyillsuk meg újra a Vbual Web De-velopcrt. maid \"11~k
a Fil" menO Opc.'fl Web Site pontpl, ken.-ssi\k meg az lijmapp:it, és kattintsunk
az Open gombrn Ennyi 3Z egés.z.
K: lIQmtlllchet I"jormúdól SZ/'t1!Vtj az ASP.t'ET-n5! "Z IllIcmctrm?
v". Az ASP,NET-tel kapcsolatban szaoodon hozziftrh•.''l6 forr.hok s.zo!':lcs \'~laSZl~1GI
:III rendelkezésre az Imemt.'ten. E!6ször természetesen az ASI'.N'ET hil'al:llos
webhelyél érdemes felkeresniInk a www.lIsp.net dmen. Ez a webhely Ilmye-
gében minden ASP.NET-te] foglalkozó interneles forr.hhoz n~-ujt hiv:nkoÚKIkal.
és egy nyül.'\g6 fól\lm is mll'k:ödik r~jta (http://{orwD8.aop . nllt/). amelyre
relll:ls~lók sz.izezrei mJlr l millión:!] is több O~netet kOldl<~k.
A rugyobb ASP.N'Er-forr1shelyek többsége mru-6'ek fu mll'k:ödik, és mI'g
az ASP./l.1:"T e\6(u id6kre nyúlik vis:>za, 3lTUkor csak aZ ASP I€:tt:zett, A s7.crIJ5 is
OZ(-mcltel egy no!':pszenl webhelyet (4Gu)"~Fm<nRolla.com). ahol üZen6fabt, FAQ--
okat és több ezer. az ASP-\'eI, illetn: az ASP.NET-Id kapcsolato&cikket ulllhalUnk.
A nagyobb és hasznos informikiókal fl)-ujt6 ASJ>,NFf-hclrek közé tartozik
"zenklvüla 15seconds.com. aZ ASPAUianre.com 1':1 32 ASPIO\.com, \'alanunt II
M~ ASP."'ET Developer Cen\eT a http://madn.micro80ft,COtJJasp. net
tim<n.
14 11. rWz' ~ vASf'.NET-bII
Ismét16 kérdések
1. Ká helyi és ká tlvoli ~r láe7Jk. ame1rekkell6rehozhamnk '~d~' mt:gnyit·
ruotl.lnk egy webhelye1. melrik ez a n~ rn6d.s.zei!
2. .Az ilS az Internet Infol1l\ation Service TÖvidit6e. amely a Microsoft webkiszol-
g:iló szoftver.-," Igaz "agy hami$.'
3. .Az ASP.t\'ET Development Wel, Server é!; az ilS ugy:maz." Ig3Z ,.... gy hamis?
4. Amikor egy új webes űnapot (ASP-'\U oleb!!) adunk egy webhelyhez, !.1thamnk
egy jelöl6négyzelec. ~melr a l'lace code in SClxu'Jte file (Fombk6d kOl ön f;ljlbo
helyezbe) névre Il.aUgat Milren kúlön~gek '-Jnn:lk k.., ASP,Nk, oId,,1 kőz()u.
ha az egyiket a negyzetet bejelölve, " m:bikat pedig kikapcsolva hozzuk Il:trc?
5. MIk az előnrei é~ hltrinra!" webes ve~n6k {$ a IITMI.--elemek ~b,;zoh:'t
ell le Ire.re.é nek'
Válaszok
l , A ká helyi rn6dszer a heir! fájlrendszer. illet.,,, n ilS (a .\1iCl'O!lQ/'I webkisro!g:i16
progr.amjal egy helyi p&Uny:inak Il.aszn:ilata. (Ne feledjük, hogy az utóbbi
leh~eI cs:rk akkor Nhetünk, ha sclrnítOg;;pünkn.-Ielepileuíik az IlS-t,
Az liS nem telepfthető a Windows XP )lome kiad;lsá .... és még ha az oper:kiós
rendszenJnk támogatja is n 1lS-t. lehel. ~ nillCS teleplt"e,) A ká (j"oIi
módszer a HTfP, illetve 3z FT!' haS2Jlil.a\;l, lia a webhel)'Űnket egy webgazd.!
regn;;1 helyezzük d, ~ljük mcg \'eIOk, hogy melyik m6dszen szeretnénk
luszn:ilnL illet"e llOg)' milyen beállításokr.a va n szúkség.
2, Igaz.
3. Il:lmis. Az liS a )'hcrosoft professzion!llis Sl.lntű webltiswlg:ilö swft\'ere,
Az ASP. NEl' De\elopmem Web Server egy könnyí'lsúlyil wl.>bkiszolgiil6, an,,-,ly~1
mcgkapunk a V;,;ual Web De\'eIOf><"rrel, hogy;lzok is, akiknél nincs tel"pit""
az "S, k;;pe,;ek jegyc>1ek fejlesztl.'11i. lefordít~ni és tesztel"i "-z ASPSn alkalm:l -
1.:ÍSOIGlt. Az lIS-t ""Jós wcbhelYl'k működtelésére tervezt~k, mig a~ ASPNET
De\'eJopmem Web Sen'en kiclr61ag helyi. alaCWf1y terhelésú lesztelfsre
4. II~ ",nil jelöljlIk be 3 Place codt> in sep.3,..Jle filc felöl6nl>gyzelet, lll. ASPSET
oldal csak egyetlen fljlb61 fog :illni (Old.. 1Neve.aap"l. és a forr:1.k6d rE.,L\
eg)' kiswlg::ilóoldali <script> blokkban keU elhdyeznünk. Célszeruöb. ha
bejelöljíik a jelöl6négrzetet. ITk'Jy esetben ká Hjl jön létre, az 0ld<llNeve.3spx
és az OlditlNeve, "sp" , vb, Az eI.'WSbc " HTML k a wdx-s yezén6lc kertIInek.
a m:isodikb;t pedIg a f0rrá5köd rész
5. Al. amzoIút dhelyezfsoJ elemek elOOye, hogy könnyen elrendezhct& al. oldalon,
eg)'SZenlen arrébb húzha1luk őket az egérrel tCT\'ezó r>ézetben. H!itr.\nyuk, 11Og)'
az abswlúl eUlelyezl!sr>é1 feltl1e1ezésekkel ~lünk" "égfelha!>ználö kq,emyőjének
felbont;is:ir61. MIvel mi. a fejleszt6k, sapt képemy/Snk felboll1:'isa szerint rendez-
" .· 115
mk ri ::IZ demeket, :lZ okbll CSlk azok 1~t1uljólk nxgfelel6en, akik a mil"1lk(-.'c!
:ilZOOOi!i fribonWti képemy6,.eI Jjtogatnak CI az oIJalunkr2, núg az aJ:lC'IOIl)':lbb
vagy 1'TIóIg.1sabb felbonthi h"s7.n~16k Ion: kélX'lkap!Ulnak.
Ez<'fl kiv!l! az absmhll e!hel),eu;sú elemek, 3md)'('k a hoz:cliuk karc""'1 :Id.,-
lokh,n ;lPzod"", ktpe'\('k dinami~n ~un(:relc1.6dni, hajlaffiU'klk am, hngy
löbb hcly~ fogblp ..... k el a ktpemy6n, mml anure cretletileg wmitouunk.
igy e..etJeg ellllkam.lnak mls e'emekec,
l . Gpkoroljuk mfg egy kic:llt a Visual wt:b De\'dop."f h:w:n:.í.$aUt, b IlOl1.Unk 1l1re
egy új w(.·bhelyel. A Default .asp" okbJ mdlt n'gyOnk fel néMny IOV;I"' ,.
ASI'NET oId.:Ilt. b. tölLSOk fd :.ozoott3nalornnul a tL·,ve~ vagy a fomis ~1.L1ben.
ahogy:lZ elmúh Mb:," \..:IlÜk,Jolt.wooonunk ~ szcri<ew6vcl. 'os ol' ~SK6dJunk
amia«. hogy ,,,LImit esetleg nem jól cs,"!iJunk - kCiCTIe!e7.zUnk balr~nl
Mlutin elkeszíletl1lnk naunr okbh. prób.lljuk ki mtndt:g)iket kezdóokblk(:m
(KeWóokbIt ug)' jelólhettink kl. hogy az eg\."f jobb gombj'Í>,tI n oldd 0l'V~
k:otllntunk a SolutiOn El<pIorerben. ~ a Set:l'!l SUn Page - Se:Ulitls kezd6ol-
""'kenl -1ehct6ségct \'álaszt/uk,) Nyi5suk meg egyenként a kcw"old:llk(ont
bdlhton oIcl3lakal a bön.g6z6ben a Debug menu SWI \rilhout Debugglng
p;lr~IlQ."Í\':d
l Ia nlCrtszcbbek V"~gyul1k. adlunk néhan)' k(!llf~jh a Ino:re..lcmezQnkr6l
a w~clyhez. Ol:ljd az el6m fejezetben JjIOU módon, Image w~ \'cz6iők
"'iil.Ségi"'.'cl ",lenitsilk mo:g azobl az ASPJ'/ET oIJalakon Ezúttal is inkJbb
a kistrktezésre fcklc..-:Jk II lungsül)"l. b ne tör&lqunk azzal. hogy hel)'~
lulljuk~ ''"&re a rr1l1'.eleteket Kén~-elmes 1m1p6ban habdJunk. é5 éI .. clZilk
a pitékol: a t:lr'luLisn;ok ez a l~l ..ezet~ m6dp
4. ÓRA
Tervezés
A könyv sor:1n jónéMny ASP,N"ET wcbolo:blt hozunk ]élre, a HTML b d fUITJ,k6d "';,..v.d
clO'lilt IUrmilyen szolhcn IS h'$tili1nk -Iegrcn n egy as2;I:I.li Wir><Jo,..·.... ~lbl,,\;I1J.s "~gy
qn.' duu"úkw; webokbl-. ~ 1Tl\1nk:ofol)-~mal mindig több léJX!;6b6I áll ElósWr \s el keU
donteniInk. hogy nul~..,.., edI 'IZOIgi1 nujd II progr.tm. ,1Ilamint hogy mIlyen k(~.
kd (os szoIg1ll~,i«>kb1 sa.....'lnénk fd,-éncznJ E2 uún ... kell Ulnilnk ~ k'llylegeocn
mcs kdl imunk II kódot. ' ...·gi.1I PC.'dIg ki kcU lUI próbálnunk és ki kell I'I'-iununk rtunden
h",;it
Jobb, ha nútis szoIclsunkkil tessrtlk a 1er11t'2!&t. t'ztrt :uzal kt'Wjuk_ hoS)' I1lC."gnenük,
nulycn .5ZOIg;ólUúsolc;al kell b«-pilcn!lnk ~ IeockH,en elk~lendő IISI' "ET ...·dJokb·
!unkba. illetn! hogy m,lyen felllól-o;zn1!ót ft'lük.1c:t kell non k.abkiununk
• az igl!nyclt hilcl&szcgre,
• n ~es kamatl~br:l. és
• 3 hilel futamid.!jére - ez i<'llerru:6en 15 vagy 30 é\'
A pémilgyi számológépnek kq:.csnek kell konni .. a fcnti h!irom adaI fogad.i~ra. ,,,Iamim
kdl jelenítenie ~l en:dményt. összt'fogbl\':I: 3 Sl!imol6gl.:'P akkor képes kiszámitani
tnI.'g
egy nx k:.lrn:U01,jSli jelzilogllltd havi lÖrleszU"irés:1Jl1':1. ha megadjuk neki ~ hitel
~. 3 fuumidót. illetve:l kam.~tl~bat.
A nagyobb alkalmaU..,k felhaszn álói felmettl ell!g sokáig t:mh:u ml-gtl..... eznl, ~ a rel-
adat meglehl-t6sen bonyolult lehet, de a mi kis Sl.imol6gépilnknek egyszen1a felillete,
.;,s csupin egycllcn ,,·(.'bold:olb61 ~II. Felhasmálóinknak lény ..ga;>cn két dolgot
keU tudniuk elvégezru: megadni 3 három korllbban emlitett adatot és megtekinteni
a számít1-. en:dménytl. A l>cmcn6 aduoknak Textl30x (sZÖ"egme1,6) vez;;,rl6k ~dna k
maid helyet. A számológép kimcnet"'nek a h,lel ha\i lőrlesxt6ftszlettl kell mutalnla.
-
--
---
-- -•
4.1. 'ln
Ajdluu::náMl61 Mro.., tuku
b<~i'c/'" kbj'lk
80 II mz · lIrnerttd6S azASP.NET-tII
o-·.-'.~,·;"-
---
_
- -_ o
- !2.. •
4.2. iIIn
"uámoMst'P nlegrnjj/(l/j(I
.... __ .. _.1'.....'''''''' a j<-Irálosllildlln •
00,1 /(Jrl~k-I~I
Az első fcl~d:lt, hogy létrel107.luk a felhaszrull6i felii letet (u.-.er interface, röviden UI),
''agyis az ASP.NET oldali ITMl rész(,,\. Az UI fel(:pítésl:hez három Te~lJ.o;<; vell-rl6t
helrelilnk d az oldalon, ''ala mim egy gombot (Buuon \eZ<'rl6t), Jmdy gondoskodik
a sziik*ges S;cirIÚtások e1vC,gZ<'sl;r6I. amíkcx ~ fdh~szn:116 r:ikauint.
Kezdiök nzal. hogy elindít1uk a VisuJl Web /)e\'elopen. <':5 létrehozunk egy új
ASP ""ET webhe!yCl a stiimít6g~p fájlrend:.z ...... ben, ahogy az el6z6 6r.lb,m l~ttuk.
Mjr tudjuk, hogy eg)' Default. a!ipx n~.,,'Ú ASI'.NEl' oldalból ~1l6 wcbltdy ;ön Il-tr~o.
G}'dkorfásképpcn töröl juk ezt n 010011, ('$ adjunk ~ wlobhd)'hez egy újal finan
e ialC" Ic .1nor. Ul>" nhen /lOe r....edjük, hogy al ASI'. ~ET okhLak 1("trcI101J&ikor
II Web Form elc:mlipu$l. kell dl;>manunk_ Ezenki,'(ll a nrelv legyen \',sual lIilic. 6
I<!löll(lk be a Placc: code in <;('p~r~le ml' jelöl6n"gy~et,
U ..
Eum" ptm«m <!Byfo/inu h
~I'
nóo:..,mn6 rnIt1/hn16
az <>Iilnlo"
Emlaelhetiink, hogy IZ ASP.NET wttboIdaIlIi: HTM.. ........ 1Irwl61 és
$owcelForrás) nmtbtn is elészithetjúk. Ak~, " ... " I
""''''ll5néllotr6ll6thlt1ri: képemy6Upebt, .".... e ' " " eleplsMet,
cit Il'fII'íIOdiaI vMusd lll: I Mzelet, enWti... " .. ~
)denIeg a Tt'X\Box ,=o:.'1MS (az:0n0Mt6) rubJCl<>n.•. 1P __ .t<lbl mm!
M,v.,1 a progr..mkÓ<hln~) hi";llkoznunk k"U e"m. a: ,.~~~ - meglclI;!·
I"07Jlassuk. milyen nplÓ hildÖbSleg...'I ín be ~ fdh..:<DUIo. '" ~ nonO'oItÓl.
~~I~ \"lUgus;..n UlaJ:u: I!hbcn a 'oI.ÜH:gmez6hen UI.i ).t. .... -\Je ...bjolonsag
Ieg}...n lnondfuk _ :oan.\aoUnl (kök::'lönÖ:sszcgl.
A 4.4. :ihdll megtekintllClJlIk. IlOg)'an k":Sl. t~'1'\'Cl(j oél.eiben az oldal ~ Il:lrom TeX1ÜOX
'·ezerl6 hOU:hdiS:I utin
• , • .tur:. •.
-•
...-- .. ••
II /en~"ZÓ 'W;:CI. mim""
__ "11. _.
_.=' "'{/Id" lulrom Tm:/&tt
'.CI",'riój' "" o"ud/K»: ad",/t
.tunikor II I:llogat6 megnyitj:! a Financi a lCa lcul ator . aapx ·"."cbo/dalt a böngL-v.ö-
..:txn. aZ! II IfTh1L-unaJffi3t kapj:! ITK.""g, amely felépíti az :lhalunk .....ebcs vC2&\6kb61 és
_ ikus IIThlL-b61 ÖMzclllilOlt fe!tw;zn;ilói felüle\e\. Mtut~n az ASp'<ET oldal HTML
la'KJja eljlUon a fcJhaszn.116 böngész6jéhcz. az ligyfél és II w(.'bkisrol~16 kÖz{lU egéizen
addig ruOCS bjXSOlat, amig az fi8}féleZ! kifejezet/CI' nem kezdemén}·ezi. elért II $Zlimi-
Qt aa k akkor rneOet "égbe, ha II felhasználó ,1]t;I1 bevin ~datokat viss>:akuldjük II Fi
. ,. lalC" lculato r .aapx ASI'.I'.a,T oldalnak.. Az AW.1\TI oldal akkor , .... ge ...het; el
... fitámit.a& (.,; kUJdh..'Ii vissza az eredm(,n~1, amikor megkapj:l az aaltokat .
Híw::unk 1{'I~t c8)" Bunon vez:6:l6t a Toolbox p:ole\t1r61 a webolcblr:l az utolsó bevitel;
QlC~ ulin. Anukor egy íl}·... n gombot adunk egy old::tlhol. a gomb feliMa kezdedlCn
,~ton. Módo!;1~uk a fel;r:ltOl: kattinl.$Unk 3 goOlbra. &; II Propcrtie:lablakban ""lt07.-
84 1Lr6sz • lSmIrUCIM II ASP.NEJ-t.!
4.5. h
Ar ()/da} I'/I;V 8111/(m <'I!ZérlÓ
hou,ltuitlSll ma"
A label \'e~6 houáacL~ mán aZl l::ith:ltjuk. hogy II címke a ""be t SZÖ\'eg~'1 jclenill
meg. A vczérl6" Tex'" IUlajdons:l~n:lk az éf"ll.két mUIJ!j:l, anIClyet:l I'ropcnics "bbld»n
::iUilhalunk be, A ler\'ez6t a címke hOl.1.lad1s:. ul:in" ,16. álmn látluljuk,
•••
--'
--_o" -. --,
'U.
- __
...-
~~.- .- .. .1.,.
r ' 4.6.~
,tz ASP ,WT u..oo/dnl.
mj,lIm, }=ilI<I",,,k
<:!lY lAbel L~
Mivel nem SOlen.>tn{'I1k. ha a címke hlnnilycn t:ut.almal il; megjdcnítene. mlel6n a felhasz-
ruiló beímá a s<:üksl'ges ad:uok:tl és el"~geznénk a ~rut. töröljük a "ezl'fl6 Text
tubjdonságjn.~k btéh'l. Ehhez el6sz5r k:numsunk a label \'ez6i6re. hogya luLaf(lon-
s:lgai( bc:IöllSOk a Propenie$ ahlaktlbl:iba. =jd ,tt ken:ssük Itll'g a TeKt tubjdons:,got.
12 után kattintSUnk II tula~gmezO:le. b; nrorniuk addig a B...cK5f'ACE bilt:f1tyúl. amig
az &szes benne 11'''1'1 brnklen nCllltöröltÜk.
• •
4.7. tibnt
A La/Jel ,..".,,/6 azonlJil/oj<'IJ
Jesu/u".,'Q m6twilOlt"J.
A Hullan ",elles \'e~rl6knek van egy eliek (k.:mint.ás) esern&lye. amely akkor md"l el,
amikor a gombrn )(atlint.anak. e~ egy olyan ~nykezelŐl kclllttn:l>oznunk, an>ely
II Compute Monlhly Cast gomb Cl ick e;eményéhez k~&lik. Igy mimk..,., alk:tlommal.
amikor a felhasználó erre a gombr.l iGlUinl. :.IZ általunk meg:odou escmt-nykezcl6 fill le.
Ha aZ .-seménykezeJŐI létrelK>Z!llk. C5U~n anny' mal""d h.1ll"l1. hogy nll'!prjuk aZ!
a kódot . amely ,·égn.hajtja II szilk.~ ,z,1mitá:;oiGlll-nnek 3Z e;en*nykezelőnek
II hel:;ejében.
bld Clau
Emlékezhetünk rá, hoqy az oszl6/y agy a!voot sablon, mig az objK,tum az osztál'(
egy konkrét példánya. Amii,or hltrehouunk egy objektumot, azt mondjuk: példinyo.
sítjuk, vagyis egy péld&!yf hozunllétlB.
A teljes fonisk6d
A!)P.~TI weboldalunk lelje:; forr:ískódj~1 a -ll példa \art:llm;l2.1;l, A \'15oU~1 Web
Qe\'elojlCf ~r cikésZil<.:t! ,. SLimunkn! nm" kódot - az (lI;Zlály 11,:\\:",-1""'-"', fik-ne
az c:sernén)k.:zel6! -. de a 4 és 35, 50f kl'>zou, rew. magunknak kell bcirnunk
a perfo .... :ol, gomb' _ "esemm)' kezel6jd>e
,••. ",n"t
m~t
11l'lDEST_CALCS_P~~_Yi:AR A~
fAYMENTS_PER_V~
lnt"'ll"r
As lnt ....... t 12
II
A 4.1 peldálYJn 5zcrcpl6 kód nlélyebb elemz(osc a ft.'jez!.'1 \~gt.' felé tl.ljlh~16; egyel6re
egyszen1en írjuk be 3 kódot 1Í8)·. ahogy Vom. még tu ncm is énjü k liszta n 3nn.;,k
minden rt5detét.. A 10--12 . .5OTOknak nonoon érdemes külön figyelmet slt.'ntelnün k,
ebben a három sorban olvassuk ki a Mrom TexlBox vezérlő 61ék~l> és ill rendeljük
vállol6khoz euh'! az é-rtékeh't.
Ha a 4.1. péjda kódjliból egyéttalán nem értü1/r;; semmit, aUDi- sem kel agoódnunk.
Ennek az 6rénak az a célja, hogy bemutassuk, hogyan ~ IélJe BlIY hilSlllOS
ASP.NET weboldalt; az oldal 1000áskód részé'lel a fejeletbe!l később részletesen log-
IalkolUllk, ft az 5·7. tejezetbeo mélyebben meglSmefjiik a Visual Basic nytIlvtilOát is.
\,!.
I Pf~ hDVV sor<ri6nt l6pkedjen 't6Qig • kód ~ A YJSUI!
wtb DeT.).,*, hibIbreS6je Msmos" 1IIt~ IISlk6l.Im1ty lIIigY lIgitSjg&t
nvU!1IIII. hla PI""" •• ' " nem I wrt "ecIrrJ4,.. ~ ~ I SIIft
Wllhaut O·bllgglfl\lllhet~ • hibtbreI6 haSlnáIatinIk lIIPfan •
kH6bbletbtn mig Yiuzat6riri..
- .
--
-....
_ _ ...
', ... -
U.Mo
.... "'1AOOr rifo;a)r réJhJf"/Jt br.oz ASI' ,\'I:.T OIdab /kl,.,.,. ,a6ol'R...-:!" ..IrjIf.
hqio' Q foI'-="1f, Oi:/mo/w adJO" ""'8
--_&,
---
"",-,-lll
.L
....
.
I eooe......., ,'"
T_ _ _ ... _ .. I_16<,),_
4.9. 6bra
"pétu:ffSJ' szb'~ 1Ii"""'et" al<korje4",". "u& ami!Jor" SO",bm kIImIlI,,,,.
Most álljunk meg egy percre, 6; \iZ$giljuk meg II Filancilllcalcullltor .IISpx HTMl-
kimcnL.,a mind az oldd első betöh6ekor. mind.az adatok nJeg3dá~ és,. Corllpl.lte
Monthly Úl'II gornbr.a ,,,16 kaumtás uLin. A2; ASP.I\TI ok!;!l eL<;ő meglátog;H:isakor kapott
11TML-, a >j,2. példa mutatja,
~, d'tml >II1Il""."htq"'IW'WW.w3.or\l/1999n.htlfJ" ~
4, <head><tltl.~
S, r!nanchl CalculatOrl
6, <1t;tle~</~d~
92 JI. rász • Isnwked6IIZ ASP.NET-IIII
,: <body>
~: <fora ~-forml" .ethod."p08t" action."FinancialCalculator.aspx"
_ tdr-to . .l">
9: <dív;>
10: dnpJt type."hiclden" naIM'" VIEW"TA1"E" id=" VIEWS"rA1"E"
_ v .. 1u=· Iw!:"!PlMJl()f!'YIKDQyNjc5~kWC~G1 OI<tjt..hTLkL.I\MJIJTlI'l'YIlJq~" I>
11: <fdiv>
12 :
13: <div~
H: Principa.l ADoUnt:
I~: <Input name,"loanAmcunt- type." t r xt" idc"loanAmOUnt " I~
16: <hr I~
17 : AnnUIll InteTest Rate:
18: <in""t _~"r~te" type.Otext" leI~"r~te" I~'
19 : <br I~
20: l'Iortllalle Length,
~I : <i~ut ~ "~rtg .. geLenqth" type."rext- ielo"mortgaoeLength- !~
_ y.. n.
22: <br !><br !~
23: < input type=" aul:rni t" """"'~. p"rfonrCalc °
_ valu ",~"C"""",t .. Monrhly CoSt" ld="t><!rfonlCalc" '~<br ,~
24 : <bT I>
2S : .nb8P/<Span id3"result.",</span></div>
26:
27: <di">
28:
29: dnput tYP9="hldd<>n" """"'~" ~-"LlOo\1"IOO"
_ ld~ _!:"!VENTVALlOo\1"IOO" value,
_ "/~crbM5A9~.91"'CWKUbujQ~Yoal0A9LenfqNAb2wEVk.jXCQOSWPS9,
... ~q~'JWOUro " I">
30: </div;></fom.~
31: <{body;>
n: </htl>h
A böngészúhöz é-rkez6 H"ThIL n1Cgld"lel<"isen hasonl!t 'lZ ASl'l\"ET oldal tmlL ré$zbtck
IJllahnihoz - egy_k~ k;vl:tclt61 eltekintve. Az d>i6. hogy az ASI''''1::1" oId.~1 HTML
részének elején t:ll~Ih.:lt6 iP"ge utaSi[;\st:l kérelmez6 böngészó I/{'m kapj:! meg.
A má5(.xhk. hogy:l webe; úru.p - a <fOIlII runat=Oserver"> - egy részletesebb <fonn>
ek-rruné abkul (~sd a 8. sort). 6 rejtell !Iru.pmez6ket 15 IJrtalmaz (10. 6 2';1. SOf).
A Text Box" &mon 6l:1b...1vezérh';k ír.lsm6dj:l- ",asp: " ..be ... Ve"4.-115N".",,,
runat. "5"rve.. 0 _ I> - is .szaln~n}"u:I ~rrML-ír:Í5m6ddá al:llrul. A T"nBox web<z vew-
lők <input typez"text·,. demekké \~ltoznak (15 .. IB. é5 21. sor). ~ l:Ibd veztrl6
egy ",spart;> elenuné (25. sor). a Button ''t'Zfu16 pedig az dnput type. ·suknlt",.
abkOl ölti (23. sor). Megflgydhetjük. hogy a w~ \"czérl6k tulajdon.s:lg.1lb61" megr"..
Id6IlTM L-c1crnek ;cllemz6l1csznck; az ID tulajdons:\gok po;ldaul JZ errolliCnyill !<apoIt
IITML-elemeklJen id jelk-mz6kké viltomak.
4. {n • ASP.HET vrlr'dr:l+ ~,lIíb""" ! ils IM,I ' f • I 93
4.3, .,.w. A ImfL W, ",,,U,, b61~ aJJ.ol' ilap, "móltor"fc/Ioas:mAIó" i/omIJT(, kallóm
.,
I: <!DOC'l'YI'E ht.L PUBLIC "-,/WJCI/DTD XIITIU, 1,0
_ ·http://wwv.w3.o<gITR/xhlmlIIDTOlxh~m1I-tran.lt1onal.dtd·~
., <h~~<~itlft>
~: ,.1""n<:l .. 1 C/lleulBtOr!
6, <ltitl~><lhead~
",
9:
-
<div~
10: <input
dom """",." fonal. " _ t hod·" post· action.' f! ""nel alCa1, .lator. ~~px'
id7"!oml " ~
ll, </d!v~
U,
13, <,Hv~
-
,,,
,,,
J.
_
~' ,
...... . flo cm' _ _
•.. , __ ....... Ioo9i.__ -...qo'eo..e
I. A
. . . . 101
Ili" il ' . . . . _.~Nll
ogoooln _
'I' .....
__
::: . gorofn .......... _ ............. 1QNEf
,
II
ti .. I,W 61.
..... _ "
....
4.1D,iItn
.-4. lriuoJsdlóoMaJ, IJóiI anll allIlor Itajródl" '<'8"", Dtnl/;t;)r az r1g, )ftI ezl /,frl a Idszo4JIiMtól
A 4.;1. ~1d1lY~n szereplő HTML kód már jelen!6sen különbözik a 4,2. ~Idl.b:m
1:l!ou6l, A három Te:ttBox velérIő 'l"&x t !ulajdon5ág.1t lIlO<i! m1r !ÖkTÖ1.ik alt <i nput
type~ • tex t' > IITML-eIt"fT\("k, rnegpedig val ue jellemz6kkén! (IS .. IS. bs 21 , sor).
Ezen kívül 3 label \"ezM6 'l"e xt tulajdonság:!! 3 bÖngb7.6 a megfelelő < ~ pan> elem
bebl'i !~rtalm3ként kapja meg (25 .'!QI")
Foruos, hogy &tsilk, hogy az ASP,NET oldal fOl'tásk6d J6'.&,:n szerepl6 kód csak akkor
fut Ic. amikor a felhaszru;1ó böngész6je e2;l kifqer.euen kéri ~ webkisz.olgiIÓl61. Az oIpn
oldalakon, amel~cl; adatok megad:ls:'lt váljtik a felhasr.n:íl6!ól.:I kl"<ZOlgl'iI60kbli kód
v~latus;"i1"Ol ~ddig nem kerül sor. anúg a feLhd.SZlláló d nem küldte az crrlap<J(. amihez
áJrnláoon egy gombrJ (egy Bunoo wd.>es vczérl6rel keU kauim:mia, Ez! az elj!ir.i>t
résZlel~ tárgy..ljuk a 9. fej<'zetben.
Egy ilyen hilxls trték bciJisa fu!ásidcjcr hib:it okoz. amllll ~2;I a'l! I ábr.ln láthatJUk
,- '.
I~ 4' ~tlon.
1r>pUt""""'P . . . _ ol • cotf«t _ _
------_
-- .._-
.. ----,-
-.. _ _ n_'.• _ ... _ ... __ w • • • _ _. ' _ . _ ••
-----~.~----_
A forráskód vizsgálata
... Visual Basic nyelvben Ugy:1O 11)('8 nem merilhünk el. dc ennek elle,"","! érdcme5
egy kis ,d6t ,;zánni rIi, hogy \~gignézzak 3z in~11l elkésZített ASP.'ffiT oldal forr:isk6dját
A Visual ,"'cb !)e1.·eloper ~hJ! be"zürt .kitöltő" kódol (az Inher i ta u\;!sit:ist, illetve
al OI>ztály-megh:lláro7..i~ 1:5 a7 eseménykczelö vácitl már L.irgyalluk. ezért fordítsuk
a ngrl'lmankCl az csell"lénykezcl6n belal lal:1lhaló k6drn Ez a kód hajtódik végre,
amikor" fl'lhaszn~1ó a COrnpule Monlhly cos/: g<lmbr:! kauinI. és 11 feladal~ az. hogy
beolva.$l;llll felhllszn~16 ~l!al beirt ada!Ok:ll, és enr\Ck:l bemenetnek az alapján kisz;:í.
mit.sa és megjelenítse a jclz.~loghilcl ha"i löriesztl5részlt.1t1.
Az ClSCménykezd6 k6dpnak e/sl:l sora <S sor) cgy mt:gjegyz<'í, A V....;ual Ba~icben
a megj<'gyZl!sekel egy aposuróf jelti; az ASI',:..1ET-motOr mindent ngycln>en kivül hagy.
ami ez után következik a wrban, A megjeg)'zé""k eg)"CIlen céh s:wlg:ílnak, nl. hogy
az emberi szemnek oh"ll5halóbb.i leln"ék a kódol. A könyv példak6djaioon sok·sok
hasznc.; megtegyzést lal~lharunk. amelyek ...cgílenl'k. hogy könnyebben mt.'gért5ük,
Inil csinála kód.
Az cls6 megjeg}"lés után k(:t állmu"'t(korul~nst) talá.lunk. Az állandó ol)';ln értl!k.
amelyet 3 programban nem v~hoZl3th:ltunk meg. Az iu h:undh kct ~JJand6-
IN't'ERES'l'_CAl,CS_PEILYE.I\R és P... 'O!EN'l'S_PER...,YEAR - azt határol.l:l meg. hogy
;I kam:l~<;z;\mrt;1srn milyen gyakrJn kertll 'iOr. illewe hogy 3 hitel fut:!midejébe hány
A 4.1 ~ldWan látható köd eil!g jól oIv:uh:ltó, <:Sak a m:ut"llI"uk:li ~'enlelek lehL1nek
nehezebbek. de "zt 1u5z.em. abban ~,ett:rthctil.nk. hogy ha egyszeruen {'gyenként
\'t:gigmegyOnk a k6dsorokon, vil~gos kell k'S}'t'11, hogy mi tönt:nik. A 18. sorlxin-
payPeriod.s ~ t • PAYHEI.;TS_P~YEAR _ ~kU\l1 ve&SZOk a t enékl!! (a hitel futami-
dej(:t). és megs7.0roz7.llk az évi lörteszti!sek számiv:.L amib61 megk3pjuk a lIilelldjcs
futamKJe;e aJall teljesitend6 törl=6ek ~zim:il. A lényeg az, hogy mivel a \rk'\\lal B:l5k
nyehtana ha.sotllít az angol n)'dvl!hcz, mt:g azok IS megérthetik ~ köd lényegd puszta
oIVll.>;iSS;ll, ak,k csak ~Iig \'agy eg;'lllaJ:ín TlI.'m rendelkeznek prögr:lmoz:\5i t:lpaszlalau:ll_
"'e agg6djunk, ha még m,ndig rejtél)'e:\nek la~ljuk a 4.1. ~Id;iban szcn.'pl6 kódo!.
K6do1\1lSisi kt:pesst:günk ~ kön1kező Mrom ~ban jelentÖost'n fejl<'klni fog, ahogy
mél)'ebben elmerülünk:l Visual Basi<: n)'eIVlanáoon .•\lire ~ 7. órJ végére érünk.. birto-
lGioon leszank mlndaZOf1 '-isual B;.sj(:-IStl1l'rel..knek, "melyek a könyv ~Idakódiainak
n><'gén.é$<'hez S2Libége:iek.
A hibakereső használata
A~ ASP "'ET old> bk k<'s2;Ít(-sekor elkeriilheletleniil problenrlkoo illkÓ7.Únk. amikor
" fomsk6d ~ nem úg}' nnThödik, ahogy v:írn~nk Leht.'t, hOg}' egy ködblokk nem
akkor fUI le, anlikor s.zert.1n(mk, vagy a kimenel je..z más. mini amire ~zámítunk_ lly.. n
I."Selben a I1fbul.:cres6rc IllI\llszkodhalunk. A llibake~ (debugger) ol~can kiilönleges
~wrt\-·cr. an><,ly képe!i dfogni egy fulÓ progr.'moI.. és megmut:llnl " programozónak
I
\IB LrMZ ' lamerbdM IlASP.NET·ttI
:Ifln~kbel..., mük~. Sajnos ~rro sem irJúnk . .-em helyiInk runcs, hogy mél}'sl-gébcn
mlUassuk be II hibakeresé$ rejtelmeil, ettn <:Slk ~ legfonlosabb hibakeresési reIada-
lokra fogunk ÖM1:ponlQl)[tani
.... ~
_..... ,.~-.
-fl - . . . . - .. _ ... _ ...... _ ..
4.12. 6bnI
A lJebugs"l8 ,,*,, fi",.b/l!tJ J>tl~Jabiak
....---~....... ann /IgJ't'Imati'/, /r(JgY az- aik<llmnztlsban
'ICm llapoolwk be a hiba~
n •• ~ .~" •••. ~ ., .~ •
l .~:::,""--
..... _-_ . .........
_.. .......
•
t •• ."
•. 13. "
.., - .lz oItt..1 n 1<io"c>I1{).,1
b«l1l'1"''' UI,jtl
~ ~
_~ ' ._
-,,...,
.......
•
,--- -- - •
,,------~=
• • "-
.. •
••
-
----
"
4,1 4,6bnt
A /6rf!spom/Joz
Összefoglalás
ElIben a leckében ~1.lilk , hogyan k6z.i"thctilnk egy e~ríI. de gyakorl~ti
hasWIlr\31 biró ASJ>'\"ET "'eholdal\. Annak a felv:izolkh":ll kev.hük. hogy U oId3lnak
milyen k~kkel kell majd rendelkeznie. (beJeém-~ a s.ziik:;égcs bc\'iteli nJeZ&et 6;
a kimenetet is), majd :lnekintetn1k. hog}':m kell majd kin~znje a fcll~ felUk'!.[)('k.
4. ón, • ASPJflw l bc'd ' , ~ 16trII'IozáI " lUz! 'f J 101
Kérdezz-felelek
K: II"&Iw, 1l'fI(ic!"J;'I~ .esct"~>lykódOf'/'Xv II"t-b Fon" Ifp"S') t>ld"lro helyezí'f/
/'CZ~rl(fhőz! MI"diS ell's csall ,Iup/ii" kallim,,,,/ a vczérlóro II Im"('ZÓ "ezd/xml
\I: Ebben a leckében I~uuk, hogyan tir:o;íthatunk e5eménykero61 egy Bunon webes
,'ezM6 Cl iek L'SCnltn)'éhez:l forr:isk6d részben. Az egyik m6dszer. hogy
('gYS7.enk-n duplán kattintunk a vez':'rl6re a te",ez6 nézL'Iben, ekkor a Visual
'1lieb ()e,.·eloper bcszúlja :1 megfeleló" e5emtn}'keze16 vbát az oldal forr:iskód
részébe (a BUtlOfl ve~&16 esetében a Cl ick ~nykezel6ét),
Egy ",d.JCS "ezlirl6nek nonoon kü[ónf"le eseményei lehetnek, '':l~'IS
3z ASP.KET oldal fOl'r".u;k6d re.szt:ben több csemt'nykezdÓllk is lehel M,nJcn
webc5 vezérlönek '':ln egy alapertelmezcft esembl)"- amikor a ler.-ezóbcn
dup1~n kattintunk cl, ehhez az alapértelmezett ~rhez jön létre =>tny-
kezel6. (Még e~'S"ler: a Buuon vezlirl6 esetében ez az C5eITll:ny a Click.
"agyis a k:minuis.)
lia e~' ''Cz':r16nck nem az abpérteJmezetL ~nythez, lunent "gy nJ;ÍJ;ikhOl
szeretnénk eseménykezc!6I ,endelni. közvellenül a forr.l~kód r6zbcn kdl
k"'"Ia~ztanunk a megfelelő "ezlir!6I6 eseményt:1 lap tetCJl'n találhat6 két
len}116Iistáb61. Az dj~r1S! mvitkn iSmenettük ebben. ,llcwI' a 2. fejezetben
K: M/ t(!rr(?"fle, ha " f1'Jnzilg;; számmis kótlj<iI lIem a Blltfoll_ O/ck, hmu'//!
a Page_Load erem~nykczclóbe U:m/&,'"
v: EmlékeU;iink vL~. hogy a p.,geJ,oad eseménykezel60en szerepl6 kód minden
alk~lonun:d Icfut. anuJux kérelem 6'Kezik 3z adott ASP_l\TI weboklaJra Amikor
a ~og;.t6 elÖQÖr' nyitja meg a wcboldalunkat, m(-g nem írta be.:t 11I1clös.'lL'gct.
a kamatl.1b:1t 6 a futami06t, ezén hll megkíséreljuk \'égrehaJl.-ltni a SJ'.am;lOi". hioot
kapunk, mert a kód olyan adatokkal pr6b:l.1 sdmmuvelCleket '-<:S'nn;. amelyeket
a felhasznál6 még nem adon meg .
.'>th·c! ~ s;clmiúS! C$:Ik az má,/ a!<aljuk végrehajtatni, hogy J felhaszn:\16 megadta
II szükstge5 énékeke1 , 3 kódot az elküld6 gomb Cl ick ~ményk"Z<'I6jében
ken c!helyeUlunk.
102 ! I. lÚZ • ""*k.... Il ASP.NEHeI
Ismétl6 kérdések
l. Mién fomos a 5wftverfeJl=t5 ICT\'ezési szakasu.?
2. Hogyan adh~tunk egy TextBox w~-bes \e~rl& egy ASP./l:ET wt->boldalhoz II
Visual \l:"~) D...'Veloperl.len?
3. Mién adtunk eg)'l:Ibel vezérl& az A.~P./l:ET oldallITM1. ré5zéhez?
4. Milyen kimenetet. ad n ASP.'>ET oldal, ha II fell13$Zn~16 nem !TK'gcngedt-<U
kJr:lktcl'('ket ir a beviteli rnez6kbe (I*I(l;1u l II Mongagc AmolJnI mczlobc an írja.
hogy .. &lm")?
5. Ilogpn adhatunk C5enlénykezel61 egy Buuon \'Cztr16 Cl ick escmfuyéhez
a \'....sual Web Dcvdoperbcn?
6. A TcxtBox vezérl6 eSC!(-bcn mclyik tulajdons.1gr.l kelJ hl\"atkoznunk. hogy
meghat:irozl\:lSMlk. milyen ~kel ín be a mezőhe ~ felhasz.n:íl6?
Válaszok
l. II lClVezl:si Sl.1.kaszban 0zoljuk fe!, milyen .'\WIg;iltat!i50k:!1 fog nyújtan;
a szoftver. és ekkor határozmk meg II fdha.o;zn116i fdilJettt is, Ez II lépés
azén fontos. men a smllP1t:.oliisok előzetesen összdllított !ísdj:1.r.J pilJanlV"d mi.
a f6nökOnk és II rncgrendcl6 is 1:1.(hatja. hog)'an halad a munk:!. és nem lehet
vita L1rgy:l dZ Sl'm. hogy II prt>gramnak mIlyen szolg11tat.isoknak kellene
t:Irt:1lmaznl3
2, II TextBox \"e7.érJ6 homaUás:hLlk k& módi:! van. Az els6. hogyegySlen'íen
II vezérl6re ka11lmunk a Tooloox p:!1et1an. és n egér gombJát nyomva tanv:l
az oldalra húzzuk II vczér16t II második, hogy fordos néretben magunk írjuk be
II TextBox k6dj~l.
3. AI. ASP,NET weboldal HTML részébe alén vetTÜnk fe! egy lahe! vezérlÓl. hogy
J~en miben mcgjí'lenílenilnk II s.clmítis eredmény~.
4. Amennyiben a felhaszmló érvén}1elen b<-menetet ad meg, futisidcjú hioo l(ip
fel, A rnegjelen6 hirn.O~enetet a ,Il t. ~brJn l~thaltuk
5. Ib eseménykezcl6t sz~'reInénk rendelni egy Bul10n \'e~ ellek eseményéhez,
cs:tk annyit kl'U tl'11rlilnk, hogy ler\'ez6 nélelbcn duplán kanintunk a kh"im \·c7.ér-
J6re. Mindazon.1lt:ll n esemffiykezel6t úgy is I~rehozhatjuk. 1K>gy a forr.Wtód
ablak~n.~k tete;L11 talilh~t6 ket 1enyD6 lisCib61 \':\laSZlJUk ki ~ rnegfelc16 wd:>es
vezéli6t és esemén}t.
6. A felhaS'ln.i16 által bein ér!l:ket. II T<>xt tulajOOns:'íg tárolp, AI. ASI'.:"<ET weboldalak
forr:iskM részében a köv{,tkez6k<1>Pcn hj\~~tkozha.tunk erre a tulajdonságr~
7\ox' Box ID. '!'ext
Gyakorlatok
I. Ebb,...., .. Ittktbm Utluuuk. holl)".n Icl~ .. \-;su,,] Web Ik\~ elk~lmi
egy ASPSf:.T ",ebokbll, :amclren turom ~-egmel6, egy gomb és ~'SY cimke
uI11h.1t6. Ezzel a tudáss;1l fcl\erteZ\e k~asünk olpn A$P.t\"ET ok\ak. 'l.I"d)' ~
n..... 'c b al életkor:!. mf'8'I~'" km a felh;4!;zn,ilóI -'l,Ul.m II felha5zruló ll1eR3'1t;\
"'ZCh1 n adatokat. és az elkUld6 gombrJ kallimQu.:u: ASP,NIc, 0Id11 ,elcnl!..cn
meg egy üzenetet. amelynek a I:In:l101.:I II fclhaSln:í16 élClkoo161 mggl
!Orre II ",,'cbold:ilra két TexlBox , <'/ff Bunon és egy Lahel ,'C~érl6t kell hd}'e7.·
nilnk A TextBm: vettrlők ro rubfdoru;ig;it ~Ilil ..... k n_re (név), illel\'e ~g .. -rt'
(életkor). a Buuon \'czér1<.'5 Text- tubjdon.s;lPI' , .. ,k lfe-re (Kanmtsoo id,m. II
Label ",:lt06 I D ru"'jdon:;;ig1it p«hg re ... l ts-ra (nC,'(lm,~n}'). A címke ~"'t
tubtdons;lganak eredet, nt"k':'1 ne felqlsUk ellOrű/ru, 12 után honunk l(ve egr
~rk.. ze161 :;II somb C11, ~ ~ythez_ EmJtkeUllnk '"IS.'IO. cl. 1>0(0
ehhez.-lég dupl:i.n k:nuncrnunk .. gonJbnl .. leI'\'cZ15ben
tla ezzel rncgv;ag)'unk, meg keU ímunk a el lek esernénykezd6 kódj;ll. amd)-
meglwUrozza, milren illene! ,elenjen rtq:u: eg}'e$ ~ktkorokt61 filgg&-n
En~k II kód .. Igy fesl..;
• "rogl":lmoclsi nyelvek
• A ,'jitozók !s be-.·eZC1~k
• f'.nékelr; honárendelé<oe dllorokhoz
• Az adattípusok & ;clenl~k
• A \'1SU31 Basic mú,'('ielCl 6 h:uvúl:lluk
• A tipusokrJi mn.lkoW sub1lp:.k
Ahogy kor1bh:1n emlilelluk, n ASP,"ET wcboldabk kl:t rblb61 ~lIn"k egy HTMl
réo;zl:>Ől. amely a IITMl kódol b J "'ebes vezér16ket tartalnuzu. illetve egy forr:1<kOd
~. ~melyben az ASP,r\ET 01.1.:11 kiszolgjlóoldali fom1sk6dja I;Ilálhal6. A VisU31
Wd, 1)C\'(:loperben ez utóbbll kl:l progl1lmo~si nydve1l IrhJlruk meg, az ~1ff,k II
\'uual Ibsoc. II mhik II \!SUal cr /amelyre g}~kr.m cs:Ik cr nb'en hi"~lkozn.lk),
A kezd('! rrogrnmoz6k .tll~lihan jóval könnyebhnek ulllilk a V~ual l!..Isic haszn.tIJU1,
minI ~ c.~, főleg 3z61, men ~ ",sual BaSIC n~'dvtana él; srerkewd johban hasonlíu-
nak II mlndennal)1 angolrJ A kÖllyvben t>\rgy:oll ASP,NIT webold;olak fotr.isklxtj:.íl ettrt
mindig \,sual Basic nY"'k~ f"81uk ,...,.,giml.
~ a '-Oiwl Ba5ic for- .1'ET ha.~Lllili;on..ur v:lIn 1.:ipas2!13brunk. el{-g, 1\3 álLlpozzuk
II ~ km"t.1kez6ldrom f,*nttl, mm e~ek leg>nlcibb UQkhOZ $2lÓIn.,k, akIk kotlilQ-
LOlI rrolIr:mx>ZÓi. Iúnl'rTCl renddkc:mek. I la "zonb.ln eddig o;;Ik ~ n"""t BaSIC 6,0.,-al
vagy II Vu..Xripuct (a \1sual B:lljicnek " ,NET kCre!rcnd..:C( beveZt.11'..c clOni vaIIO/:aul-
''al) dotgollunk. j:tvaooh ezt J lúrom 6111 is figydemmelldsérru, 1TN.'1I J nyel\ n <.mlile\t
v.1lto:euokhoz kt-pe!t jelent&! ,'altoz:1sokoo. ment k~1. núnd a nyrt\'ur'll. mind
II nyd>i dcmek ;"1enié5ét ,Lletően
A wmil.6gép ugyarukkor csak úgy képes megoldani egy feladal"t.l", n~k nclu
a \-tgrelu.pntb Ilpés.ek ~UL GondoIl"nk ug)' a Wrníl~. mint "In' kJ,-~
engedO:ImeOI: g)~, ak, CSólk eg)"liOZCfÜ szaV-.Akal és UUSí1J5ok:al kCpc$ nocgCrtenr. él;
milxbg CAk azt csinálj:!, "rruc morxbnak ndu, ILI mondjuk azt ~.,.,k. hogy
a g)"t._k lel"eklkljön aludni. eI&ZÖr ,,=
kell "1"-~lIanunk. hog)' men;.,n a hoil6.szoh.ijiba.
Jmi 'i:szorll v"t667Jnalcg nl igényli, hogy d6bb JZ! mondjuk neki, hogy Induljon cl
a lépcs(5 f~ Ez nUn uUsi1.hokat kell adnunk """k,. I}()g)-Iq:lien fel az cl561~okr~,
5. ÓfI • A visual Baaic WItaz6i" l1"IINeWi J 101
majd a rrnsodlkr:l.. 6; így ~bb. :lztjJl aml. nogy menjen \.('gig II folyosón II szob.1jjhoz.
kö~t'lkez6It:péskl:nL nyissa ki az ajtót. m::Ijd I~ tx, II szobába, fd<üdjön le az ~gyra, él.
vtgtll aludjon el.
Ebben II leckében aZ! nézzük meg. hogya fenti !ilulánC)S programnyelv; szolgiltal!isok
közül a V"l5ual Basic hogyan V"~lósílj:l meg az els6 kt:u6t
Változók bevOlBtÓSO és hasmálata
A ,vj/lo%Ócgy ol~an hdy::l $zámít~ n-...mÖrdj;ilXIn, ahol j,mene1!I"8 v:.lanlllyen
informlci6(. peldJul egy wmot
'''SY egy kal'ljk\(.'I'I;lncoC tjrollutunk
Mivel_ változá tipusa azt haürozze meg. hogv milyen Idetokat ~oIIatlri;
• változóban, I tlpusra alllI;pus ~III'I is SlOkt.k hMItkomI.
A változ6kat e!képzclhetfUk úgy. nnnt adol\ tipusú dobozok:u. amet)ti:be a<kltl ,Ipusú
doIgok.1t tehetünk Minden do/x)U\;lk ';1n egy neve. amelye! mi adunk neki. ~ amdlyel
Im-atkodt:llunk:l bmne UroIt doIogr;a. ~ ') I ibrin példiul egr a~ (élm(lr') rJe\-.)'
dotxm bth:nunk, amely t.-gt.'5Z !ól.amok tJro!;is;\rn k~. t~h;.t o/y.ln 61&ch't tehe!Onk
!>de. mint a 2-1, a 97 ''''gy a -3829 29-1, ''''gy bjmlilycn nus &vény<"S cgé:sz szlm,
-t5 Il'
- ._-
._-
--- --- --- ._-
5.1."
JI nill\lZll 1'ID,.I(I.m, nhu1 rlJdlOll doboz, amd)'adcll "p",h; ~ mti ",roJti'
5. " • AV-..I BMiC .6Ibái" rnOIIIIICII , 1011
Változó bevezetése
Ahhoz. hogy cgy ,'11tomt haszn:1lhaMunk. cl66zÖI" be kell "czctnunk (tlddmiillumll
kelll UI" \ 'iMl"J BaSIC Oi., utasilas.inak !lCg~g<."cI, A valtoWk bcvezelbekor meg
kell adnunk mmd 3 d.ltoW ne"éI. 111100 annak :odatlipusoit. é$ rneg<ldh:ltunk mndra
qn' Mckct is Ahhoz ptldíul. hogy Iélrehouunk qn' ag. nenl "áltoWl. :omd)"ben
lnteq"r mHeket t;irolh:lttunk. az "J:iblli ot. Uta~~ kdJ hltsmálnunk·
'.lt. _ •• Int_r
n.. m ~n . hJ hS.l.t;iuuk " dltozók cln<:n:lé .......... \'<)ll~tkoZO ~z.~MI}'ok3', ,lle,\'e meg'>-
merjük ~Z el&h<.16 v1ltoz6típusokat.
· ".
• measal/e2
•
•
xyz12311bc
txtPaeooword
Ha egy vá/toní neve iIIihúzlrsjellel kazd6dik. I8ga1jbb egy másik karaktemek mu~1Jj
k~nie. vlIIJVis egy változó nem kaphatja puszlán II _ nevet.
Alnikor nevel adunk egy v~l!oz6nak. fonlOS, hogy 0I 1":1n nevel dl=unk. amel} utal
a változóban liroland6 adatra. Ha egy v:\.ltoz6b'dn például kél szám SWI7.1t:'it s1.eretnblk
rr13jd Wolni. ;tdjuk neki ;( p r oduct (sron.1U ""gy \"Jlamil)'ef1 nlil; beszédc5 1"IC\'ct,
ne pedig otP.I, mint az" vagy II valtozo3.
A változók adattfpusai
EmlékezzÜnk 1Ii.ssz:l, hog) II v~llozó adaUfpllsa hat:\.rozza n>eg. mil)'en értéket tároUu-
tunk II ,·1!toz6ban. lia egy v:\.llOw pékL1u! Integer típus([. Cl;;lk (pozitív vag)' neg:II;II)
L-gész sz:Imoltat helyezhetünk bele.
l: DiO! "
2: " _ "Hello. worldt -
3: x • 4
5, tlrI • A V..I BIli!: ~ @UrIM " ~ , 111
F1g)'cl,uk meg. h<:>g)' on l -mn ,zcrep16 Di .. ula!>ll.l.t:a:lln nem adlunk meg IÍpu~
(ngYI$ nem ezt íMUk Di!l. It ou Stdno)· A~ ll; típu$! dlfumikus::an ,~ltozik. ;~z... nnl,
h08Y mily..., M<!-ka «-"fl<Id(]nk IlQw. ezért amikor II 2, 'I<lrl>an a • Hello, wl'1<1!·
kan,kler!oil\\.' ~nHet ~diuk n<.'kl. ~l" lipusa 5trln\ll~l, A.~ som1n nonb.m al ll;
~ 4 én~kel kapp, ~mi C!IY egesz 'um, IdUl Innen kezd.'e ~z" már a~ Intequ
lipUS');iI tlROl,k
Eg6sz tfpusok
A7. egesz számok pűZlI;'ak b nl:gati,,,k ls ,~hetnek A .'101, a 76. II -3432 "" II 23-1 12,.
multi c"vt:n}e5 egész szamok, mo.g a 12.-'\ '''8)' a -.~.14159 nem nok
II~ IUgyobh egész WIllOkai ktll tlrolnllnk. a LClr>g adanipu.o;t h~~znJlI1óUrl1k, amelynek
...,i/,ku"omJnya J) 223 .n2 OMl ~ ns 808-1619 UJ .F2 036 tI~ 7'5 807-ig lcr;cd
LClr>g tipus; \·.:l.hozó! II k .... ·..u.,~ forndban \C1:edJCI"Ünk be:
Amennyiben ..okkal ki$C:bl) es';.;.z .,rt.,kek tlmUsi", VOln szilkség(lnk. ~ Short !ipu>!
ct'lszcl"ll d.bS2;1.JInunk. amely II -.U 768 eJ ~2 71)7 kÖZé es6 ~'g{"Sz $Urnak fOjpdis.:l. .....
k~ A ;hol"t a<bnipuMl vJltOzók be>..,ze1bém'k módja az aLihi,.
Az <.'gbz tipusokoon nem tlmlh:Hunk tört.o;.zamobl, pOOig gyak",n ,'~n o;z(l~ lÖftekkel
\~ mllv.,letekre. A \ 1$0:11 Bal.icben Cl&! 1U.'t" ~ SZilmfl{>llsoWllS 1alalunk..
A Ioglk:u '''SY BooIe-(éle \'~ltoWk oIy.m tlrolók, .melyek ké'! ~ék '1Olkét "ehetlk fel,
ez II két érték a 'l'ru .. (ig.:I.Z) ~ II Fal.,' (hamil;) I.ogJbi v;lltom" BocI ... n a<bUlpl.ls"o;aJ
h.. ~1ru~Julunk meg, nqp..'dig az "l:1!.>bi fom~b\ln:
A DAt .. lipusú dJtoz6k 0001 j::Inu~r l. qfél é!l999C). d«emlx-r 31. du. 11:59:5'> kÖZÓll1
Id6ponlok t.:irotas1rJ 1I11almaiS:ilk
/I Visual &sícben t::l1~lunk egy mindenre alkahms ad:lllipuSl ls, an>elyhez /NirmU)'/m
énéket rendelhetilnk Ez az .bptipu~:lz Object. amely rendkivOll\lplmas lellllbZCIU.
ml"d b:irnulYeTl \;PUW v;lItOZÓI kq,o WroInl Ahogy ~kI:lul ~Z alábbi kód mUt~I",.
egy object tipllSÚ \';llto~ hoWirendelhetilnk '1O·larakterUnca:. maid egy ~... ~
Sllmoc, '-,;gul pedig eg)' nem q&z $WnOI: IS'
Dl .. boonaJ aB Obj " ct
"J h un "
•
3,l Cl S9
A Dim utasftás
Ahogy koribban említettük, II ~ltoz6k3t el6bb be kell vezetnünk, k csak ez ut~n
"ehet jOk őket ha5zn~latba_ A rugonhn tlpUSOl'l programoú,i nyelwkben a v:IJtoz6k
oo'eze\éekor "em csak 3 \rj ]tozó nCVd, hane,n a lípus:it is mcg kell adnunk A Vl~ual
flasicb..n erre a célre szolg:\1 a Di. ulasil~.
oe haszn:llhatunk <'gy",-len Dim UL:lSiÚSl is, amelyben lIZ egy<'S v:iltoz6k nevé1. (:s
liptJSJl vOiSWkkd v;j]asztjuk el:
Azt is mcg1clIClJilk, hogy csak egyszer adjuk nl<'g II típu.Sl, és ~ .-:íhoz6neveket adlUk
mcs egy vesszókket eldlaszlOl.I lisL'Iban A (<,nl; esetben II Iltirom dltozó tipusa lIZ0tlOlii,
elért így Ili oo-eze\hel.jük awkat;
Difi a. b , c a B l nte \ler
,
Di", a ". I nteger
""
Ez lökck:te'\CTl rendben v;ln. de eg}' k6d.iort mCgl;lk~l'\dulUnk. lu t>&szC\'onfUk
;I \'111000 I)eo.'e~ését tli ;lll:neltadast. Ehhe~;oz ;lI.:Ibbi fOf1l\ilI kell alkalnuznunk
Ol~ • • ~ lnteger 6
'cm kötclel6 mir l)eo.·o:zctbkorbtékCl ;Idounk eg}' "idtnzl\n;lk. de ~ hellyd \'~ló uka·
...,kor;.kodls érdekoSJen a kön}" sUlTlO'I 1*I<bj:Íb:an czt ~ n~ fOSll'k ~Ikalm;o.zm
A hólg}'OIlUnyos nutt.'ffllIukai ma.. eielck többsége a Visual fu~i<:ben il; has<Jnló mO-"e!...'1.
Például ha k~ sz:om(:f1éka ,1IlO1.ó( 001,C SU'll:Ul<."nk ~dnl a \,sual BasKbcn. i' • nnl\'cJe..
,el (ma,·c!("(; jClCO keU hasvdlnunk. ha pedig ~ akartuk szorozni 6k("(. a • m(!\,del<.'t_
Számtani mOveletek
,notgy 1<'gg)'lIkr.obb:an h:oSl.ll~btOli suml:lni m(lwlCl a \-'isu;ol Basicben 31. Ö$SleId\s
). a k,VOIÚ5 (-). a non:l5 (o) b;u osztas (I). t:zt:kre a m(l"e!("(ekre hi"óns ""kde-
~1f(''lIg}'1-'i kmmye:ol55 nMlvcletekkém) swlctak hi';I!kOUli. mi,-cl k~ \'1ItUl~Ó·..al
,~znd< műveletet •
.-\hllO>! p&l:iul, hogy ket egt':o.zbtdctl VallOlÓl ~dJ\lnk. ts az 1"!'edm6t)1 q;y "o>!Intm
~ énekű ,'áltorob:an tlroljuk. ~1 312hhi kódot kell megimunk:
•• Int-v"
• "b" . c
iti ~ll ~ b ts 3 _ ~b6I súnnazó btéket fagp kapr". ~mi 35.
115 l r6&I: • 1ImIIUd6I. ASI'.HET.....
lll. a. b.
b • l!
• " Ib •
• lb'
• ·b.
A mllvelec mindig nem egész számé1t(:kCl ad vissza, nWg akkor ls. Illi JZ O:5Z1hnak
nlflO' maradl-ka A 412 OIims eredmény" lel}jl 2. O lesz, nem J"'tlis a 2 egész énék
Természec<.>sen JZ O!óZIlslchct mandékos is, a /4 ml1velec eredlnl:nye pl'ldiul
o. 7~ lesz.
•••
1,14H9 >.. 2
·.·.b'
c> 'Su,,·
O/21 • '20/~j
, ~. 4
,-'• •.
7 ~ UIO
: r. I 2 I
•
Az. ÖlJ;sze/1ason1iló rnlivelelebt itaIábaOl YeltfIái amkexetatben ~
IIIUtlyektell kÖYelklZ6IeJ'Z8tben fOgIalOnri; rázkltesebben.
AZ (J$SZrfiTzés wr.'in k{,( kal"'Jklcrljnc l:nl:kll "HloZŐ( fÚl';(lnk Ö5sze. KI'!! kal"'d kt<:rUnc
~.agawj""~.1 el!)' oIy.m ul kal':lkterUncol lupunk, "mel)' nundkl"l kar:lkll:'rI~nc
":ihow lan31rn!it ho«\ou;I, és ~mcl)'ben u d~ kal"'~k,erl.inc;lll elöl, 3 m:hod,k pedig
~fIf\lIk ~ 'égfhez I:I.pad. A lco1'2kter1:mroJcn ~lÓ mlh't'let jele 3 \"o.5U31 &..ic
n)'d-,-ben n ,_
'énünk meg egr rond kódtön:dt:-ket. hogy Ihwk. holJpn múköd,k 32 Ö55~I11(S
m\hdet
O',a f ',TltWoTd ag Std,,~ '1,SP.NE:'I'"
ou. aeoondWord •• String "'"
Oia thlrdÓ<ord . . S1:ri~ ',-t'
A Benten"., d.hozÓ kt"kéűl a végt<n ~z 'ASP . NET i" neat. ' mondatOl. bpjuk.
l'igyeljQk meg, hogy el6sz6r három brakteriánc váltoZÓI. - fU9tWom, eecondWord és
third'flord - hozunk létre, amelyek rnimlegyike egy-e!!)' SZÓI úrola mondatb6!
Ez ul1n bevez<'tjiik a Benten"e (mondat) karaktert"n" változÓI, amelynek az előző
három SZÓI Os."leliJző mondatOl. $leretnénk "nékül ~dni, sroközökkel az egye!; sz:t~ak
között és egy pannal .. mondaI '·égén.
Soksnlr elálOl'llul, hogy egy karaklerlánc v!lltQXÓ értékét egy mási/( karakterláncba
Sl&I'etr.éok szömi. Tegyük fel például, hogy van egy t I T&tN_ IkeresztNév) r.evii
váltOZÓ!lk, amely a telhasmo\l6 kefesztnevét tárotja, 6$ egy mooldalon oIyllfl iilenetal
szeretoénk megjeleoltllflÍ, amely I 'He Ilo, keteu tn.w · Sl!rvOl/llt írja ki, ahol
I k .. ~ .. utnév e firatName változó él1él\e, vagyis lia a változóban e Sc ,tt név
tallllhat6, il IllIIlIialenített szöveg a 'Hello. s,- ot t ' lesz.
E~szOr hozzunk létre egy karaktarlánc víl!ozót output (kimenet) néven, ametyben
matd I Wgs6, megjeleniteni kívánt karakterláocot térol,... Ehhelaz alábbi kódot
kel írnunk:
Dl .. output ,oa String
>Iltput _ '!fellD , • , fiUtNamo;t
Fontos, hogy kzrevegyii;, hogy 8 fenti két kódsor Wgrahajtása után az output
vlÍltllllÍ il ·Hello. kere9ztnév' értéletlOOlI tartalmazni, ahol a kereutnév
a fi r:&tNanl<' változó !Ináke. Vegyül ésml, hogy oom ezt Ittut:
D1 .. output 88 String
>Iltput 'HeUo , hrstH_'
Ha art Irtuk volna, az output változ6bart pontOSilrt III találnáo:1t:, amit mell&dtunk:
, He II o, f i ~stH...,.,..'. Ha a ti TBtNa"", vllltoló értékét Slsretn9nk beszúrni
az output kMaktertllncba, 8 'H"llo. • lulrakterlMcot a fi .Bt H"' ... én/ikéval
kel össze~ an padig II összefúzd múvelattal végwhetjii el, nem pusztáorl
azzal, hogy egys.zerűen besnír}ul:: I YáltOlÓ nevét a karakletláncba.
s. tn· A ViIUII &.il: .'hup.mO••• [ 119
P&Liullu az ~ ém'ket ~nblk C'8Y egész \a!lOZón:ok én"kul :Wlli, az ~bhOi kOd"t
kdl 1u,W)jlnunk:
...
Ol.
,
",. lnt e9<
A \'Jhomho z hozzárcndcl! "rt4.\< nem C$lk oI)"1n egys;eenl ének lehe!., nun! az 5, Iwncm
vabml sokbl bonyoluh.abb l~, példaul eg)' k,fejel:és, amel~1:Mm lTl:Í5 műveletek.."! I!I
a!k~lmazunk Teg)'Ük fel p&UuJ. hogy kél: szjmor. ~k ö:sw,:OOtu, b 111 ~
C'R'dménYd SZert'iné'Ilk eg}' \jlto zúba helyezni Ehhez az ili./bi kódot h<l.'<Z!IaJIu!llIk
'lil'l;>U;>
nOJ1.,....... a..~ulueAl!IDt .. A l: 'I'''''''''''' 1a.Qi8.) - ,,~.\~ UI!UI!,\Bo uEIlOIUOd
llV ':u,ud8n ul:$IOJUOd 1~1 ;,q)U;lpl.lO!O 17'1 PZ",,,IO>.'IQ'I V '1IQ9ZC>Ir~-\ ...... m>ZOJ fY" "
d.l1~_' l'>'Iil'IIiIIJO<lCl! l1li!)p.\U,..... up;;>.kl ~,:,nWQ U plew ''tipr l<ll@l!i)UiI ~lIrnl'1e
/M;>N9Z0J n'" ,. ).l'l'1U'J >11'1-" 1~ .,.tih:_, 'IL1'I'9" IlU:lJ c >t1Z;l,{íJ;,lbw m,-"W'l ~;)UU"
>f 'U~ ~ . W"'I""~"HFA
...l3tfdSV.~ ·.",TOll
s. .. . AIIIIuIIIIM:ic odIlr:iJIi" ~ 1 \2\
Mi lórI.:.... tk "U>r\ban akkOf", h:!....gy e-gés.z dhowhoz egy nem egész.zjmot pr6b;l.lunk
rendelni. ,.~gy forom.? ts 1IU.1 helpa, lu eg)' kal":llcIerl:lrlC(ll szereménk egy nem egesz
sum \lPI.OO ";;ih~k en&til :!.dn, ""gy qo' ~ 1ipu5Ú ,-:.i~ egy k:lI'akte-rUnc:
lipu5Úhoz rendelni?
MI\-el ~ '-1SUa1 &sic 5Zigotúan 1ipw06. egy :!.OOtllipu:IWI:l.nOZÓ enéket nem IdlC'l
mam tipusú "JhOlÓlUk értékül adni, ":l.gy~ dvileg ncm lehetséges houJrendclnl
eg)' egész ~mot egy nem cgtsz wm\";;iltozóhoz_ AZ al.ibbi kód mI'g15 lökele!t':'ler'I
működik_
Mifn nem ~d ez.1 k(xJ"or hibaClzcllClet? lU! ncm !>Wgtűk meg ~ \isuallbsic tipu.o;okf""J
VOfl:llkozó n.d»I}"::!;l :!.Wl-I. IK>g)· egbz fnékel a<llunk egy nem e p mm típusIÍ
\";;ihoZÖNk?
A CTYPe( fil8l!"m)' a v.... ltoz 5MtJve \"~IIOZÓ JC'lenlegi Úpus;1,1 a o.JTípu..oan meg:;adou
li[luSI'J ll'IÓdOSilp Tegyük fel péld:iul. hogy ~ kor:\bban l~ton k6dJ~HIetCl. ltmel)"ben
rejteu lípusállllaklt1s tön~nt :;: nt ~"r·n5l S Ingl ....,. az aL1bbi k6d<b1 í\gy n1ÓdOSitjuk,
l-.ogy nyíli úpusjul2k;~st dlkalmauon
ill fpVarlabl. a gl~la
fpVariabl, ;ypel~. ainwi.)
A \'isu~l Basic k~ n16db:ln fuumhal&. ~,gorú 6; nem $Zip m6db:ln Szigon'l módban
~ rejteu ú~ul:>kitÚ CSlk akkor engedélyelClt hól ból.';I(f rip"sámlak'rdsrrilvan...w.
amikO!" il; az eredeti adauipos bvén}e Mtk ...,nek Illrtomiin}"lI" ctltipus l'ftdcurtomi-
ny~nak réW\:IJnuu tU ~ szjmról nem ~ WflU2lŐf1é1l6 ;ít;llllkll.Í5 példiul
b('j,.'iló tipu....atal2kiús, mert minden egé.':sz.mm kútia!let6 nem qp.z Ml-kkem.
A t;rn"ilŐ ú~t2b.k,tisr.I egy m1$ik I*kb. lInukor egy Inte<;jer uposU \.~hoJ:óc LOn!J
lípu5Ú\-;i al~kílunk. Ez [~IlÓ\·;lb. fIlert a lehetseges lnte<;jer-trt"kek beleesnek" 1.0"9
típus trlékI3rtoman)":iba,
A VWoIal B:lsic ter'l'ezói ezért úgy döntöttek. hogy az "(""Jn)" kózéput::tt '-3la5Zl.j:ík:
" re~eu sZllkít6 típus:\tal~kítls alapl;rtelmt>zés 5~erim engcdélyc~cll. vagyis n alábbi
kód hib;! nélkilllefut, I's" 2 cg~ I'rtéket éllékiJl adja az x ,'iiJtoronak:
Ne teladjük, hogy egy nem egéSl !lám Iffi\Ísszé aiakftisa leviglll a mm tÖftré$a\t,
ezért ill alábbi kM ~ehajt6sának eredményekéflpen az x érté/r;;e o lesz:
A fenti be111ícts eI\"tgzése uún:l. V15uallklsk nem engedi m"g a rejtCll =1kl16 lípU~I
alaklúst, és rordiÚ5i idCjO" ruhallzcnClct kapunk, ha ilyesmIt proMlunk végrehal\alni.
Tt.'gyük rel p(!ld1ul, hogy egy olyan ASI'.I\ET webokblt kL':UÍI(Jnk , amelynek forrlsk6d
r6zc az al~bbi kódot t:l1tlllm.nu II PAg8_ !.Oad cserntnykezcl6bcn:
Di .. a .... lntOll""
.. - 8/4 'Itt rejtIItt u(lkJtó t{t)Udtal .. ktth tOrt<'inik!
---
.......,
._ &.o
...
-_--....._--.
•
-_ _--
0-
5.2. Abra
...
•
.._-_
. .._
..._-----.,..---
._. _ ----_
.
_-_
..
_--_-.- _--
--
...... - .. -_ ....
--.-..- _,
..... --
" ,."
"' ~:'!"""':'"'". - _ .. ' - -
-_.
5.3. jtn
Ha Slricl. 7",,," betll/ilds ... " hn'mnm. é< "'iMI =íl<fJó "J",sA.aklWuW prob<il,,""
.>tgf1?/rajum'. fonliltlsl 14<-J" Irlb(illla/M ,/It
Összefoglalás
Ebben az ór:\oon a Vi5u~1 Basic viltoZÓinak és műveleteinek nyelvtani szab:ilpit é:i
;elemésl.:lftlllelumeUilk ~l. A ,,~hoz6kal hjrom tubídons:'iguk halMoz7.:> meg: a nevük.
al. adatlípU5uk é:i n I':rtl'kük A változó nt.",.~ és I[push:l. változó bevezetésekor
h:ll.:.irozzuk ml'g, é$ ezeket" lUb~golm kés('lbb nem m6dosílh:lljuk A vához6k
beve~elésc a Visual Basicben" Di .. utasítás segítségével történik. az al~L>bi fom1.1oon
Amikor btéket adunk egy víillOlónak, létfool0M3g1.i, hogy al. érték típu"", ugyanaz
legyen, minI a ,-:iIIOWé. Mlndaronjltat ha a liplJ.5ük n~'ftl egyeznek meg. a Visual &sic
esetleg képe5lchct rejlett típusátaJakít.:issal a rnegf<,leJ6 IÍpusúvl alakítani az "rt<'kct.
126 1L rMZ' lanerbCIá IZ ASP,NEr-tII
A lipU5áI"lakítisok lehelnek n:~Cltck l!s nyíltak, iII(.'tve S2';Űkili'ik ésl>6viló1<. '""rUt típusát-
alakít~o;( a \"lsu~1 ~lsk .NIT tJe.épiletl ~ () függvroyéwl adhatunk mt"g. ,aJ~nlJnt
" C""vert O!iZlá!y tagfilggvénreh·d. A Y,5U31 Il..1sic ~lapénelmeZ<:'S szerint lTk-gen~.h
a rejtetl SZ\Ikítő tipu..s;ltalakit5st. dc ha aZ ASP. "'"ET weboldal ,~ .. ge ut.... 'it.h;lb,ln
Strict_ · True· bciJJít:1st ~dlJnk meg. eZla faju ;itabkít5stletiltjuk.
Kérdezz-felelek
K; II 1!,)~.kvrlQ/l}(m si/nl" huszllliljiik u rodtlüetl éntlkatl6 m"'H('tekt!f?
v: A Visu~l Basic sz:in1Q:'i rö"id formájú ént:k"Jdó ma,..,letel tm:llmaz (. c, . , . _
stb.). Ezek a mO"eletek el&zör egy mJtcmatikai számítást vt:geznek el
(a . ~ eseta""" péld.'iul egy Ö&zea~st), ma~ eZ! követI az értékadás. Áhal~nO!i
forrn.ijuk II következő,
Ennek h:ltisál"'~ " ki t eJ'ezé" értéke a v,fl ~ozó pillanatnyi t:nékéhez adódik.
n\:lj<! aZ összeg a v.i'ltozó új t:nékl'vé 0lik
A rövidített értékadó műveletek ~ \ "I.o;u:,] Ba$i<;" 7../Ml jekntek ""'8. ~mdyl.'t
~ MJCroooft a _Nhl pbúonn weZt.'tésevel egridejilJeg bocsltoo ki_ tA Visual web
I:le\'doper ~ \ rtSU:l.! Bask 8-as v:íItOz:lt.1t 1\.aSZr1:'llja,) A .NE'!" cl6tt a rővidíleu
énébd6 műveletek n<'-"fll léleZ!ek a nyeM.><."fl, ezért ha:l f<'j!esZlt'5 eggyel növeini
szeretle: volna egy 01101.6 értékél, eZ! a ~bb kódol; kellett írnia'
v.i'Jtozó .. vaHozó , l
Dl. IC aB 1n<89 r
" ~or
111 :u 0SZt:i.S ~mMYe , . _' III l lesz.. tie nmd en az Inteqe. tipusú "
,,,ltoronak ad;"'k tTtfkiJl, az ,,;n";k rqtetl ~Cl1akit1ssal Integ",,, Lipusú\j alakul.
~ II wm IÖnrt:sztt ehe.zl\]Uk
Ilngy jobban l:i.\.5uk. mtlyen vesZélyeket!l.'Íl 11 r<.itetl tipusálllbkíl.b, k('Pzdlilk el.
hogy ~ k6dunkwn \'~IJhol kés6bb eg)' Olenc.'1et jclenitlink mcs. ami al! mondl",
hogy az IC !'\:igyobb. mmt l l ia ('z thd:í.,..,1 ~ fehételb.,n szerepel. a rcll('tel~
kOd ,'i'gn"l1::I.jcls:kl 50ha nt'!ll k....-ol sor-, men az II egyen/61esz j..m:lI, nem pedig
!"I:igyobb lInnlJ A hiWl'lI "LWlrII""'" bi:oos.1lO8Y r.lak:!dunk. mm a kóCklt
meS'"zsgjl\'1I t(.... e:5e!l a:o felletdeulik hogy JZ" Méke 3. _. lJ3,
Ismét16 kérdések
l. A \"lltoz6lm:tk mely,k n az eg)'etlen mllljdoou;iga, amel)' 11 progr~m fUIJ!\;!
kÖZben I!l6dmith:n6. b IIOg}'1In h:I.]lh.:lllUk en ~re?
2. Ib ~ ,':iltoWban oI)'lIn egé:sX Sl:Í.r1lOlu!.szeretnénk úro/ru, amel)"eknek
az l-nl'k", (k6Ilqifeljrilb 10 QOO-ig ter,edIJel. nM..o/yIk adallipust CtISZenJ
"l\n;r;!anunk?
3. Tanalmaz az lILlbbI kód fl.'1eU <ZIlKfl6 tipu,,;Hal~kitl.<;!?
Dl. ". b •• lnt~.r
b • la
a b I 2
Válaszok
1. A v.l.hoz6 éTtéke az egyetlen, amelyet J progrlIm futása közben módoslthatunk;
a nevét ~ az adauípus:'it nem, A ,':lltoz6 éMké-l~' értékadó utasít;i~1
v:ihoztathatjuk meg. amelyben új énéket rendelünk 3 Y.iltomhoL
2, A Short adauipu.sl . b~r a könyv példjjoon a7 alapértelmezett eg6.l; típUl'
az lnteqer.
3. Igen, A I m!lvelet mindig nem eg(,sz erotlnJén}1 ad, ezért a b j 2 OSZI~S az 5. O
éTtéket ad)" viss.za, Mivel ell az énéket ~ s:clmm:l kell alakit:,"' , hogy aZ ji
Y.iltozóhoz rendelhessök, sztlkít6típusjtalakítást kell vtgn:hajt;>ni Az ~talakltjs
azért reltett. meTt nem alkalm~ztunk CType (I fogg\"én)'hívást. ami kifejezetlen
jelezné, hogy típus:'italaklt.b szü~ges,
4. Az eredm{,ny " .. lee 1eQ.. A 413 osztás az 1 .3333333333 ... éneket adja vi:§.!;u,
ami n<--nl egyenl6 l-gyel.
5. Az eredmény T.. ue le5z, It. 4 i3 =:is n l .3333333333 •.. értéket adp vi$su,
do: ~mikOf eZl Intege .. t!pllsúv:l alakít luk, a mar~dékO! eh'cszítjük. és csak az 1
marad. Mivel I - l. a kifejez6 igaznak biWO)l\l1.
Gyakorlatok
Ehhez az 6r!ihoz nem tartozik gl'akorlat, főleg mert Í(:knieg még csak annyi \ "!SUa) Basic-
isrncrt.1tel rendelkezünk, hogy tudjuk, hogyJn vezelhetünk be típuSSlllll.'1ldelkez6 v1lto-
rokat és l>Og)--:ul rendelhet jük hozclJUk egy kifeit'zés l'rlékét,
Amikor "z a program lefUl, d6ször az első sor (3 Dim UU5íru) '-{"gn.>hajLoisir.. kerGl sor.
~mdy egy Integer- típus'; v:lhozÓ! V<'Zet be. majd 3 4 értéket rendeli lJOU:\ Ex llt~n
a v.. l .... ilyenValtozo '. 2 kód ha~6<Hk vl!gre, ","dy 3 val ..... ilyenVal tozc, értéké!
nIeg,sroroua 2-vel, majd 31. eredmEnyt (8) hou.árt.'fldeli a valami lyenV"ltozo
,·~ltozóhoL.
l f f .. lt4tel Then
Ut~ .. It4 .. 1
UtltsftJs2
utasfc4sN
End If
a fej t/!tel egy logikai kifejezés, amely "agy igaz (Tr" .. ), "'gy hamis (F'~lse) énéket
(tt
eredményez.. Ha a tel tétel igal1lak bizonyul, al Ut~"it<Í"I-Ut""it,ísNUL3sitások _
v~IL1j16dnak, míg ha hamisnak, a progr:tm ezek<.1 az uta.sil1isokat 1tugolj;l, tdl;jl '''''''
hajtp végn:.
DateT;~,Naw,Rour
Ez a kód egy o él 23 közöni egélt étWke!. 3d v;,;"u, ahol a O jek.'f1té:'le éjfN. a 9-t reggel
9:00, a 13-t dtlutin 1:00, és így tovabb. K6;zítheúlnk például egr e8yQenl ASP.NEr
weboldall, a~ly egy fel1~eles szerkezeI .segítstgéveJ megáUapílja, h:lny óra, és al
id6poou61 filgg6en ,ros-mis Qzt:neu~ U6 rcgg.. I~,J6 napot.! "'SY J6 est(1!) jelenít m<:g.
132 j l NR • -.ucI6I 1l ASPJEr'"
Emlékezzünk 'IlSSl8. ho9v I visual web DeVeIOPetben (Igf a<iIlIlri uj ASP.NET oldalt
1lIIY webhe/yhllz. hogy az Add New Item ~ II web Form "'mtipust
WI~, Arr61 se leledU<'liink meg. hogy be kal jalölniink. PIac. codt ln Mpilrlltl
Ille jelöl6rlégyzetet, I nyelvet (LangllllQltl pedig Visual Basicf' kellilrllnllnk.
• ol·'" :I ""
.
--"'-
_ _ _ _ _ o
--
",_!!L"
t.klI\l nq kell írnunk a kódot. amely mindo!n alk;Jlomm:IJ Icful., :amikor 1~I08::l1ó érkelJk
az ....W"<ET okblr:l. Ik>uunk létre egy esemm~zcl6I: az okbl LOad C>oCIu&1pi!hCl.
Ezt kéÚélcké-ppcn leI1etiOk meg bnml.\.Unk duplin az okblr:l a 1er.'ez6 n;t;~. ,.~gy
al ASI' ~ET oldal forris:iban ,';1I~~nJk a l':igoe Evenlli elemet a bal oklalllcnytló listib61.
b a lood-ol a jobb 0ldalib61.
ll.
12, "" H
ll, H oateTl_.N"",Hour :> 17 Or D.otl!Tu...,.N<>W.lIour < ~ '!'hen
H: lblMe ..... '1e.Text 'Good 8venlnQ.'
IS,
16: End SUb
17: End Ch . .
"" "
Miután beirtuk 3 6.1. példa kódpt,,~ ASP.NEr ol<tllunk forr:1s5ba, tckinl5ilk meg
az oldalt egy böogész6ben 3 Debug menü Stln W,thoUl Debugging ponlj:\l vilasztva.
Amenny'ben dél elÓI!. de rcggel6 után ~"g)·unk. a Good "",rnin; (Jó n.'ggeh!)
űzeoctnck kell megjelennie, déli 12 után, de délut~n O; el6It ~ Good afternoon.nak
(J6 napol!), míg délUl:ln 5 és reggel 6 kÖ7.{i1:t a Good even i nil (J6 e;sIl!t!) ft'lir:un:lk.
A 6. l példa k6dj:! h.imm If ut35í!ásr~ 4>ü1. AZ els6 (5-7. sor) au cUcn6rzi. hogy
az. akll1~hs ól':! egyenl6-e 64:11 és kiseblH: 12-nél. l'igyelj(lk nWI!, hogy az 5. &OMn
szerepl6 feltétel két feltételes utasít1i51;>61 .ill (DateTime • Now Iiou~ :>~ 6 b
o".teTime.Now Mour < 12), amelyekd az And (és) kulcs5Ló köt &sze. A Visual Basknek
kf1 kulcssz:l"::I v:l.n::l feltételes utaSíl1sok w7.ekapcsol1sára: az And b az Or ("agyi,
~melp!k ;elen(~ megegyezik ~ J~közn~p telentésilkkel. V:lg}is a teltételi And
feltétel2 kife,czés cs:lk ~kkor ad '!'ru", eredményt. ru.mindkt:t feltételtel;esul. míg
a t",lt~t",l1 Or t"ltéte12 akkor is iga7.f\ak biWllyul. 11<1 csak az egyik fdtétel ig.1Z
(tehJt 3k.ir a t"ltetel1, ak.ir ~ t ..ltéte12, dc akkor is, ha mindken6).
!la!l2 óra &téke tch.1t 6 V"Jgy nag}'obb annal. de 12·nél kisebb, a 2. "om,m nereplő
feltétel igaz len, bo végrehajtódik II 3. sor. ''agris megjelenik a Good "",r"ing. ilzenet.
134 11, r6ll: • llmerkedá az ASP,NEl-tII
A 9. sorban egy üjabb felL~eles U13sítás szerepel. amely azt nézi mt:g, hogy n órJ diBi
1. és délután 5 kÖ1.é e'\ik-e. (Mi,'e! al. ÓrJ. O ts 23 kÖZÖlti é!'\éke! kapll:!t, a d(,lmán ~
17-ként kapjuk meg.) Amennyiben az óra 12 v:lgy :mn11 n~gyobb, ,Iletve 11 v:lgy
:mrdl kisebb é!'\ékíl, a 7. sor végrehajl;:is;\r:I kerOl sor, ts a Good afternoon. Odvö.zlés
jelenik meg.
Ennél a forgatókönyvnél más-más kOdrészt h~jtunk "égre. h:t ~ jclsw helYei>, iUet"e ba
a JClszó helytelen. Ezt a kÖ"t"lkezó I f ulasít~sokkal érlletjOk ej,
Ennél azonban egynenIbben is &It é!t1Ctünk, mcrt az If utasiúsoknak lehet egy ncm
kÖlelez6 EIBII (_egyébként·) z!ir:lclékal5. Az ElBe blokkon be](l!i k6d ...~grelujúsár:l
akkor kerül :;or. ha a fehétel l'al,e-r:1 énl:kcl6dik ki. At Elell z!ir.1MkOl tartalm:lzó U
utasítisok ;ihJ11!105 abkja. 3 következő:
ff t"lt4t.l Then
Uusfe4sj
utllsft.s~
"" EI . .UtuHhl
IiIHUe ...lt6s2
Al; Eiu UI~sJcts ,;egil5éghcl a jelwXlleo6rzl5 kódol ~lírll:lliuk. hogy k/1t fdldd helyeit
($ólI< eg)'et lartal=non,
If pa ''''Jro ·.Iwo%... • th_n
'[ info.....tO'16 -.gh~,,"íté ...
u.
'Flqy. ,ueté. "Ji"l. nit" 9y a tel h....,tI
'hely' _ ... lel t ''''''n -v
~"
Az.! f UtlIS~ leg!elrebb egy Ehe ~I t.u/mazhatrlak: egy Tf
uta$.itúban nem Ittlet egynél több els .. bIoü..
ElseI! ell1eIfIfe1t~tel
KIsel tIUt ..sit .... "1
Kl.elflUt ... {t ..... ;;
El ae r f/IUtaa [C .... SN
El".,
El."Uta.tt .... sl
El seUtasitAs2
ElseUt~~ÜAsN
&Od If
l b a leltétel igaznak bizonyul. csak al. UtllsiCásl ~ UCUit .... sN kÖZÖIti blokk
hajtódik végre. a többi ut:Js;t:u;t a progrdm :ícugorja, lia awnwn a feltét .. l hamis.
a progrAm kiénékdi aZ <'lsli ElseIf feltétel! ( .. lseIfIfelcétel) , Amennyiben I'Z
igaz. végrehaltJa az ElselfJUc .... itlfs.l c:s ElselflUtltBúlfSN kÖZÖlti k6drém, de ha
hamis. tov:lbblép a m:ísodik Ehelf feltétel (elself2teltéteJ) kiénékel&t:re. lia ez
a feltétel m.1r igazat ad viSliza.lefutnak az ElseIf2Ut..,.úlfsI ts ElseIf2Ut~sft6sN
utasit:ísok, ha azonban ez is hamis, a harm:lilik EheIf feltétel köo.etkeuk. és igy
tovább. H~ miml('[1ylk El ael ( feltétel hamis, a progrJm az EI se utasíl;l'>Okat
(EIs<!lilt .. dc6sJ-EJs"Ue .... lc4sN) hajtja \'égre.
Ezt ... lt1rom feltbel! egyetlen If ulll,íclWan il;; ÖS:Refogh:lquk. vagy két El ae:r f, \-~g)'
egy Elself 6;, cg)' Il.he ula5itis scgí~el. A kl:!. EheH blokkOl aJk..1lmaw megoldás
kódj:l a következő:
If O'teTi ..... N""'.l!cur ~. 6 And o..teTl_.IiOW-.l!cur ., 12 then
lblll~as"\l" ... Text 'Good ~rnln\l".·
Ehelt O'teTl ..... N""".H""T >" lJ A..., o..t..-rl_.Ii<>w.Hour <~ 11 then
lblMeU~\l"e.Text 'Good aft~rnoon.-
EheIf Dat .. 'l' i ... . HO.... lIOur > 17 Or Da t,,'l'l"" .Nov.IIQ"~ '" fi then
lbl M.. ss ag" . Text • "Good ~ ve nin \1 ."
Knd If
If Il4t .. 'l' I ..... How . JIour ,. _ 6 O\nd DateTl"", .How. llour < 12 th""
lbll!~8nl1 e.T"xt 'Good ..,rn in\1 . ·
Kla ..1f Date1'l_ .How. JIour >± 12 I<nd O'Ote1'i .... . llow. llour <: 17 then
lbl H eu~ g e .'l"<oxt • 'Good ~h .. m aon .·
UtiJsJCASN
N" " t egéuVAlt"zd
Vlz.sgáljuk meg, mit is jelent.. nek a fentiek, vagyis hogy miként mOködik ~ for ciklus!
Az "9és;V",l t ozd vlilloWhoz, amelynek "s"sz s:clm ~n..,kt1nek (vagyis Shor t,
Int eger vagy t.on g (Ipusún~ k) kclllennie. elönör howrendeljük 3 k ezdet 6t~ket.
~::Z[ a vliho zÓI. gyJkrdn cíll/us/'fi/IOZÓ/lall hÍ\'Í~k.
131 I I.NIiI · .......... ASP.HET....
-,
Az Vta, rt ,b .. Uta. (c<lUl kÖl6nt utalitúsolt rtIIIdszerVlt citJustllmnel:
F.l&zör Iétrehol;unk. ~ I M'\11 ~ dlto;eót, AmIkor a progrAm e!;m ~ ,or ctkIu ....
az l az l kezdőéftd;et UPfI. mafd .. tgreh.;t.~Ó(bk a ciklu, t<'irUe, amely Ossuf\JZl
a "H"II<,_ .... " .. Id!· ltólrakll'1tincot egy label wcbo '-ezcrt6 Text lubjdotuiginak
aktu:l.li, ért .... ké..el (Emlékezzilnk. VlSSl.:I. hog)' az" oJpn ma'-elei. amdy a baj
oldal:l.n 1116 ,'~I\Ozó tn"kt,'1 Ö:;W.efűzi a jobb oId.,I;ln ~U6 értékkel. majd a mavelei
eredmén~'éI visS2irrJ a b;al oId11i ,":illoz6W)
~butin a tömi lefutott. al. &téke egg}'cl nő. m;ljd a program meg.'~lj::I. hogy a v:l.l_
toW enel«: ki:sdX>-e }ordl. ''2g)' eg}"enk'5 aZZ:l.I Eun a ponton az 1 értl:kc 2. cZért
a ciklUSlörzs újra lefut. ....8)is a progr.Im újr.i ~zi a "Nélio, ....or i.dl· ltólrakter-
Li.ncot 3 címke """t IIII~fdonsjg;linak értéké\"cl. Ahogy az cl6W kÖfben, "t t értd<c
most is cgg)-cl nő. ~ 3 program iSméI megnt;zi, hogy nem Ieu-e rulgyobb .'I-~l \Ii'-cl
az 1 R106I a 3 tnékei t;lrt;alnI:l.ZZ:I., ami kISehb \'38)' eg)'enJ6 }omal, 3 Ctklu.. tM5e i~rnét
láUl. A 'Hello .....orl,,!· ~ a ~bel \'t'zl:til'i Text tlll"jdonság:inak ÖIIIl7.cflT1.6Ie ullin
az I értéke ""'Sim n6, és fgy m.1r el&; " '-et, am; Ite", kisebb \";Ig)' eg}"enll'i ,'1-111,,1.
t"z6l a For cikllJ5 tbnse többt nem fut k. h;Inem a program a Next l son köZ\etlenill
kÖ'\-et6 k6dsona.1 fol)Ul1'I a \"tgrehajÚ5l.
A For ,;ikJllS swkv:inyos ~Iakpban 3 c;klus\-jltow &!f:ke 3 ciklustoo.s minden
isml1l~kor etI8YeI 00. De mi a helyzet akkor. ha a dkJu~v.\Jtoz6t egyn"l nagy<lbb
.. nékkel szeretnblk növeln;, vagy éppen csökkenteni szeretnénk aZ én,',kl"l?
UtilsÚ.f",N
Next eg<!.. "V.fltozd
TegyOk fel, 00g)' egy olyan ciklus! sl.eretnénk végrehajt:nnL amely a Oés iO közötti
páros sz1mokon lépdel végig. Ezt egy olyan For ... Next ciklu:;sal érhetJÜk el. amely
O-t61 indul (os 10·ig ismétl6dik. és ciklus,,~ltoz6j:lnak értéke minden körben kett6vel
n6. Egy ilyen For ciklU${ igy irhatunk fel:
Ol . . .",en. il" lnteqer
For even. " O to 10 Step 2
Lat>eIVez<!rl6'.Text ,. ,"v",ns " • i . "" ""en numbor.<br '>'
Next even.
Ha ezt a For ciklUS! egy ASP./I.'Ff webeldal Page_ [,cao;! esefl1énr(~lez adjuk.
a kö\etkez6ke! írj:! ki a megadott !.:Ibel vez.érl6ben:
o is .. n .,ven number.
2 ia .. n ..ven number.
t 18 an ""en n _ r .
10 i. an olVan nUllber.
Ut~"itIl5N
~O
A fel t,jte] egy logik:ai ért,";kL-l viMz.lIad6 kir~;elés. Amikor ~ program a Do ciklushoz.
l'r, ellertOOi a fel t,jt .. l-I. ~ ha al 'I'~ue e ....0mtn)1 ad. "tgrehajl;" a ciklus löruél
(az !ltadtA.l -Ut"" {tAsH blokkol:). MiuCin a cikluSlÖ!7.S Ieli.uon, a program i5m&
ellenórzi a f e l t ,jtel-t, és ha mtg mindig igaznak \al~I;a, újrJ "tgrehajlja a ciklus
töns«. Ez addig is~6dik, amig a fellétel Fal ..e eredmfll)~ nem ad a dklUSlÖl'ZS
v~hajt!i53 uLin.
""".....
hogv. nu_:r lwtéb maradna, ezirt. CÜJStöns soha ViQet nem (w6tn
"
4: Ptotected Sub P"'óI"--"",,dlByVal a~nd"r ..... Obj=t. ByV,,1 " .... B
.,"
0,
10:
Di .. j
Fori.1To'
As IntOl9""
Miut1n bcírtuk a fenli kódol, ""zzük meg n oldalt egy böngész6ben. Lithatjuk. hogy
a "..,ooldal a 6.2. ~br:ln 1~lh'1I6hoz h:.lSOt1.l&m ~gySZ("f irp ki:l 'Welc~ t o my Web-
.it.. - szővegel.
_-_., ...
0- . !il .!l.;J
..
",_ .. ""w_
,
,
w_ ..... w_
<-
w_ ..... w_
"'_ ....... - 6.2. MInt
,I If"",*o",~ Ir> m)' u.,QsiUJ"
":amct •.tgy5zwjI:kIIllt "'<"II
Most tegyük fel, hogy egy Bunon vezérl6t IS szen:.-tnénk a weboldalon. amelyre k:lllimV"~
szintén Ilégyner jelen"" meg a -welcome tO my Wellsit .. - Sb!h·eg. Ehhez .. 1&sZŐJ is
egy gOllllxlt kell az oldalhoz adnunk T~ünk vissza az ASP.NIT oldal HTML r6zéhez,
!is húzzunk egy Buuon vezérl6t a Toolbox palctt1r61 az oldalm . Ekkor a képerny6nkiln
wbmi olyasmit kelll:ltnunk, mint a 6.3. ~tmn
-- _... _,_._"'"-
..........
6.3. in
..... . . . Az oldal W' 80mb
h~"Iá"
"
4, Protectrd Sub Pag,,_!.o<IdIDyVal seml,, < A.o Objooct. DyVal e As
.,
S,
_ 5YstC!lll.lNentAl1Isl Handle. Me.Load
output.T1!xt • String,Empty
"
0,
"
10,
11, ~,
eo, , . ,
".
Next
~ub
,~
,
outpUt. Text
.
IntlOOet
" ,< ·Wel".... to IlY Weboite<br I~·
12,
ll, ptotected Sub Buttonl_CUck(lIyVal uender "" Object. ByV,,' e As
_ Sy.t""',EV~lltArg.1 ){andi ... Button! ,Click
H: 01 .. I As Int~er
IS: Porl _ lTO'
16: output.T1!xt '-~ ·w"le.... to """ Webtoite~br I~'
17: Next
18: End Sub
19, End Cl ......
144 ! L rá:!: • lIma!bd6S az ASP.NEr·1IIII
_................--_
w_
w_ ..... _
6.4. lIbra
Az rl:w>rCf '"<'ghr mi"f!jelerlÓlJOmb
...._......
._
_ .......--
.......-
.. .....-
6.S.jIn
JI 8Ombro wWnfQs "ta" a Ire/co ...., 10 my u>tbsOle" nJ'OIcszor kirhm6
II SUb és az End rub ~ kOzönJ kód a1. etjárás /6n:sJt.o, amely nunden "Ilalomnul
H.'grt'h:l.jtódik. :l.mikor n elroidst "H'8l1ftJ"" Az '"'roirish,d.~ fomdja n ~Ubbi
I"J ,4rJsN"V& l
.
" rrotened /luh Page_t.o.odIIlyV .. l 8ender .... Ohject. 1IyV~1 ......
_ tlyM ..... Ev""u.ra., H.. ndl ... M".~<1
S, ""'put T<:x' • strltI<J.k>ty
,
.,
"
8,
ll),
DId Sub
DtBPla~.sa9<!('
,,
12, &od Suh
146 11. rkI: • lSrn.tId6S IZ ASP.NET·18I
A 6.4. f'Ó'1W kódja 3 ' ''1.;1".- to my "lehatt" · üzenet'" négyszer megjelenítő kódol
egy elj:irisba fokozza be 04-19. ""r). Az el~r:l, törzse aZ ASP.NET forclskód h:\rmcly
helyér61 n><'ghivható aZ eljir"'r.I való hivalkoz:lssal (lásd 3 7. h ll. 50<1).
Nézzük meg az oldali a böngész6ben a DeboJg menü StoIn Wllhoul DeboJgging p:U:lOCsa
...gi!Ségb.el. kt. oldal e!só betöllésekor UI>}"An:lZl. 3 kimt."fl",..1 kdll;ltnunk. mint am,t
a 6.4 ;lbcin láttunk: a 'welcOIIII! to "" w.. baite· ilz....,et n~zer megjelenik, ~13tU
pedig egy gomb I~th::i\ó. 1\ go mbrJ Iottin\V:I a 6.5. ábr:-. tarul'l1:l köszön ~i5SZ:l.: a '''1,,1 -
oa.e to ..... web.it,,· (Izenet ezúttal nyolcszor jelen,k meg. alatta a gombbal.
T6rekedjiink 8ITI, hogy 8 faleslegus k6<lok rTIIInnyiségét III iSmétI6dOi kódok modulokba
(aljbrásokba vagy függvéflyekbel helyezésé'.-eI csökkentsiik, A feleslegesen ismétlődő
k6dnak több Mtránya is van: PéldáU r.ehezebbeo oIvashatóv6 telli a programo! (mivel
a kM hosszabb), megnehelIti annak frissítését Imivel a kódot minden elófOfdulásnél
módosltani kul), és III tliráSI'8 is nagyobb az esély (mivel a kódot több$lÖr kali beimi,
Igy v!llószlnúbO, hogy efJYSltr hibézunk),
SunJUnk cl egy kl, id6(. és irJUk lllOSI '" ~ 6.<+ pt'kUbóin ~ Di"ph.yM""''''Il'- )
eljár.i.s k6dJ'lt. hngy ~nnilyen Ü1.CfK'IeI rIlf'8ielenítllCSSOnk ntg)-w:r, Ehhe1. ~Z dpr.ht
képe$Sé kell tenn(lnk ~11"3. hogy eg)' k:lr~kterlánc t.ipu~ú parJu>6ten fogadjon. amclybt.'fl
a megjeleniten&S (I~ne\eI "djuk n>eg A DlaplayH.~ agai) elprb fru.;it ...~L v.'\ltol.aCl
Igy fog festeni
;'rlY4t~ ., D_ .pl.yH,....g.t8yV.l _."\le a, 'PII'I\l1
.... ·w..I~ to ~ W"b<lite' na....H .eQj.lflnh . . . . . z.. r
Die i ... rnteger
..o r i . l t o .
ou tput ,Tex' , . _18";"
Next I
"'" M
E>;r." rn6dosiU5t ,.tgrdu[l\" II Dl "pl.yH"s"'\lel ' eljlris ~- message (O~) nrvű,
:, ,inq (k:lr:.ktmlnc) tipus(i para~~ ,-ár kr. dj:Irb t~ lll. outp\ot ,
·w.. tt-c.e t. "lY .... bdte<br /,.- helyen, ami csak a benne 5ZC1"CPI6 ÚZCOCI I1>f'8ICleni-
t(:sére képel;. 3z outpUt 10= .....g .. kódol h.aszn~IIUk. amelY:l kJmom.1en ~ _ .... \l ..
,'lIltow pillanatnyi bt(:ké\ jelenit; meg
"
4, hot.,.,ted filI> raq .. '_dfIlyVal _nÓOtr .... Obj""t. IIyV.al a .....
_ sy.t ..... Ev......... rlJ.1I lI<Irt<ll ... M.'.Load
5, "'tllU•. '!".."t Strl"'l.!avty
",•• Prote<:'e<I SUb 8utt<mlSH.:kIIlyVal ...nder ..... )bj ..... t. 1!IyV51 e "'5
_ lIyn_.Even'Ar9al Handl ... Buttonl.Clid:
UisplayM' ...aq ... ·W,·l' _ t, -V W4t.IIlt&<br h·1
"••
UI
"" ~
HI Privat" SUb r "playM. . . . . [lIyVal _ _ ~" .... ,;trinql
H, Ui. ; .... Int~ar
a, F<)! • • 1Tt>4
11: ""'pue"",,, ,. _ ...
ll, tiex. i
U, End ,b
~O, End Clas"
r.,,,::tl<' FolggvblyN_ I~r ... l al Tfw' , .••. P.r/UN'i ". Tfpu.' ."
_ VjaU.U!rt!aJTfpu.
Ut . .it~d
lItuttss::
I'r •• fr",.n
End Punctic=
"
6, Di .. ut"P"rp"riod .oa Double
_.
7, ratePerPeriod n rIINTEREST_CALCS_PEII,..Y&I\R
.,
4,
5.
1,
Oill r"R noubl.
Ol .. t as Double
r"t •. TQxt I 100
IIIOrtv.~ .. Loonllt h.T"xt
Hu Stri :t=·Tru,,· baállitás van éMlnyben, a 6.7. példában SZ8fepl~ kód hibát
vált ki, men a 3.• 4. és S. sOl'ban r&~&tt t1pusátalakltás tönanik sning--r61
(lOllnAmOunt . ""xt, ~ .. t ". Text fl OICIng-aqeAlllount _Text) Oouble-fll.
Ha a fenti beáHitást használjuk, a String típusú 6nékekllt a Convert . ToOouble ()
filggvénnyel Double tipusúvá kel alakítanun/(, valahogy Igy:
01", P ll8 Double Convert.ToDouble!loanArnounLTex t !
Mi a szerepe az eseménykezel6knek?
Ahogy az ~)Si'gbe fogó vezérlérI szerkezetek: (4forások és fii8IJttl"J'('k dmú r6Wcn
említettük, ~ Vl5ual Ba5i<:ben kétf':::~e egységb.- fogó "'elhll'si szerlcezel:ct talilunk:
~z eI~risokat ~ a fiJgg"o,nyekec Ebbt-n a Ie<.'ktluen ~rrJ l!ittunk pél<Ul, hogy mik&u
hasw:íJhal1Jnk eg)' eljárist egy ASP,,"JET wcboldalon_ v:l!amint megné1.IÜnk egy fOgg-
'-ényt 15_ de egy v:llam! nundktt példában küv;s ''Qlt, lényegében kÖllyvilnk minden
eddigi p(O\d~j~b:in 1=zn.1ltunk CSetIÚ'''ykezelliket. "lern csoda hál, ha ki\"állC5lak
vagyunk. hog)' aZ esemén)"kL'Zclók IX>f'llooan IJOgy.ln ilJcnck az eljárások b fUggvé-nyek
közé. Ahhoz. hogy en megénhessilk. elóször nézzük ~g a Page_Load esemén)'kezeJó
alakját 3 km-elkezd k6dbcln;
152 11. r6sz • Ismerbdá III ASP.NEl·t.!
p r(lt..,~ed
_ Syateoo . Evl!"llt ..... g.,
IlUb p<lge..u>ad IByVal • •m d .. r "" Obj .. c t.
Handl ... M ~.LOood
ByV<Il .. lU!
End Sub
Összefoglalás
Ebben n ór:íb'lfl:l Visual Basic '..,zkj(~; v-"rkezeteivcl ismerkedtünk meg, A ""zérlé~;
.;zerkezetek scgí~gfvcl a progr:>mok soros (slehenci~lis) "ég.rehalt<lsi sorrendje
m6d0síthat6. és a soronként; "égrehalU5 hdyelt feltételek,,,, alapuló '~~!lY ,,,,lamil)"en
feltétel tel;esOI~lg ;"métell \"égreha!lá.o;t alkalmazh:tlunk.
A kö\"elke7.6 ÓT:l lesz u utolsó, amelyben kifejezetlen a \;"u31 Ba!iic nrel,,- ál jelenlésl,,-
n:I\-a1 foglalkozunk. Ell követ6en flgrelmiinkel az ASP.)\'ET ,,"eboIdalak IffML ré;zére
fordítjuk.
Kérdezz-felelek
K: Mi" InUónbsés "Z djárá.Wk '" "füf!,2/-M,.I" l/Jl...""ÓI/?
v; Az dt:ir:i'iOk k a filggvéf1yek egy:Jn'inl cgysé'gbe fogó vezérlési szerlo;ezetek, ame-
lyek nulh vagy löbb par:unélcrrcl renddk(>"lhetnek, de" filSS"éf1yek mindig
visszaadMk "ab milyen értékel, mig:oz eljár.isok soha
K: Mi (l SZ<'n1JP = d.frlnis- i':$ fiiggl.~'ymcg/,(l/ározá$(). c4!-j<~, ",/áJ/mid Pro/er;Ii!d
~"'8.t' l'riw/e 1n,I=ön(lk! Fdtél/c>IIlI szl1~ Am/koreljárást ~"'8.I'fil&8'~1)1
inll/k, melyi/iCI kl.'lI ilas:málmml.:?
V: Az elj:lr:hok megh:lI:lro11isai a legeg)"'zenlbb formijukban CS3k az elj.id!i nevél
és Ix-men6 paramétereit, míg 3 fUgg'>énYIlIt.'ghm:irocisok a neVei. J paranlélere-
ket és a vissz.~térési énékel is lanalmaz11ik. Ezeken az alapkÖ\'L'Ielméf1yeken
kí\'Ű1 azonban killönfélc to"ábbi kulcsszavaka! 's alkalmazhatunk.
AZ ilyen kulcs.s7.:r.~-ak egyik csoponi~l az e1bésmó<losjrQ kll~(l/y"hlkotpk
Ezeknek a Sub vagy a Funct ion kulcsszó elé kell ken1lniük, b a kővdkezők
lehetnek. Private, Prot.ected, Publ ic, friend 6; protected frlend.
Az el(;r{'"Sm6dositók azt hat.iroz11ik meg. hogy m~s oszt.ilyok. iUcwe az adolt
ooxtMyból sVinnazt:llou O<S.Zt:ilyok hogyan f/)rllNnek hom az adotl el~rjshoz.
illet\"e filSw.ényhez. A könyv kődptldáil».n n ezzel kapcsolalos résZldek
nem érdeke;ek 3 _11irnunkr.l, men a sajil tagfi1gg\"ények lr:ls:tkor nundig
hasznáJh:jljuk a Privatll kull.'5SZÓl.. Ezt az eI~mÓdosíl6t bdn"'lJuk. de ki is
hagyhatjuk, men ez az alapértchnezé5 is. (AZ CSI.'T!lénykezcl6knek azonoon
milllll!/IkVJpJx'f! Protected (v4!'Clcu) elftést1nek kdl kllnillk. A I<,gjobb. ha
hagyjuk, hogy 3 V~u31 Web Developer 007.la It:lre 3 ~:clrnunk"J al. C$Clnényke-
zel6kel, és nem nyúlunk 3zok elérésm6dosítóihoz.)
K: Amikor nU"gllimlJk egy fiiggl«1)1.feltéllemJl 'X"/wltozóhoz ~II n.'ndelmlnk
a dssztlll'rtsi &téki'l'
V: A filSS"énrck mmdig "issz:tadn:lk \"Jlamil~'e11 énék('1, amil állalában \"~gy egy
kifejezésben hasmálunk fel, "ag)' egy változóban t.irolunk, A függ',enyek
"jssza!~ési énékét azonban nem kÖlelez6 fclhasználnunk. Tegy\lk fel pl'!diul,
hogy "an egy s~veCu8t""",rlnfonoation (név, életkor) n(,\'\1 filSS"/)nyünk,
amely bemen6 para ml-terlo;ém egy ügyfél ne"ét és életkocll ,'árja, és ezeket
154 1 LrMZ ' ~ II ASP.NET.-teI
Ismétl6 kérdések
l. ..A fe1t~e1e'S vezérlési szerkezetek m6d0:si(i~k a program végrehajtási sorrendjét.'
Igaz vagy hamis?
2. Ib egy üzenetei ötször szeretnénk kiír-dtn;, ha elmult déli 12 óra. milyen
"ezériés, ~zerkezetl'1 használhatunk?
J. AZ al~bbi For ••• N.. xt; ciklus végtelen ciklus?
vi,. 1 as Int~"r
For i _ 10 to 20 lITEP -1
Next i
4• ..A fOggvén)'eknek!!os az eJjlr:lsoknak I"gall!:>b egy bcrncn6 JYdrllméterrel
kell rendclkelniil k. - Igaz \':lS)' hamis?
V~aszok
"" •
,,, • ,, • ,, ,
• • , ,• ,
"" • ,• •• • • , , .• ", • UO
"
•\llUún megírtUk a Pactorl,,1 fil88'-':''II)1, hozzunk létre egy pa,,~ _Load
e.em&Iykczel6t, 3me1y meghh)a a filgg'>·~n),. és It'Ie8If'IenÍll3Z l' h Si köz/lnl
énekek..,,~· ASP NI!T ...'dx>kWoo
Tipp: A Factorlali] filgg\'énynek egy akluSlizerkezetet kelll;ltUlm.nnL:l,
amely 1-161 n·lg ltalJd, éo; minden iSlnt'llé"ll'I.Ill'!:!"ZOfOzz:t egy változ6 értékl!!
a ciklusI'.1l1ow én"kévcl
7. ÓRA
Akir hSllioon I'agyunk vele, ~k:lr nem, a kor.lbbi fejezetekben tilOU fOfT:1~kódokban
I1lJr löboréle objcklUffi<)( is hasz!1all\l!1k. A:J. ASP,NEr Wl-oes vezC!-rI6l ~Idlul kil'i.1d
l'\l,lkal objI-klUmok 3 fC>rrlsk6dlXIl"l, Amikor bdllilJuk egy ~bel wwrl6 ,-,,,t IUlajdon·
s.1gal, VlIgy "","gírjuk eg)' Bunan "ezlirl6 Cl i c k C:semtn)'kezel6jét. ob,,;klumokk:al
o<>IS<'l'.unk. Az objeklumokal ~w\e<; köfben alblmawk 3 \isuallbsichel hasonló
obtektumközporlllÍ progr.omozjsi n)'eh'ekben, eu'" eZ alénlll IOC-g("; n ab~bb
\"~g;A16dbl
Ahog)' a 13. (ejeuud kezd6d6 r6dJen Lilni fogjUk, al A."P .... ET D:1I3Source "etM6i
IdM.'l""é lorik, hogy eg)~llrn somyi kód m':g"i~l '*Iköl doIgm;p;uk a(bth;iruokk:o.I.
~h:l awnoon "zulL'iégd progr:unozni is t'8)' ad:I!I:dti5 ~dlt:lin:l.k déréJsl,he~. E~ ul6bOi1
ug)';',n nem d'lW~Jiuk ~ könyvlxn. de nem ~fl. 11:1 ludjuk. hogy ~ .l\'ET keretrendru'rben
:W1l'IOeI adut:d.zi.<;ok kezc:lb(me szolgáló omaly léteZik. p8díul n SqlCc ,ion.
n .sq)L~!>d V3gy:lZ SqlD.!ltaJ ~r,
Az óra IlátrdJe.'Ó r6:2~n;l fenu négy febdat Visual Basic nyelvu ...égrehajtás:\hol
szOk5tges nyelvtannal ismerkedünk meg,
Objektumok létrehozása
EmlékeZZlink \'i~. hogy 3Z osz\j!yok elvon\ megh:u:irol.isok. amelyek az osztály
~1!:I1 nyú~oo 5201g~lta\mkat soroli~k fel. A tubjdo~gokon, tagfúgg ... én)'ekcn és
escmfuyek"n ]Úvilln OSZl,lhok letrehol.ó függvényeket. úgynevezett kt:mslruklorokal
i5 !:Irtalmllznak. A konstruktor egy különleges filgg\'ény, amelye! al'. osztály t'fff
példoinyin3k l&rellóci$ára ~Ulálh3tunk
Az első kód egy my{:oQIa>olnd n<!\-if, SQICoaaand tipusű vMtoZÓI hoz létre. a m~sodik
pedig al. SqlCOImIWOnd (l konstruktor ~lta) vi55zaadoll objckwrno! a myCOIID/Ond
\'áltowhoz rendelI.
ErnIékeuiink vi$WI, hogy aMaZ. hogy egy objei:;tumot h8Sllléíatba vegy("wlk. elóSlÖr
agy ob)e':;tump4ldányt kelléttehoznunk. Ezt 8 műveletet hívják példblyosktJsnBJ:.
Egy objektumot Igy példiinyosfthatunk:
Di .. változó liS tipLI"
változd N".. KonQtruktorU
Paraméterezett konstruktorok
Az eliár;i~hoJ: és filgg..·ényekhez ha50fllóan a konstruktorolt:nak is nulla vagy!öbb
p;!.rnmaerilk lehet. sót az O$2;tilyoknak eg)oo több konstruktoruk is Id>el. A p"rnrné-
terrel rendelkez6 komtruktorok: pa~erei ~Ital:íb;m különféle tulajdooságoknak adnak
kezd6értékt.""t. Az. SqlCoamand oswtl}"nak például egy par.lflll-tcr n~!kilU, és egy k"rnkter-
l:inc tipusú par.unélen ,':'író kOOSU\JktOfl'~ltozata ls laezik. kl ds6 az ~kmm egyetlen
m!ajdooságiin3k 5efTl ad kezd6értéket. míg a má.'IOdik az ~t.1c1oo k;J.rJkterlinCQI. az 0b-
jektum C"""",,,,~"I"ext (parnncsszö"eg) tulajdonság;loo írja
I _. ~n.CI . . S<llCor.and
ooyCc.un" _ SI,IIC ond!
Rendszenn! cs:tk egyszer adunk &Iék<.i <''8)' lul~jdons:lgrulk. majd meghívjuk az oI"e-k·
Ium v;llamelyik t:Igfiiggvény(.ot. 11"",1)' felh3SW~IJiI a lulajdonslg álkk(.ot. 1'é-Id,1ul ha
egy e-mailt =ménk kilkk.-nl <'"8)' ASI''\1:.T oI(L1Iró1. a MailMeollall1! 0I>Z!ll}1 haszn~l-
11.lIJUk Amikor IéIrehozzuk ennek n ~lplltk egy péklán~l. több tult~got is be
kell.:l.LliCUlunk , pé:küul a From (fe\;0d6), ~ 'to (címzett) \-:Jgy a Subj ..n (~) lUlttdoo-
o;jgolt;u. Az alábbi kódrészlet azt 5lernltlten. hogyan hozh:upJk ~ az tmIiten OSZWY
egy p&Un}":lt. ts hogy:In allith:lljuk I.- a !ubjdons:igaj(:
'1'- .... ':""II ... \!. 0II2~61y "'h' ~11A11Y.t. It léueho~u
D-. 1OY"-1lM"....\!e aJ[ .... 11"""... ; • • _ ""11".,.. .....\1'''11
...
'A Fr.,.. To. Subleet •• Body tuhjoionaA • bdllhÁaa
1IYI(a';H"....... g ... Fn,.. • ·v"t.k"pelda. eaao
IlY"" l : Heu.ge . To - • val.Hip" Ida. "OOO·
1IYH411M.,•• ag ... Subje, "A levél tjrgy.·
1IY .... 11!!. ,nge,Fr' "11<>1101"
Nem lTIIIlden tlllltdonsio irható vagy oIvasIIM6. Egva OSZtMYOk c$ak oNWlltff.
ÜtJf YlIII'( C$MC tMt6t1td jeIihk nwg ~ ~iIt, dll l1AetdOn-
"vol ~ tÖbbIégtI matjIi B ~ It. AIrikar új OSZtMYOkbI 'iIgV
tta;cbilillokkll ~ meg.,eIIznI,....1wI ~ C$aI:. otv.hBt6
Y1IIJ1 csak í1Iat6.
Gpkran azt szeretnénk. hogy egy adott k6<\réS.JO; akkor fusson le. amikor egybiwnyos
esem61y történik. I:lihez egy esc",éI~)~ kdllfuehoD'lUnk, amely egy oIran egy<=nl
elp.r.is, amelynek OC'l11L-n6 paranK:terei egr adon eseményhez kapcs<.llódnak. Az
~kapcsolh (vagy "Ö6S2edr6lolás" ) - amelynek módját hamaro/Oan megv~iuk
~odik az ~}'kel.el0'5 végrehajl:í.s:l.r61, amikor az adou e:semény bckö'''Clke~ik.
End Sub
7. 611 • Objektumot. ViIUII e.1eben 1165
A fenti uusitis egy Buttonl_CIick nevú elpr:i$l hat.1roz meg, amely a Butt o n l
objektum Click ~Dl~rft kezeli. Amim láthatjuk, az esel"l16lykezcl6nck .1ladott el56
p;ir~t~er egy <.">bjI<klum (Ob j ltCt), a n}jsodik tipuS:! po:dig I;;vent/l.rq s. Ez utóbbi
kieg6z.it6 inforrnjciók:ll i5 tart:llm2Zh:ll:lz ~ml'nnrd kapcsolatban. A fenti esemerlr-
kczel60en (ahogy az oldal Lo.\Icl eseményének kezel6ja>l>n) nem adunk ~I ktegészít6
inform~d6IGt1. de II kl's6bbi 6r:ikban olyan esernén)'k"zel6kre js Ijtunk maid péld.1kat,
~mdyek ezen a núsod,k bemer16 p"r;lméwren keres<::tül tov:Ibbi adatol<:at adn;!k ~t.
Összefoglalás
Ehben IIZ 6r:\oon ismét az objektumok.::s aZ O:'izt!iJyok mtIköd~s(-...el foglaJkollunk
Egy objektumot cs:.k 3kkor ...... hen1nk hann;ibtba. lu ..16bb Il:trehozzuk. ~mdy"t
e-g)' konstruktol"r.ll.::s a Visual Bas,e N...... kulcssZll ... ~val tehetünk meg. AJ1Q8Y I:lttuk.
,. konstruktor ol~.. n ugfllgg'''<5ny, ~mclrnek f1e\"e rnegegyez.ik az o:sn:ilyáéval. á
az oszt.1ty egy p(-Idany~t adrJ vissl.:ól. Az SqlC<»=;snd c.sZlály egy példinyát példiul
így hozh.atjuk ll:tre:
Ezzel a kckl:vel "('gére 6tQnk a \"l5Ual Basic rejtélye,t felfl!d6 résznek. A kÖ\"elkez6
rejoe1.elben kel oly:m ASPSET \eZ<'r\őI_ II bbel h a Wer:tl wl'!>eS \'ClC!-ri6l- vizsg:llunk
meg, amelyekkel5.lö\'egeI jelenílhenlnk ITI<:g, al. ez(. kövel6 néldny fejeret<.1 pedig
a felhaszn11ó 11131 bevin adatok ősszegyO"jlésmt>k 6; (eldolgozi~nak $7,enteljük.
Kérdezz-felelek
K: Ebb6I az ómból """81"<lI,,,IIIIR. hogyan haszmílhaljlik a ,,\'I:.T ktn·fn.'llds.u'1"
OSZUiI)l"'iI. rk lehetséges saját osztáJ){Jkill is Il'trelroztl/?
v: A VI5U;I] Basichel. h:J:;onl6 objektumkö<:pomú progr:mlOZási nreh-ekben lehe..
'6ség ,'an sali' O6Z!:l.lyok k6,tit6;ére is, de ennek módj,\( nem úrSr:lljuk, men
cz n>CSQC túlmut:1( könyvOnk kercIcin. A könyvren :l .1'1]", k("retrendszer
,;.ok ..wk osruily1t fogjuk igénybe ,·enni. de sajit osLl.!ilyok ll'lreh():w<dr~ nem lesz
$7,Ú~.
K: Tá'1J)"('lja a ""II)". hogy m/ké.u IdIldhet,lnk Nek/nm/kus ler e/eket ''&1' ASP:NET
1,~>boIdalról!
V: S~I!lO$ az e-m:"lek küldésénH mikentjt'1 ke1l6 id6 h11:1.n nem ill módunkban
~rgyalnj. de ennek a .szokdnyas feladainak U clv<'"g1:<'sl:r6l rengeteg cikk(.1
találharunk az Interneten
kL ASP.NET 2.(~"ban az elcluroníkus k"wlek küldés&.-, haszn~lha(6 kél OSZt1ly
a MailM"......ge és az SmtpCl tent, míg 3l ASP,NET cl6z6 változata ~ Mai 1-
Musage él al. Smtl*lal1 O<iallyokat Ixlc:sjtotta a rendelkeresünkre em::l d~lrd.
lla:az Internden tal:l.ll cikkekre t1ma$Zkodunk. amikor egr ASPNET 2.o-t
haszn11ó w("holdalról e-lTl3ih sZ<:relntnk kiJldeni. ilg}-eljiJnk ro, hogy az elavult
SmtpHail OSZlály helyett az SlntpClient aszúl}, lusználjuk..
7. 6ra • objetturnok a Vu e.k:btn 1167
IsméU6 kérdések
1. Melyik 'u; a '*ID' fdadat, amdyet szinte mindig el kell \'~ge'znünk, amikor
egy ohjcktumnul dolgozunk?
2, .A .t-.'ET keretrendszer egyes oszlllya;t rel rogjuk használn! aZ ASI'.t\'h"T
weboldalainkOfl,' Igaz vagy hamis?
3. Az el6m kL'!. leck&.:n alapvet.'! programotis; fogalmakkal k elemekkd
ismerkl-dttink meg, ebben ~7. órában pedig az objt:klumolM Vi7.sg!ihuk,
amelyekrn.-k tul:.jdons:Igaik, !3g1uggvl'nyeik <':; e;eménrt"ik vannak, Milyen
alapvet.'! programozási dem feld meg egy ob;t:ktum mlajdonságinak?
4, Mdyik progr.m>o:cl$i fogalom fdel meg egy objektum \;Igfilggvl'nyl'nek?
5, A Visual Basicben az djlr.15ok meghatiro~b3n melyik kulcsszó jelzi, h<:>gy
az elj~rásI akkor kell meghívni, amikor egy biWflyOS esemény lxköH:l.kezik>
Vél8S2Ilk
l, Miel611 egy objektumol hasznlilaloo ,'ehetnénk, először péld;\nyosllanunk kelL
Ha az objektumpéld1ny m~r létezik, !ilulálxltl be kell állilanunk az oIJFktum
megfelel.'! tulajdons!igad, majd mcg kell hi\'nunk a tagfl1ggvényeit. Arra is
szOks{-g lell<.'I , hogy esen*nykezel.'!kct hozzunk I('tn', hogy az objektum
~-e~ eseményeinek bekövctkezl.,kor adott k6d~szekct hajclllus.sunk vl'gre,
2, Jgn. \'al6jJoon az ASPNET minden ",ebe!; \'ezl:rt6jé! a.VET k~zer
o;.zt~lpi valósítják mcg.
3, A tubjdo~gok a ~lto1Ókhoz hasonlóak.
4, A tagfüg&\'ényck olyanok, mini al. djár:'lsok és a fi.lgg"ények.
5, A H.. ndles kulcsszó.
Gyakorlatok
Ehhez:lZ 6r:\hoz nem tartoznak gyakol'btok.
4
- 6. 5.
8. ÓRA
Az ASP.NET
szöveg megjelenítő vezérlői
Az c:lmúlt Idrom 6r.iban 3 Visual Basic nyelv- & jr:'~16;brui"31 foglalkoztunk. '":Im'is
nzal II pn:l8I'am(>7..bi fl)'et..,-eI. ~1)'t'I. A$I'Sli weboldabink forris,k6d ~
h.asuulnln fogunk. Ezt II három 6r:it ~ n ASI':>'Uabpj:lil tcJ,ameuuk ;il,
p&ilul mq;tudluk. hogy minden ASP .... ET ,,'eboId..l1 egy forr.iskód és~' tmlL reszll6I
tpul fd. AIT.I IS emIéIcl"Z.hetünk. hogy II !-IDll n:u 1fP,ll k(x\o( b "tt.e. ,'ez6i6k<."t i>
l;lrulm:II:I",\
110 , I. "'-z • 1ImIIbd6t. ASP.NEl·...
A kón)" folpn~n ook(élc " .. <.'hes vczérlŐ\'el fogunk mc.'gismer1<:edni, ~l'I1dyek killön-
bOm csoponol<ba !IOI'I:>Ih,"6k, vannak ptkUul ,'ez~. amelyek qö.'egmegtelen'l~
'!ZOIg:lln:ok. 'cn:rl6k, amelyekkel II fell1a$ZfÚ16 ~It:o] 1Je..'1II adatobi 8}'Üjlht'tjök &sze,
,-czfrl6k.. amelydc ~gil~'gt·..eI egy adalbázu :adat:oit jdenithetjo1k meg, &. igy 1000bb,
Szövegmegjelenft6 vezérl6k
Az ASP.NET-ben két vczérl6t Ic,.veztek amo, hogy sZÖ\'eget jeJen{!5Ünk rl\('g ~ ~gít:sé
gökkel II Utc",] k a I.llbeL H'Zérl6krt. Ez II kéll'czfrló rn;!is-rnh HTML-kódot e=l-
mtnyez. amikor .'égkhajtIUk lU; ASPSET ...."bokJ.:1h A 4. fl"jl'zetb61 (.'fTIlcke~)C."fÜnk "',
hogy amikor egy böngbz('lben mcgtekintunk eg)' ASP "ET oldali, az ASP r-;I;:T-t1'I<ltOC
,~~p azt. &. ImlL-k6dot állil dll, amelyet :;\tad II ",'ebkUlwlgJ,l6Nk. &. a .... ebki-
$zoI~16 czta ~mlL-k6dot küldi ,~ a feJhilsmoil6 böngész6jenek
A uteral és ll. ubel \'ezCrl6 abban killönbOZlk, arrulyen HTML-kód iön Il'tre !:>előlük
A [Jle",1 vez!:rII"I!rrML-mcgfcLcl6je eg)'!zcnlen ~ "ezérl6 Text tul:oidonságjnak ér!,ske:
c/:lX1 szemben II l.o.bel \'Nl...t6 SzálllOS fon"h~~llu13jdons;igg:l1 bIr (Backc"lor.
ForeColor, Font SIbi, ~mdyek rncghatlro7,7.;ik. hogy:," kell ITIl"gjelen,tcnl II "el&l6
Text tulajdoos1g:Ol
a. 6A • Al. ASP.NEl azt'IIJMJi t lied \ fi Ili 1171
Ebben az ór.iban megnéUilk. hog)"n lehd huznllnl en:l kb. \..,~: megIlInU1lUk.
l1(8)':ln helyezJletjilk el6k('\ egy ASI' "ET webOokbloo. ilk1\"e 311. hOogy mikffil
;illul\J1tjuk ~:I luI3fdons;1g~ik;u
.....
•
-_ ... _------
" - _ • • • _ _ ._.~ -~ .. - ___ o .-).;
---
•. '~IoI" .!'!l"l~'
Gr6USdjunk meg ról:t. hogy 3~ imént felvt1tutcI:II \czM6 van Iu;elölve, ...,. viz.."IIJljuk
mcg:l jobb :d5Ó s:lrokban lóIIJIII'l16 Propenie!o 3bl3kOl: Megfigyelhetjük. hOogy:l Uier.ll
"C'lffI6nek mmc!ll.cQ" h:u tulajdonsig:l. \':In. Ez:l. ruot tul3Jdor1.!-ig bhogy 3 Propcllle$
ahlakban me-gjelenikl:l kO'l'elkC'zó:
• T= • \"isible
• Er1llbleV K!'Io'Sl.;ite • (E:o;preo;"lOn~l
• M""" • 00)
!'.bben az 6r:ib:m csak az IC ~:I 'l"ext lulajdons;i!(g:ll doIsozunk majd. AllOg)' ~ 4 Icckt-
born W'JePIÓ penzug); $7..1rno16gépe pékWxin Liuuk, az ID tula~81:g)·ed; nev-."CI
Ul", el a \"e.ttn6t, hogy az A$I'.t>.'ET ...-eOOkb1 forr.bk6d ~ hm~nk
a lubjdons:ígair.l, :l Lileral vcz1:ri6 Tex~ wb~g:l pedlg:lZ az &lék. ami nlqlderuk
aZ ASP :-''ET oldalon, arrukor a;( M~ lekq,e~ a V«bI6t.
172 I. rW:' ~ Ilf ASP.NEl"'"
I-Ia a LlI<.>ra1 vewr!6 Text rulajdonsi~1 n<.'1n .illitjuk be, a ter...e.t6ben így jelenik meg;
[UtHai '~zc>n ll"itó')
......
"
y
-
'*~~_
"""""~.~'~',,,-,,"-,~,,
. . . , ... " .
•
u..;.,.;.... -;--
... _ - - - - -
1'-f "::~ ~ ---
•
-.
.
,' m',;,:::" •
~'),
- ..
!ooo, Wd .. : ol 'It
-_-..._.
_ ;oj'''!--
....--".
JiJl!
-
'-- -- 8.2. jin
A Utcrn/ ,~rltf
a ,,/Ici/o. World!'
- $1:6<"8,,*'1 J<.*"ik
a Icn't'ZÓbl'>,
meg
Most. hogy lll. oldalhoz adtunk egy Uteral vezérlIII. és be.1l1iloouk II Text IUJajdons;igll.
tekintsük mcg az ASP.NIc' wcboldalt II böngés2:6bt"ll a Debug menü Stan ~1lhOllt
Debugging pomjár1:lk segItséghel. A 8.3. :\br:ín l.ithatjuk. h08yan fesl a Llteral-
Control. aspx oldal II böngé05ben, II kimenet egyszeruen II Hello. WOrld! m-'eg
·-e
_ - k
••
-,--
_ _ _ _ ,. 1:]"
8.3.6brI
.- II ll'era/Ccollrol.flS{l.~
a u~, '''''1J'ck1lm:e
U, HeUo, WOr'd!</dlV>
H, < "no~
16, </body,
n, <,tit.. !»
A 8.1 . példa 3-7.. ikM 1&-17. SOflÍban tal6lhat6 <M' ,<head> " <body:.
.meket • VISl.III web 0WII0Per Idja IZ OId.tm. Imitor ú! web Form t/P.JW
w,t-.....ént lélnlholll*" r.." t r<Ol .asp> ASP.NET aIdIII. il. VISUal
web 0eVeI0Pef iIeSZti bt" lJ. és 14 mart taláht6 <dl v~ elemet JS.
A 8·11. sOfokboo &gy <form>, illetve &gy hidd. n 11puSUI1I (ty~) Mlton
< InrlUt,. elem lalht6. Ez a HTMlta-talom a webes ilr\aphoz (Web Form) 1a1ozik.
A 4.IfI,mtb6I ~ rá, hogy. webes ÚBIIPOt HTMl. ~ ~i." •
~ II118Iyak n6mi ~ inform6t:i6t ~ tgy rejtett <, r f>ut>
•
-.mben. ASP.NET WtbOIdakri: lZ'Iirt IIIi1IImaz 'M!bts i.riIPOt, mert I ViSUII web
DeVtIOP&r alapirtllmem szennt houúd 1III'fIIt. amikor létrahol egy új ASP.NET
w&bolclalt. A webes ílr\aPOI:; réslletervall köwtkez6 6r1ibtn 'ovIaiOlUllk majd.
Ami I 13. sorban hld5d6, is. 14. sorban VégZÓdCS div) elemet ilet!, wgyük
u., hogy ezt liliiii I l.itD webes ~ ~ IZ OIdaIm.. Erre adt! hIYOm lel
• ~il8t. 1lWJI.novv ~ 116ni, l6tni Iogp.a, hogy Ileotobb wtbft VerirIG
hOZZ1Iad valamil'fln kilo'szftó ta-talmat IZ oldal HTMl~16hoz; a Label vezérió
péliUul <SP<lrl> elefTW;ént képerodik Ili I k6dbM!. A Utllf.t vezériób611Z01'1b1n IIIIm
Itu HTMl·eIem, CSurMn megie1eillti a Tut ~ az "'~Ut.
A lit8!Ol _ Te,. tulajdonsógánek beáIftáSa programból
Ammt Unuk. 3 LIler.] ,-ni:rll'l Too ot mla~i" bdUim:1I6:1. PropertlC5 ~blaktxm_ és
amíg POnl(l5:rn tudjuk. nul)'en &I~kd kell bpn;;!;I tuJajdons;lgnak. ezzel:l. megközclí-
(essel nino;s Wmnu gond. lia awnl.xln ali surcménk, hogy:l. Text lula~1I
I!'n~kc dil1:1.milrusan v:lhOllOf1, u bt"'kft az ASI''Il''T oldal forr.lskód ~én kcre'Zlill
kell megadnunk.
Tcg)'Ok fcl plildául. l.osy a.n s."eCretoenk. ha a Utcr:l1 "czl!rl6 az aktu:llis ualUnlOl h
íJaI jeleníteM lIleg_ Egy progTlIml>;ln cn a 04teTl ..,. N" ... tulajdon.lJgon keresztlil
ktAA"7.h•.1jiik le. A J.,{e!1Il ''ezérló ,.,,~, tulatdof1s:;ig:i1 pl'ogr.unból II fombkódba in
aUbbl fomujÚ uw.iú'<iSólllJhdulluk be-
KhZllSilnk egy ASPS!:, "ehokbh. amely egy Ulcr.J '-czérlo segilséghcl ;elcnn; meg
al aktulhs dlturIJQI és id6!l Kewliik au.a!. hogy létrehozunk egy új A5I'NI:.! wclx>kbh
Llter.t 'ti_.uP" néven. nlilit! húuunk egy Uter.1I vczéli61 az oheLdrn ICrv~"t6 ~
l.l1hc". NillQ Qükség arra, hogy ~ Text lulajOon"jg!lt ~ I'ropenics ~bbkban llht...1Jk
be. llIen Cll a tul~tdoosigol3 progr~ml~n fOSJuk módosítani A ,'e1.~d6 ID lulajdon,j·
JfoLlloIk értékt1 mindazonáltal 1TIÓdO'I,t...uk a M'nurutmondó Lit era 11·n51 \!lIl~milyen
1lt'S<:~ :u:ono:siIór.:r., J*ltUul a currentTiDl! bkn.I~Ii.'! id6) énekre
__
."t'Ó6Uk ~ 3 k:lpou ~mén)' 3 8.1 <ibr:ln l:illl:lló kepemy6képpd
n
....... _... __ .........
. . . . . . _ •• ~~'" • _ _ .'_ • • r •
.
- - .. _-
•
..- •
..... ~
---_.._...
.....
--~ .. .
-
-
-. . __ -. --
..
U . 1Itn
A wrvnó a l./J(OrP/ ,fth16
,7r=k1fr' h<uIDIU.Ia~
bMUrJdw má ..
8, 6ra • lu ASP,HET smrijjlll8Ujel:anh6 VdrI6i 1175
currentTI_.Text ~ oateTlooe.N"'"
Miut,1n beirtuk a kóOOt. menl5lik az ASPSET okblt, 6; nhzuk meg a böngész6ben
A 8.5. ;ib", mutatja. hogyan kell "kkor megjck'tUl.ic a Ll t."ra.lTime . aspx oldalnak .
. /- -"
_,'...,JoJ/. 8.5. ""
AZ u/dmi/iS ddllllll és
/dó megjc/etll'/est>
MelK/'(ÓZÓ!ll&tünk róla, hogy III oldal valóban az aktuális dátumot n tOOl mutatja,
ha néhány másodpercenként lrissltjük (üjratöltjílklaz oldah a oongolsz6b&n, és
meg11gyeljük, hogyan váhOlik 8 ~Irás.
"
3, <html xmln ... ·http,t/www . .,3.orIlI1999Ixhtml· :>
4, <h",ad><tHl,,~
5, Untitled Pa9"
6, <ttJ.t1e~<t_>
7, "body>
8, <rom na .... _' roml' _tho';!. 'po8t'
.. a"tion~·Lit"ralTi ..... a&px' idv'fonol'>
13, <dl,..,.
14, g/1412005 lt,34,05 f<.II
tS, <Idiv>
16, <Horm:.
17, </body~
18, </hUlb
Az ~ sor, amelyikre killönösl1gyelmet kell fordit;lnunk, a 14. sor, men el. az a HTML-
kód, amelyt.'! a Ulerdl \'ed:rló állít dó. Amikor" böngész61ckéri ~ LitculTiJDe .... apx
old.~lt. az AS!',Nf..T-moIor végrell:jjtja azt. Ekkor elindula Page_Load esem.;nykezel6.
h leful II benne 1",,6 kód, Ez az egyetlen sorn}i kód ~lIílla n aktu:il~ d:itulnra h id6re
a ülem] ved:r16 Text rubidof1&igát.
I\}il\'ánvaló, hogya literaJ \ .... z6"!6 nem ~ IcgalkalmaSlbb arra, hOID' fomLíWIl szöveget
jeienilSÜnk meg - a köv(1kez6 I'é:szl>en benllll.:il.:indól.abc! ,·el..&i6t ,.zonban SO!1imos
rulajdonsággal ruh.1zt1k fel. amel)'ek segits.:g{'vel a vezér16 '::'I1ék(1 nmdkívül egyszen1en
form.1zhatluk. A Utcr~] vez':..-l6Ieginlclhb ~kl«x ha~. amikor ponlo:san meghat:lro--
Wil HTML-! kell mt.-gjelenitenünk, a label vezérl6 ~lt~1 elóillílOtl 11no1L-kód azonban
mind ~ Text tubidonsig~t6[, nünd a fonná;ctsi tulajdonsigait61 filgg. A Uter.tl vell-r!6
ugy"""kkor pontOl5abban It1Liirozz> meg" kimen('!l'!, Iusl.en mindig azt adil VJSSZ:I, anU
a Text rulajdonsig:íoon '>lerepel.
a. Óf1I • Al. ASP.NEr tz6vegl!le9ieold6 VelIWI6i I m
Kel,<.!jílk azzal, hogy létrehozuok egy l.4belControl . aspx oev\l ASP.NEl' oldalI. maid
esy l.:Ibel "ezl-rl6t húzuok az oldalra. Jelöljük ki ezt a '·ezédÓ!. és oézzük meg a lulai-
dons;!igaiL a Propen.ies ablakooo. Uthatjuk, IlO!!}' ióval több lubjdonság jelenik m<.1I iu.
"unt 3 Ute ....1 ,"ezérl6 ,,*,-ében.
E16ször áJlitsuk a dmk" Text tulajdons.1gjt Hello, Worldl-re. I~a euel me8'dgyunk,
a k(,pernyoo valami olyasmi! kellljtnunk. mint a 8.6. jbr1n.
- ._- -
8.6. 6I:n
AZ OJdiU 'ID' wbr!( wzérl(i I=tii.dása CS Text mk'JdI:m-SAsá"ak b<.'<ilhr<ls<. "Ill"
"Iiután bdllí!oouk a Text tulajdon~got. azt kelJ eJ(:münk. hogy a tartalma félkövér""
jelenjen meg. Ellhez kaninlSunk a vezérl6re, amível megjelenitjOk a tulajdonságait
a I'Toperties ablakb:m. Az egyIk fl'lsorolt tulajdonslg a Font, amelynek n""ét61 balrJ
egy pluszjelet J;:ith:uunk Ez jelzi, hogy a tulJ~gnak résztulajdons.1gai ;", vannak,
amelyeket a plll54:jelre btlintv .. bonthatunk ki. A Font tul3jdonság résztulaldomiJ8<~it
a 8.1. tábl:izatban láthatjuk. E rb1:lulajdons;!igok egyike a Bold, amelynek alapénelmt"-
Zett énéke 3 False. M6dosílSUk ezt T.-ue-r:I a leny06 lista segít,;(:gé\'eI: ennek hat:i$.1ra
a címke s..zöv.,ge félkö\'éren jelenik meg a tervez6ben. A 8.7. ~br:'in I:lthatjllk, hogyan
fest 3 "czér16, miután a Bold résnul~jdon~got True-ra illitottuk
m i l ráz • llmen:edú.lZ ASP.NET-UI
_.-
~
, ...•
•
~- .......
,--_o.--'
.- .
. __ . --
_
- - D
-~-
8.1. jin
A fAbeI ,~"Zo!rl6l1oJd réuwtajdons4gár Tn,.,.,.,. dllíron".
8.1. IM- ... ~ , ~Jhnl I~~
Leíris
Annkor '1IY böngész<'! Ic.>ké1" egy webokbll. elküldi a Cser-Agenl jf.'jIéc:JA.-"" ilSmeIt
infonn:lCÍÓl, ami UOIlO5ltja a bOng6lli tipus:il
i.'W3CI/I7l'll
• • hnp' 1/.....w. w) • org I'M!.Ixhtm.! llD'I1l1 "ht .. ll - t ranatt tona l . dtd " >
9, ~di,,>
10, <inpu~ type."hidden" ~." __VIEWSTATE· td"" __VIEWSTATE"
• val uo>." I'oIEP!lw\lJOOExKl'JI~N~'(~lIGII~~ YF1J1l: ·WY.t.S1{40Z~hllFf "YQ_ • I>
\I.cdiv>
U,
l. <div>-
180 ILIMZ • ~tzASE'.NET....
]4,
_ <lspanH.
I~, <If,..,.
16, <Ib<>dy~
11, <IM .. !>
A l.abe! velérlő kódja,. 14 sor/.xIn ~1J.lh~tÓ Megfigyelheqilk. hog)'" klxl "gy upan>
IIT\tI..clernel ha~zn:\J. ,.mel~nck i<j jcllCflllÓjC megegyezik 3 Label vel'.d!(I ID tulaj-
donsj,pn l 1\7.1 15 kue\'ehetluk, hogy ,. fellcn böngbz6koc"1\ ,. tIeile, . W.-,r l<j I !lZÖVcg
"<Sparl> elelll .. tyl .. jdk~nck kÖSZÖflh..'1őcn mlkóvh betű"'" jeknik meg.
Ih <,fona>
l', <'body>
IS, <,htllll>
A ti 4 ~Ida ll. 500). kfilönböz,k a 8,j, t*1dt II .sor:ltól. A Ife Ilo. worlt! I ~T.ÖV"g
f~lkö\-'crre lft<:,I(lr6! in nem a <.pall> elem nyle jclk'fTlZ6je gondoskodik. h~rn:m
~ <b~ elem, men a f<'jletlen böngbiz6k. c.""k Nl ismerik.
S:zfntulajdonságok
A Label " ..;,;&16 kttlulajdonslgon h'I"C'zlQ[ t~':Ui l...h('16\'é, hogy meghalfirouuk a
kiír~nd6 $ZÖ'-eg 5zinél: az egyik a ForeColor (,zöveg~zín). il m1$ik" BiickColor
(hJuérszin), A ForeColor ll. szöveg 5zíoo, mig ll. &ockColor a lultért.'t ad(;l meg.
Ha megt:'lL1huk a kív:1nt h~n&szím. CS3k k:lltin!.>'Unk cl; ha pedIg nem t:I.l1lunk ked-
,i1nkn> v-al6t. kattintsunk az egér jobb gombji''31 az ('gYik üres színnJeZ6re az ~156 két
1IO!'Ixtn Ezzel megny'tjuk a Define Color (.~zín meghat.1roz:lsa) p;'irt:.eszbd:oblakOl: (L1sd
~ 8.9 ~bcl(). ahol kiV;lilasZlhatjuk a kAánt szín!. Miut;ln ez megtörtém, k:'Iuintsunlc n
Add Color (Szín hozz:l:Kl.1sa) gombrJ. és a szlm, amelyre jobb gombbal kalumouunlc
a Custom lapon, (el\'~llj" az újonrum megh:nározou szín, és ~ Bac kColor lulajdonság
en n újonnan megh:náJ'QZOO szím kapj;! é"ékül
. ...... , .~ , 'Ic
.:.
_.""..
- ... ", ~
l /1" .... I(
.....
po-
8.9. ...
Á D<!j111P color pdrluzéd(lbklk/"'"
<'8).m1 SZlni ~htll"". /él""
Egy színi úgy is kiv~lasz(halU!lk. ha a \'(cb fUlrc kauimunk Ezen" L1pon is olyan
sl.incket tal~lunk. amelyek közlll v;l,laszth;nunk
Állitsuk JÚt:1 B4ckCo l o r lUlajd<::oruJgot Na"Y·re; ezt ~ szint 3 Web bp<;>n találjuk
....
""",~.
-_
.. _'.01".
... "., ..,_
_----_
,._W~.~._
-II
_-..
... '_"~'.
. : ..
_.
-----
,- I' ,..
B.l0.
Cimwfollér sWt.-g- és ~
Mllbttim,l'I" tN1<'Z"Óbl'1,
B,l'.
lia az oIdnl, egy frjk1WII
""1Igész6bc>' teki"tjük m'8-
....'",mlly,m """"8<'/
""Jn lá'llI,k " 1<I-"/:rny6,,
Ahhoz. hogy megl"llhes.sfik, mim ncm látunk st'mmit. meg k('!J vizsg:'ilnunk
a J\el5Clpt' 4.0 6; a többi fejletlen böngé5z('\ ~I.al kapol( m"tl -k6dol.. amelyet
a 11.5. ~1(L1 mUla!
184 11. r6a: • lSrnMUd6S IlASP.NET.-I
_ "ht tp, 11""",_,,3 • or; lTP ,,,!\tool 1 {DTD/"lIt.. ll- nan"i t io",,! . eltel' >
"],
4:
<lItml xmlns."lIttp, ;"""",,3.or;1199!1lxlltml"
~lIeael><t! t l e :.
>
S, Untitled Pali"
6, </titl~><lhead>
7: ~bocly~
A l~nyeg az. hogy II label vererlG BackColor tubjdoru;:;g:.I nem képezOdik le II fejiCIlen
böngész6kben. Ezt mindig tllrtsuk bzben. amikor egy label ve~érió színtulajdon'iág:.l,t
álHtjUk be.
Szeg6lystílUI Leír.
NotSet Ez az abpéttelmezb A label vezérlő szegélyét ekkor kü1s6
MO'iI ,~I~k;,1 Solid beálliLÍSl- ekkor 3 lerve;OC!ben egy folyt<)f'lOl\: szegay jelenik
meg;,1 emke köriil. b kq,em)'Ól"lkön valami ol}'~nlll kelJ l:imunk, mim a 8.12. ~br:1n.
Megfi~eJheljilk, hogy az ~br:1n J~lhat6 SZO!gi'ly fekete, de a színt módosith;,1ljuk;,1 Bor
dert:olor (""egéJyszin) lula~8on kcrcs2lüJ. Ehhez 3 lulajdonsighoz ugyam,gy
vlilaszthatunk szint. mlnt;,1 BackCOlor vagy a f"orecolor tulajdomághw.. legren label
vezérlőnk színe rnOSI \..xos, vagyis Vl1lasszuk a Red szint a ~eb lapról.
8.12.
liJb<:f l'Cu'rl6 foIyamalO$ $.U"f<'I/yt'I
1815 II. I'-z o ~ II ASP.NET·t.j
A 8.13. ~Inán Ulhaliuk. köliilbelül hogy~n fest a lef\'ez6 nézetben a k~pemr6. nliUl~n
ezeket a n,lajdon..:igokal beál!ítoouk
•
.---
__
." 0'-
...... . - 8.13.
.~ ÚJbeI ,,,,,,hMfo{l•.,,"'tos,
,} klppcmt S#Ier t<'lnk sz~lyd
Ahogy ~ leckében kori\.lb:m l:ínuk. 3 label vez~rl6nek ,"Jn <'gy Font lULa~, amelr
löbb résZl\llajdon~gg:" (Boi d, Ita II c'. Un<lerline. Name stb.) is rendelkezik. és azt il.
megtudlUk. hogy a Bold résnuhjdonl;.;íg bclopcsolis.ival hog}"Jn ~lIíthatunk el6 fHkÖl.ér
m..·~'Set, Most folytassuk a Font tulajdonsig résztuJaporu:igaivlIl ,"dió ismerk~-désl:
hOWlnk létre egy III ASI'r->ET oldal! LabelFont .aspx néven. ~ hlIWlnk r.I egy label
vezérl6t 3 ter...,zéOt.'fl. A vezérlő Text 1I.>1a~~nak adjuk a worktng w\th th .. font
propert 1,," tA l:>elűlI.>laj<;\oru;;jge>k kerelése) fnéket. majd a font wb;doru;lgnév lxii
oIcbl1n taJ;ílhaló plu~zjelre Iotlínl\'~ bontsuk ki ~ résztullljclonságolCll, (A font tullljdon,
~g resztulajdonslgainak teljes list<iját a 8.1. [jbl~z:Hban lithatlUk.)
MU.lt:ln ell kitclóhiJk, a Label \'eZi'Ti6nd: ~ tt.'r\"czlíbcn friS5\llnie kdl. b; UÖ\'~ ,mlTÚr
Ari:,1belíilipu~1 kdl btnunk_ vtg<ll ~lIitSuk,. She resZlub_jdonságot ll. 22pt ~"~kre!
íg}- ll. címke!QÓ\-ege 22 pootOS Ix."úméretre n:lgyrt,"~ jelen,k meg II tCf\eZl5lx.'n.
li 8, l-l ~br.ln ~z.I~jűk, hog)öln f..'>ll eZt"n II ponton \'1Sl.L:I:1 Web f)e:.-elopeo-
ll.
II~ kÖ':"t"ttuk II fenti léptscket. ktpcmyőnknek III :.ibnn ~lh.1t6hw: kell h;asonli"'mll.
.... ..,--_ . .,
"~","
. ,.._.~
"~~ --
.. ~,~. --.,.
8.14, MInt
UJM ,nt'rlrf Q Font ~
. _...J7" ItiHlUn)' n'Utula}donslWlJna •
bedJllI,15Q "',,"
Ahogya korábbl ~kL1kban tot tl'!lllk, most is szinjunk r.l1d6t. hogy ~nílk n okblt
ll. böngés7611C1I, & mcgv.~!fuk II kapott HTML-kOdot. Ib az okbit fejlett 1:röogésW.'e(
lia az oldalt llzooh:ln egy fejletlen ~ tóltrflk ,-"" II Label vez&l6l~ k6zit~
HTML-kód rg)"Uen1lf1Ml-.c:lemckkd adp. meg II SlilU5bd.lht.i.wkat, vabhog)' Igyo
_ pn>perlieUlf',,'></;HJ pan~
--
ISan example af a
I L',b,,1 Web contral with its
8,15, "
Am;"'" <lZ tg&mUUUÓI a <"" ..fiJM ''Ilu,lJr,
• <t/.I' ~"'1lhu00n* jNmlt ""'JI
A VI ,ib1. (litható) ktgi!ui rula~g, amely a1;l határou.a meg, hogya b bel vez61l'l
n>egjdenik~ a bllongész<'íben. I b e1;l J IUt.;doosJ.got True-r:I :IlJiljuk C"l: at ahpértcl-
metés), a böngésző ~pj::o a Labd ''C"zérl6b:'iI cl6oillitou Ifl'ML-kódot. ha alOnb:ln
I'al. . éntkd adunk ndti, a labcl "mrl6lektpc~ nem km:il.or. ezéft a bön,gtsz6
rK'Ol!up annak megfelelo."i H1'Ml.-kódot,
Kr.aOC>.lak lehoetünk. '1Ijon mi ola len ..... b4rim~k 1S:>mI, hogy módosi!5:ll"Z1 a
tubjdons:igot - ha nem ak:..;:. ..... iJ<'I""il""i a dmkét, mltrl hozn.:i Iéue. csak azm,
hogy aztln a Vidbl<' tul.:l;dom;ig;;ll vat .... ra állii$a?:"em "8)'"SZa1Ibb, ha nem '" ~d)a
hom II , ..,ze,rl6l; lll: ASI'."fET oI<blhnlJ
A kÖ\-'"kező no:;lúny 6r.íban, amikor a felhaszoJI6 <iltal megadou adatok wel:>eS arla-
pokon Y"Jló ~~·cI fogl~lkmunk. I~lnl fogunk olyan ptkUk:Il, amikor éppen
arr:1 >r.In szükség, hogy lé1:rehouunk "f(f ubel vczérl6t. és a Vi .. ib1. lul~jdon.-.Jgál
k<'zMben Fal.,..·r-d :illílSUk. TegyQk fel ptld!.ul. hogy van eg)' ASP,r-1:' \....... lOkblunk.
amely a fo:!ha.=úlótól ll. ne-.'& és:a ;elsz:l\'~1 km. és amennyix:n:a fdhaWdIó én':''fl)''
Iden f"IO!'\o'd ' ..gy ~ ad mcs, meg keU jderutenOnk ll. megfcldlS hibaOzenetet Ekkor
clhelyezlldjlik az ~ urtalmuó dmJ,:~ az OIdalOO, és kezddlx:n clfqd~JUk
a Vhible tulajdons1g Fah"r:I 1Ihúdl'al. m:.apd ha a felh:w:ni16 heI)1e1en je\S2:ÓI
adoa l1"qJ, a PrOgranD':t TrUe-f':II óillilhaljUk II tuhjdons1got. és end ~úk
al(l~.
.... • NASI.NET iidiu. . u ' M'; r111 1189
Összefoglalás
Ebben a leck&en lIZ ASPSET ~.egcs kimenelck 'rot'8/Clcnilé5é're scil" kd .... dJOe:s
,e~eI ismerlI.edtilnk nrg: a ltl~ k 3 Labd \'cz.-r\6o,-d, Ez a két \'eu'fi6 a leké-
pel,;,wkkor előallilQU IfTNl,.k6dban küli:\nl:lözlk
MOS!, hogy l1íuuk . hog)':In h:'5ZJdllUllUk 3 Ute!':d él 11 !.:Ibel \'eU'r\6I:. k~ jllunk ~rr~,
hog)' fllJ)'elmünkct nok f~ a ..-d>o \'C'léMk felé: fordi~k, amclr':kct a fellu.~16
..11:ll megado« a.wok ~~6ére tl'n'atek_ II)-etl \'I'l'i'rl6 p&l;\uI a TatBw:.
a I>ropDownli$l V~ 3 IbdioBunon. M>d6u:uonb;an ~ednmk «ekk~, meg
kell \·izsgWlunk.llOIJ)'1In gytl~enek :adatokat n ASI'SI:.,. ..-.ebokbbk a ~10fPI6k161. éri
hog)':In acJpk at a1:<JOIat a w~liur;zoIg:il6nak. &ul a lém:I\':I1 fogl:ilkonk a kln-etkczó 00,
Kérdezz-felelek
l: Mds 1IDII...JI6dot lIup ti /JrJ,rgész{J Q Ü1cml ~ Q UIbd 1I'f!bes t'f!U!rlóll
megJeU:oli/ésCha!
v'. ~ta flgyelmvnd kOl'ettük nórA. megtudluuuk. hog)' amikor az ASP'"'I:,"·lIlQ(or
v'-'greh:a~ egy ASP :'\"'1:,,, okbll. a .... ereHeú.'fI6kct I ITMl-kMU képeZI le. Az..
hogy pont~n fllllyalIIT\ll,.k6d jön Ittre. a ",ebe!; \'ez&ló rul:i)dons;ig:.tl6I fOgg.
A leckl':ben kél. különbö~ veztr\6l'd i.sn1er\tcdtOnk meg. a !.lleTal és a Label
veZl:rl6kkd. Ib k67.ítUnk egy ..... eboldall, :l11>c1)-etl egy lite,," és~' ~bel
\'ezérl6;5 tal:ílh:Lt6. 61nlndh'l.11'i Text tul~,doru::i8:ít a This il a te.t s~'egre
olJJilfuk, a~ ASP:\"ET oldal b/)ngés~ tÖl1t'n6 rnegtcltinll!sekor úgy tanht.'I.,
hogy a kél. \'eZl"l'l6 UIJ)-:uu.ll a t-rlN!.·lmner".'l.ct ~nye1.i. Mindamnlital
lényeges. hogy ÓZl'e\t'8)'Ük, hogy a két n~z('fi6 ~kg különlJW6 IIDII,.k6dot
.illi( dó.
l
110 LIC· ~m:ASP.HET_
W1hallUk, 1108)':0 lite1.iI \'.,z&16 l mll-kódj:l. nem mh, fillll J \'czbt15 '!'ext tub,..
OOm;Ig::1lt:1k értl:kc_ A Label \'c;ebi(l ezzel ~bco egy <"PoU» ,rrM lrcl,(,m
.M."l!ItXghel jeleníti meg a 'text tul;tjOOns;ig.:l1. \':Ig)';' példánkb:IIl:O l:o!x:! \'cu:r\(I
HTML-kódja ez lesz;
Vál8SZDk
l. A I..ileral vezérl60ck nincsenek fOl1nizisllubjdonsigai. ezért ennek" \'czerl6""k
:ll e5etax-n a W'trqo>-6 HTMl.·kód eg)'szeriicn" -:'ex! rulajdons.ig ~.,ke!oz.
lb ~ l..iler.1I vez('f161 (OI'TIl;Í:na.szen.>tnmk mC8/CIcn;teni.,. megfeld6 HTML-
demekel,. Text IUbjdonsagb;o keU imunk.
2. A Ubel ,..,zérl6ntk!öbb f~ IUbjdonsj.g;. IS ~.,.n. amel)'ek .!oe"8;~·d
form;izh:lIJuk,. SZő\egct. cs;ak "nn~'i a dolgunk. hogy bclIJitjuk,. megfdell'l
tu 1,.;cklru:Ig6t~kekel.
3. Hamis. A l.i\er.;ll \'e:rerk'>n<-k többek klkött V"~n egy tD tulajdonság;!
4. Hamis. A Text lulajdonslig tndlen,. lolbel \'eztirlO" WU>O!i form:iU.l tulajdon-
sliggal. egy ID luLojdonsiggaJ ~ eg)'é\} lul:ljdon$ólgokkal is renddkel.ik
5. Az.. hogy mil)'en JITML-kód jön Iéire egy adon \·ezérl6höz. ket tto)..,lö"I:05l fOgg'
a "eltriO" IUbjdoM.1g:l1r\3k bt"két61 k a fdru.svUJó bÖngéSZ6iétO"I
6. A Ulmll b a label "ezérlő w.ó\~IIOn: l~ló.
7. A ...·ebes "eúrl6k kö:n·etit6ként swlgáln..,k:lz ASI' ''ET "'eboldd IHML k
fom1sk6d ri-ne kól.öll. mm:l HTML r6zben helyeUilk el6ket, é-s IITMJ...kód
jön létre belőlük. de ~ fomlsk6d ri=b6l. progJlUT>Ofl ken":SnÜI vezmlhel6k
8. Il3m;$. A fejlellen böngbzO"k a ~bel "ezérlO" BlIckColol" \Ulajdon$ólg.11 h:l.8)·i.1k
figyelmeu kh"Ol
lal I L riIIIZ • 1Im.ted6I.u MP.NEToCIII
2. Houunk k"\1'(' tg)' ASPSEr okbh. b ;adjunk houa~' ~beI \'C'zérl6r.. Állítsuk
a n'rerl6 "'"t tu12jdonsigál a What P~.ttY U,,,t! ~'<'gre. n\:ltd adjuk meg
nélliny f()llll..1z:bo lub;donsíg:iI T~ Rennt \-iJog:Ith:mmk kOwuOk, de
leg:o.libb 0U1ek aJjlJnk \'lIbmil)"ffl ~ék~, 1'f6I:dljlJnk ki olyan form1úsi
tulatdonsJgob, IS. amd)"ek~ a feJezetllen 0t;Ill "Izsgál!unk meg kOzdt.obbr6I.
3, KészilSÖnk oI)"lIn ASI'J..U ",·ebokblt. amely egy J.abe1 \'e7.erl6 s..-gitso'gé\'d
meg;c.lerud II lllog:uö IP dmft. (Al II' eim oi'gy wmból ~!I. é$ am< ~roIgál.
hogy alOllOSilSll a számitógépt."\ n Imt.'fnt:!cn lb oz ASI'NEr oId:.Jakat sapt
gépilnkr61 SZolg:iJluk ki. az IP dm 12""1,0.0.1 Iesz.)
A fdl=n116 ~ IP címe ~ ltaQu.. st. ';""rHos!;AddrNs uusillss:il kbdez-
~ le. A g)"lIkorbt d>'~.j>eZ !dú':ll okblhoz kdJ adnunk egy bbel
\-eztrI6t. meg kelJ adnunk sUm.ir:l ..abm,tyen altlrlO!>itót {ID 1U1.:I.~. m:otd
az ASP_''ET Okb.I forráskód I~I k:lne kell homunk qo' P~ ..J.oMI ~y.
k~~ ami" kÓ\"<'lke~ kódot l;Iru.lmazza'
II. RÉSZ
Felhasználói adatok
összegyűjtése és feldolgozása
Al: ASP.'TI-ben nem kell rncgimunk a fenI említett HTMl..elemek kódját , Ehelyett
kOlönféle wehes "czCrlőkct helyczhetOnk az ok!alakr~, arnclyekbG fddolgOl.hkor
létrejönnek a megfelelő Iíl'Ml..,le1nek Például 11:1 aZl szeretnénk, ~ egy Sl:Ö''Cgme~
jelenjen meg a~ oldalOfI, "gy <input> IITI>U,-elem hou.áadi"" helyett egy TenBox
,'ezhi6t IUSZ!lllhatunk, a dorm> helycu pedig webes I1rlapot. A wcl"" I1r1aJX>k mtl)Cfl -
1{1('<6l és has>'rulatuW a f~;e7.<.-1ben részk'le;en beszé-lCink
Az <input> elem
AI- <Input> címk" :;eg,~...1SzöI'(,gmez61. I'"I~~lt6sombot, jdöl6nl'g}OZL1.<'t Vlg)"
gomboe hom~tunk létn:, A:t <.'Icm l y~ ;ellem~ adl'l """1:1.
milyen típu~' he:''''leli
\'e:renOnek ken mcgJCJenme II feltl:lSm:l.ló böogc:o\z6;ében_ P"'ldiul ha egy clpn lron
...'ebokbll ~zen:!.nénk k6zltenl, ~n",lyt'1> egy 'IZÖIegmew wlilh:l1ó.:u ~loibbi IrolL...
kódol ,m:.t",k:
MlI'eI webolthlunkon ket benIC.'11 s&'>\~Uin: Ies:t "'IQkM'g - egy II Ilug;assJg hüvelyk-
!Jen eiJrtl'n6~. egy pedig 3 te:SlSÚty meg;ad.1sJr~ fontban -, k<.'1 <input> elemet
fogunk Illl'iZIlální. és mindkL1.t6 tipusat • text · -re jllitJuk.
), dItIIl>
",oo,.
l: <hl>BHt C.lcul.tor<lh1>
.: <p>Your He,ght (in (nchu), <input typ ... ·t.l<t · n ...... =·h .. 'ght· I><IP>
"6, <p>Your Welght ln pöI.<Ilds), <Input type-·t..,t· 1\4M>-· ..... ivh'· ><Ip>
" </body>
8: </hta1~
A 9_I ptkbk6d qn"$Zellkn nle8lC'Jenit két 5Wvegmez6t, egyet 3 nu~g. egyet pedl8
~ lotsúly scimil1l, Ahog) ~ ~ 6; 6,.$OIb;In Lim..tjuk, II k6dll:ln O;;ZerePII5 rmllÚkd
<Input> elemnek '<In egy name luJaJdoru,ága, ~mel)'re az <inP'Ot> elem t'g)'ed,
nonosilois,1hw: I':In szOk,.{,g, Ahogy ~ kön!tkew részben lleni fogjuk. az dnput
elem... k n .... jel~ ~kkor ha$2.00Sitjuk, amikor ~ kQ({)nf<'le <input> elemek
1.;lJulnút ('Ikllldjilk a ,,'d>ki$ZOlgjlón;!k.
A 9_1 jWn n>egtclunthctJÜk. hogpn jelenik meg ~ 9.1 pékbk6d <'BY böng<.",when
~"-'-""- •
--
_..-
BI\" C>l.lcullltOl·
,...
.... • "1, •.• ..--
9.1. iIbnrO
"fi'lIJI.sz,,(!/(j l.éI ~mn6I /Ol
A kl.1l.>t:v,teli mez6n kivill arrA ls s:luks(:günk lesz, hogy ,",,!.ahogy jelezzilk .. böngé-
szőnek. hogy ~ feltusznl16 befejezte az ~da!ok megacl..hjt. Ehhez ~ ellnl/tló gombot
h:lsznllh.nunk. ami ~ olyan gomb. amelyre bnont\"a a felhasználó véglegesíti a meg-
adoll adatokat. Az elküldő gomb! ITML-k6dja igy fest:
dnput type . ·submit" value,"Az elJnlld6 gomban -.,jelenÚendd ucveg',
I, <htm.b
2, <body>
l: <hbllMl Calculator</hl~
(: <p>Your lIelqht (in inches), <input type< "Uxt" """",,'heiqht' IH/p>
"6, <p,Your wslqht (In \X>UI'Idsl, dnpu' type= " t<lxt' n.a/MT· .... lqht· IH/p,
"g,
8, <p><input type,"sublolt" value. ·Calcul .. t
<Ibody>
.. BMI" I></p>
10, </html>
BilU Calruh,lor
9.2. iIbnrO
Az oldal ar dlnlld6 80mb
1Iorr<lDMs<J lll""
9, ÓfII • A wa. ~ lIIP;Ii 1199
• Amikor aZ ürlapot elkQldjílk, honrum cler(jl ki. melyik wdJOldalnak kell át:ldni
aZ ..:input> elemek (anaImi\:?
• POnlQ:5:ln hogyan kt'rill n <input> elemek tartalma az em!í!('{! weboldaJhoz?
Ezt 3 kél kt'rdést úgy "jlasrolhatluk meg, ha mego.'jlSg:1IJuk:l. <torm> elem !letion (:s
..ethod fellemz/'lil. Az action jellemző h~t~roZZll meg azl ~Z l.:RL-t. amelyre a ~
sz6i irlnyiwni kell, miután a relhaszn.116 aZ lIr1ap elk1:lld6 gombjira kalUnlOU. Telt.1t
aZ action jellemző éTtéke adja meg, hogy melyik weboJdah kell betölteni az lIr1ap
elküldése ut~n
lIa a ,·-,·thod jellemz6t a POST értékr... ilUit)uk, az dnput" elemek I3nalma a IrTn'-
fcjlécelKJt, keresZIUl kenil a ki~wlg:\lóhol. leldt ebben az f'SCIben nincs Ickl'rdez6
karakterllnc aZ URL '-égén
Amr.:or egy böngé$lÓ lek'r egy mboldalt, II kárt URt-hez melléu~ a tffiP-fejléuket
amelyek egY$leI'Ö SlÖveges karal:terláncol:;_ Al eg;ii:. HTfp·fejhk (amelyet az elólÓ
6rilban ismert.edtíi!i. meg). User-Agent, Imely II kérelmelÓ ~ tfpustWJI
szolgáltat infOllTláci6tat
Ha a _thod JIIHemz6t I POST értéltIlI éIIitjuk. II böngésro az <input> elemet
tartalma melkttt a Post tffiP-fejlkllt küldi el. Iv. adatok ebbe keriilook. 6s niocs
szükség hosszú lekérdezó karalderláncra.
Eg~\tsúk mo:;!. ki a 9l. péld;!1 egy <form> elemmel, 3mel)' Tl"nddkezik action {:s
..ethod jellemrovel is. A kiegészített J--ITI-1L oldal k6dpit • 9.3. ~Ida mUI.tp.
"
10:
ll:
<p>dnput
<!fo...,~
tY",,~".ubo.lt' v;o.luer"Cftl=lete BHI" 1>-</1'>
12 :
13, </body>
14, </html>
9. 6ra • A weba 0r\ep0t. 1IIIpjIi 1201
A 4-l l. sorok közöttt:Jlálható <fona>- elem körülz:llja a két <inpuo elemet, :Jmelyek
l~rehazz:lk ::I ko11 bevitel! szövegmezÓI, illetve az elkUld6 gomb <input~ elenwl
Az l'irbpelem act ion jcUemz6jének l:rtl:ke 501110'1'Ig-e. ht ... 3 ",ethod jelletnzÓl pedig
GET-re <1111lolluk.
Anlikor a felh:i$Ul:lló megLllOg:1l1" a 9.3. J*ldlban ~t1\at6 I-ITML oldali. ko11 $ZÖ\-,.,gmeZÓI
l:5 egy elkOld6 gombollál, JI~' a 92. ábcln ~ttuk. Miután beírt;!. a mag;o.~gát é:s
:I lestsúl~l. majd az clkOld6 gonlbra k:.Illinloo, a wcbböngész6 JI következ6 fOflTlában
lek&; a tm-gadott Wt-boldalt:
S"""' p"g-... h tm" h .. 1 g-h t ~AFG 1 IM 'urun dÁI t.lll &lIrtHa g.ll " .. 4 gIO _I qh t T
A 93. :lbcln 3 böngésUi clmsá...ptl:!thatJuk. rniu~n::l f.. lhasználó betöltötte JI 9.3, Iwk\;!-
kód :Iltal elő:illítotl HTML oldalt. 6; megadta a kIvárn adatok:lt (mag.,ss5g: 12 hűvelyk,
testsúly: 155 font).
.... -- _....
l',"" m.,,, ."~, '. "~' ., ~"" ,"'o .... '" ••
- . .. •
9.3. 'ln
A magaS:SOW é> a lC>tslily oncgadá.>ám ~ mczökbe beirt m&kl
a /da!rdt>z6 kartllllcrt.l,,~ lar/<I[man<l
Ahogy Ulluk. ~ do<'1ll> elem "ction jellemWje adja OlCg az a webQldah, amelyre
~ böngbzŐ!. ir:1nyít:ml kell, miut:!n az IlrlafXll elkilldlék. A 9.3, példiban ez a weboldal
a SomePage . htm volt. Az ilren űrlapokat <11\31100n ál/rá")1/Ó rirlapoklUlb hívjjk. men
a fe!ha~.iI6c egy másik webokl.:il ..~ ir:lnyítpk
;o.tllldazonilal k~zcli\lk cl. mi tönénne, la at "ct Ion ~1IenZ6t ufn";irulllltak az oldal-
nak az URL-Jére ~lIiarcink, amelpk a doOl> elemet altalmaWl_ Teg)ilk fcl példiul.
hogy egy P<,ttbackponnExa.aiple .ht.. neVll ASI'NeT weboldih k6lltOnk. amelynek
IITMJ...kOClj;o a k6ve1kez6:
dtt .. b
<>,.",
dOrlll ... ,hoc!- " !'OJT" ... ·_1on.·Po.tt".á .... ~ le.ht:Jo"~
<P~_ 1. your &ge? <input typeoo·text· "-"""ge" help.
<,,~o(l,;ou' tYI __ ·!Nbo't· v;ol ..... ·"ll<"k t< ,nt ,nu .. • 'HI I>~
Amikor a fell=~16 clőRör ,,,ved a Po"tbackPo .... I?><0q:>le.htm okbl,.~, egy ~b,..t.-g-
men'í. fog 1111'1; a Whn i n VOl/r 1'(/091 S1.Ö'I--.:-ggeI. a ~z6 al:m pedig '1!y elkúld6
gombot, amel)'o:r'I a aid< lU Conunue felirlll oIv;i$I ... tó, Ml történik, miuLln a feUla$Zn1I6
beuu a kélt ad>1OI: laz tletk<rlt) a .m1I'egrroeiulbe, 6 eIkO<le:u űrbpol? \I,,'cl a "",<bod
)d1enu6 énéke III j'm, ;u: <' 'flP\I~> '>ZÖ\'qpllC:'dJe itt aduok dkolJé.o.o a po\!: IfITP--fe;.-
!«en keJe5zt(l11~ Az.etloD ~a Il»tboockFomh'Pl'l •• h •• okbJl
:ittuk meg. ezi'fl a fdlWoDl1l6lUs:wken11a P<,~ttw.ckF" . .F"'~I ... hl I (Jkblra (csak
e;etnal aZ ad:nok is belöll6dnek a l'ost Irm)-f~ keremull,
-- -
__ "'",
"'~~"""._I
'?
_Kll'I',
.... i
11._,__ . . .
ACI1ON,. F: • • _ _ _ ....... " ' _
'.1'
"",_1000 _
9.4. Mn
II ,....7QCJlIIt?I6 urlopolt ~16 ..bdali.'•
I _ _ ol ,u ,fmum'ild o1rlapo1t1ó1
9./in • A _ _ 1i1IPOk alapjai 1203
"9.4. 1br.ín nIind U Iitir.ínyít6. m'nd a visszacsatoló Clrlapokr3 lIitunk egy-egy pel(lIil.
Fig}ocljilk meg, hogyan kGldi ~.~ :I '"iss:tac~:nol6 űrlap a~ ugyanazon n oldalon levő
<Ín~ut> elemek urtalmát oonugá.nak. nIlg II szokványos Il"rbpok:l tllrtalm:l1 egy másik
weboidIInak továbbít~1k
<I torm>
Am,kor:l Vi5U~1 Web Developerben hozunk létre egy új ASP.NET weboldah, a program
aUlo!1llHikus:ln hozz:lad egy webes Clrlapol. lia lTI05I\éfrehomnk egy ASPXET oldalt.
megbiwn}'osodh:uunk errdI. Szü~g is lesz r.i. men fejezetünk h~trakv6 I'Í!SZC erre
II mos! elktszitendCl AS I'.t\1::T oldalrJ épül. Új ASP,NIo.T oJdaJunknak adjuk a BMICal-
,ulator .aapx nt....·eI. ts ezúttal se feledkeuúnk meg aITÓl. hog)' a language
beáUítás~l a ViMlaJ Basic lehe!Cls{,get kelJ v:ilasnanunk, 61 be kell jelöl nünk II Place
code in 3 separatc file jclólool'g}'ze!e\.
... __ ....
-_.-
,.....----.......'.'-,-..._-,._'-_.,
.-,,- <me ""
_~=--.,
."".,-"
"""'.-= ",'-'
- ".,,~
- 'i -O ..
"..
1,-- . _
.. ..-
---
.-
.1 ... ,
.-.
A " 0 , , " . _ ,• • • • • , . . , . , lAO!
9.5. ibra
A Usu,d Wd> Ikt,'<:kiper tilt(lllem,howlI uj ASP.NET t..,boIdall,1I "mom,,/iJnlS(m lartal" j(Q,wk
uoebes l'rlaptJI
Miul"n l&",hozmk a~ új f::ljlt. \"álU;unk Source nézetn"" (ha '"'*g nem l~"{tiik "olna meg),
és vil.sgáliuk meg n ASPNET oI(~il auton",likuS:ln elkl':$titett IITML-k6djál. Ahogy
a 9.5. ábr.> n\Ut~lia, a J-fr.I.IL rész núr ["ru Inl.~Z egy ",ebe!; iirlapol (I:bd ~ <fornI
run.oC~ • se~ve~' > kÓ<Jol a 10. wm:..n).
Must né1.ZŰk meg az oldalt a [ervezO: nézelben is. Ennek a n~z~1nek mos! iiremek keU
lennie, men meg nem adtunk egyeden wcbes "ez"n6t ""m aZ ASP.NET oIdalho~.
AbpértehJ1("zt.-s bzerim a tervezO: grafikus mffi<ö(\l--,;ií, ""ID'is csak awkat a ''''lé-rt6ket.
illetve stalikus HTML-t mUt:llJa, amelyet akkor ]~tnánk. ha aZ ASP.r-U oldalt egy bön-
gészőben tekime-n,;nk Ill<..'g ~Ii'·el a ",(!\)es !Irlapoknak ninc< kep; megfelel6jUk
" weboldaJon, a te.vez6lJen nem látunk wmmit.
Mlel6tt :lzonlYdn az oldaJho~ adnánk az els6 TCXlBox vezérJ6t. írjuk be azt a szövegel.,
amelynek meg kell el6m'" a $lÖvegmeZ6t· Your height (in inches) '. vagyis A~ on
"",g"adg" Ihtlvelykben) :. Ezt a sZÖVegei egyszeruen beírhatjuk a tervel6bcn,
c:;ak a ter.-ez6ablakba kell heJycmünk a kurzort. 1':$ Jtm ..... gépelhetOnk. I b SZükséges,
az E.,""Ttlt billentyű lenyorruis:,,"-:al t&k&t i~ beiktathatunk.
8. tn • A..... on.pot !iIPj!! 1205
~ll\.l..;1n
lrinuk a QÖ\~. húuunk egy TextHox ,~"I16t a TooI>ox p:Ue!W61 a ~
be. ó helyezzük cl kÖZ\-eUenul az imént beiJt QÖ\"t.'g utan. A 9.6. ~brJn IJtlutjuk. hogpn
o.l'z ki I VisUal \J,eI:! ne-,'c!osx""l", nuuÚJl n els6 T.-xtllox \"ettrl6t aZ oIdalh•.>z adtuk
--- -- .. ...
• • ... 0#.·40 ~
- u.i:n
-
-.. . - _ _ _o
_... __ ._._---
ugr.lnu1 lit;uk-e a kq,cmy6nkön. nUnI a 9,- 1br.in
........
.. ,"fil'
...
4'"
l _ _ "_ ~
- , ..
..-- _ _ _ _ o
~
--- -- ,-
'-
"- - _.... . ;;;;;.---
_ 8.1.i:n
/IZ OI4m" "'''J<1<1J1t Tt..'u&~
,'l"'%Crl<l" ho=á4<fást, "'ilII
9.B. ...
. ~.
_. A: 0/<1,,1 az woUil
,>edrló- <'gl' p'b-
1w=At.<I'utJ ",,J ..
~~.....
MO<iI milr megvan mInden \'ezérlónk. am; ahhoz ~tOkséga;, hogy ÖS$Z~-ajlsilk a fel·
hasm:il6cól al aduok:u. A következ6lépb a különhöz6 vezérl6\< tulajdonsága;""k
beillitá5.il. A Buuon vezl-rl6n például jelenleg II SUtton fehral 0Iv3$h316, amd),et
ugy cseti'lhctünk 'Ollamilyen ~bb szövegre. ha rnódoliítjuk a vezl..-l6 Tex~
lu13jdons:;jg.1nak érlékét. Ezen kívül a három webe!; vezérlő lD tubfdonsiga szint ....
az alapénelmt"zt1t 61fken ~ll. amely<'k sz.inttn nem IIlOIldanak túlIlOkat.
SZ<lnjunk IllI ni egy ki!; id6t.. l"S mc'xIo5ítsuk a ,'en"';6\.; tulajc:lonsJgaiLI EI6ször k:ulintsunk
aButton ,-ezérl(ire. hogy I:1s:ruk,. 1U1a~gaÍl a propc-rtieo; ablakban. k dltozt"-'>SUk
az 10 tulajdonságot btnSUl:cni t·r~, ,. Text tulajdonság« r<--d!g a calculate illU (Te;;;.tő
lJX'8in<lex kiszimíl:Ísa) ,.;zö\--cgre. Miután módositouuk a Text lubjdonsjgot. a gonm
feHI'3t:i1 a Il'1\'ez6bert is meg\'~hozik.
El. után btwu$Unk al et..(i Te)[!Box ,'ezérl6re, arr:!, ;Imelyik a '{O\l~ heiqht (in in·
chen I , szö\"eg u~1n ~U, Módosil5\!k,. '-ezérl6 ID tulajdon:'Oágát height·ra. végill pedig
buintsunk,. rIllsodik T"'XtBox veztrl6re, és adjuk 10 tu"'~!!<1rutk a wight érlékd.
M;uú n megl"kin leuíik a'l: ASP.NET wd>old~ h egy tebz6legl"!i böngésl~, vessíink
egy piJI~ntiSl a böngé:5z6 <illal kapot! I n'ML rOt'T:Í.'lk6dl'll , ~n>elret ~ 9,4. péld:! mutal,
,. _ "ht tp" 1>NW ...1. orgi T~ Ixhl.llIO'l1)/ ~hl .. ll ,t ran81 t lona l ,dtd" ~
Az els6. amit észrevehetünk a 9.4 p{:kW):;lo. hogya " 'l."bes űrlap és ~ ,,'t'be:; .'ezbi6k
rl:I8>'jából ugyarl:lzt ~ I-ITM L,k6dot eredmblre~ k. mmt a 9,3. példáoon 'i3j;'it kezűleg
megín oldat El! azért örvcndcl:cs. men nekllnk az ASI',/I,'ET-fejlesn6knek 6 u ASP.NET
oIdl lt lekéf6 bOng(!sz6nek i:s ez 3 )egk~}'elJtlC"5ebb. lusa"" nem kell agg6dnunk
a I-ITM L,k6d miatL Egy~ttruen a'l: ASP.!'.'ET oIdalrJ hf<lhat]uk a ,,-cl>&< \<c7krl6h1. és
amI kor betöltjíl k U oldali ~ böngész6bc, az ASP_"''ET-motor a megfelelő I-ITM L--elemekké
~lakílja:il uob t. pontosan Ú8>-. Jhogy a böng(Q6v:irja
H-gOI, fig}'eljilk meg a 10. b 24 sor!);," kw <, ~put,. demeke'! EJ:ek az elemek
Iqeuek (~·ehe'!iilk. hog)" t~ ,cllemzőji.lk énéke tI1dde.~I. ami aZt,dcnli. hogy
nem ~k....... k m.-g a böngé'5zO"'fI. Ezek a TC'IIe'!1 < input.> demek a wc:bes alUp
Idte-p.,zr:.e-kor jönnek k'U'e. és at A..<'P 'ET-lHOlOIT1:lk smlgjlutnak ,nf~t
a '·l,,~.....I<)I:b kezdéséhez. \lűkÖ<b\ik pontOS i.~mene'!e.e $aj:n<:1:5 rullTlUul k6npilnk
ken1em
\t.'""!lOnk egy p,lIa ntisc ~ 99, ~hf"~r:o. IK'gy ;obl>:trL ,Jl(.'génht-'SSOk. po!llOSiln ml b lön~1
EJ::tz ;ibm:t BMIC41eulator. ~AP" oIdoll az ul:!n mUlalia. hogya mas:.l!;I<"g & a lests6!y
megad;ls.,ra .szolgáló sZ[>\'<'gflll"z6khen n~dtuk a 70 és 155 énekeke1. és Jl cikül<16
sombr~ luumlOltlmk.
A 9.9 ~bcln '" hOngész61 aZ \Íj IID1L-k6<J fog'wU ... utin látlulll'k. m;ljpl a k6d<x pedig
~ 9 5. pé\d:i.b;ln teltinthet,uk meg E.zre·..dle'lll'k, hog)' a 9A és a 9-'5 ptkb I ml1.-k6dja
SZInte uonos: az qo1!tlm Iu,o.'tdt az ~lenl.J. hogy a 9.5,pdda 15, b 11:1 ..or:iwn 1~t1\;ltó
< nput> eIt.-rnek. kU~k II 9,-i p&b:QOl105 soraib:Ulle...ő eIemdCt6I A k~";
1. 6ra· A _ _ ~. I 208
pflcUban az c:1c,,~knek '-an c:g"). VIIlu. &kkl.lk, alTl!:l~"'!"Iek Méke IIlq1eg)'e;W; a mc:gfc:-
lC:I6 SZÖ'\eg",eld>o; ín énekekke:! oisd '" 99. ~Irit). A Tc:xtBoll ''e~ ~Jlallektpeun
IrrMl-1tód !c:I,;j( m;is '" 9.5- példlban. nun! a 9.>1 p&Uban vuII .
....
o ... ·
- _.. '..-
O ~ . ' , ~-
•
,-
-of'!'
. ... ...
. - _ .. - ! [
"...... .- u.M:n
.:;;';;; ]
A U:tlU':It~ M~,*"*,,,
- <j'> •• - (",mJI. ,. fliJlíJldlr1* .,,:: .1rli>pol
9, <div,.
10, <InpUt type_ "h1drn"n' ' - 0 · . _ V1f:II."'l'ATf.· Id~ '_VIEIISTATI:'
_ ".1 u .... IWEPlMlLLTRlCNl'c2!ft"1 JOTlkZJ~~tIkPd::OZWq.2I!T)ftHUIfC'u)· ~
II, <Idl~
U,
ll. <dh,.
14, Your h<>i'1ht ln lncbo-.l
l~. < npUt _ . -heiqh'· typ.. "t.n· "alu_'70"
_ id.·hei~'" I><br j>-
16. <br I>
17, ",.,iqht lin pouoosl'
18, dnput na-."...,iIJht" tyV'l 'te"l" "alue . '15S·
_ Ido'wellJh" IHbr I>
19, <br J:..
dnpU' type.·Bubolt· _.·btr>Bul:na· v41u... ·CalCUlat. BHI'
_ Id.·btnSubait" i></div>
21,
2., <djv~
2l,
24, <h'put t~~·hld&u>· _.·~ALlOA.TION·
_ ldr· --tVENTVALlOA.TION· ..,41_· / ... ~"WBAUIILCltDg:KTi.PDXAO[ .. ,
_ DXAQLCi9ntAhP<:-H0<I9PA'V~6><un ""RNB. I~
25, <,dlv~<,fo~
2',
27.
<ib<)dy>
<'htal>
Nézzük ,'égig rl'szklesen, mi too('11I, hog)' jobban megénhessük, miért jön létre
nm IITML-k6d a TextBox vezl'rl6khöz az űrlap elküldése után (9.5, példa), mint
az elkl1ldb el6lt <9.4, pél<b)! El6ször is, "cgyilk észrc, hogy a TextBox wzérl6knek
\f'Jn CKY Text tulajdonságuk. Ha ennek a tulajdonságnak \f'JI~rnilycn &ték<.'l adunk ,
a '·ezérl6hö.z el6állitott HTMl·kM Inh lesz, mint hJ a lulajdon~gnak M-'rTlmilyen
érték." sem adnánk, Ha e'll a tul~jdonságot nem ~lHtiuk be. a TeXlHox "ezérl6 HTMl-
kódja e~zenJen ez lesz:
~input n",""T·A~lDTUhjdondg-tH,jke· type.·text·
_ id."AzIDTUl"jdons.t'g-l.:HIfI<e" I>
A 9.'1. példa 15. -SOT1oon példiul azt I~thatluk, hogy az eI~ .$<;övegme1A ID tul"~
g.1nak énéke h"ight, ami ezt a HTML-kódot eredményezi:
<input n ..... - ""ig-ht· typ<!!~-'- .. xt" idA·h"lght· I~
~k.,..:
w_I
--
"I " ..
9.10. ltbra
t~"",
)· m
_
A 9.6. pi/d".., liIhIt6 kód • ItSltÖmeglndlul -vv laIMI webft VM!16befl ir)I kl.
~t ~ 81: ASP.NET OIdaIUnkhO.! kel adoook. TtWJ; is ITIO$t meg, á adjIri
• vezé.rl6ouk '9v megfe1t16 l~nM:.et hogy megjelefl~hesJfil:. beme II Slárr4t.
eredményét A label vmt16r6181: ei6l6 óriban ulruhl,"\( rbzletesebben.
A PagA_LOad esenM.'nyk...zek:l teMt nem megfelel6 hely a 9.6. példában l:í.lh:u6 kód
S1.ámán. men azt szeretnénk. h~ 3 kód akkor futn:1 le, ~mikor a fclhas.zn~16 elkOldi
az t1rbpot, '"-'Ill pedig az oldal minden be!öI!l:sekor. Szcrel'lC$ére a Buuon n,rerl6nck
~~n egy Clkk eseménye. ami Jkkor fu! le. amikor ~ webe5 űrlapot cIkOldjök, !dú! ha
ennek az esemom)'J\ek azeseml:n)ke~ az ASP "ET okLIl fom'isk~hoz adjUk,
~ beleifJUk a 9.6. pékb kód';'l. a kód ,~n akkor kerül nu.jd sor. anukor
a ft'II\35ZfÚ1ó eIkOldi a"~ t1rbpot.
Ia. rMl' ~.dItOt ~ .. fe!doIpMl
ZlZ
to ..... _ ........
9.11."
.... . . .. .-..
" '<'gs6 8.IIICtJk""uo~'!S/lX
ASP.N ".,. "~I,,I az d$61x~6/1é">lIor
M()/;! írjunk be értéke ket" kél szÖ\·egmez6b e. 6; kattmtsun k II C,~ lculate BMI gomoo.
lb II szerzO: rna~g:lt l:!; tcst5Úly1t (70 hlhelyk és 155 font) adjuk meg. a 9.12. :lbr:l n
l:lthal6 eredmén}' kelj ka pnunk
. "" - ,-~--
0- · ,)
r __
• (Io_~
- -, - e
J
_.. •
•
......... .-t... J
I -- I
T_I>II.:I1=_ 9.12. 6brlI
Ji fdll<I<ZtIlJJd 1CS11<'Jm'Si ,,,k.u<o,'"
.~ ... .
~
" ws/dCllilési>
".~<>
, . eliildésakor hibaiilenItet kaPIri., ha pedig negativ ~t lI!kri; ~ I m.oas"o
és a testsúfv rnegIIettWozás6nál. a kisúmftntt tllttőmeglOOe)( is negativ mm lehet.
A 12. feJtllltben "Ini fo(lll.t. hnqyan Iel!&I eov kül6nlell8l webes vezér16 segltúgj-
vel biztositani, 00gY • felhasznil6 által megadlJtt adat mevfa1e16 !OrrMjU és I kiv,",
6rt~t~ n61tqyen.
ÖSSlAfoglalás
Ehbm n 6r1ban azt \lzs~I'\lk nq, hogy nuk..... t Id,,'\ ~ fdh~s.zniIól61 adatok:;,t
"!::'
g)'űltcni n ASP... ,,'cboIdabkon, Azzal kezdlúk. lJORY """g"merl<edlilnk alOkk~1
~ I nM L..... lemekkd. ,unely.,kre II felhllszruí16i ~datok 06.su:gplj!éséloez slük.'lég v,In;
~ UÖ\"cgm<";t6k. ;elöI6nqp:etek, dla~zt6gombok k Io:nyll6 U$lák: ~inpUt. elemeil'el,
111eI\"II~;o. dora> demmd, amelrbcn az dnput> elemeket d kell hclyc.'1J1unk, vabnunl
az e1kOId6 gombhll
AZ ASI'SET " ..ebokbbkon nem kell !or6dmJnk az emJj\('1t IITMl","-·iemck $1..1 keLlI
bcir,bha!. FJoelyeu el('"8. lu a megfelelő ,,'ebes \".,Zlffi6kec haszn;;IJUk. pdditul a 'lŐ
l'egmez61: megjoelenil6 TenBox ''e~, a ;e1ö1ónég)"ZeIekhez haszn:íllul6 Ch«kBox
n:rerl6t, h igy to\'Jbb, AhlK>l. hogy a fe1l1.~smJIÓl61 ~dllQkat ki-rhes.$tink, ezeket
~ velérl6kct egy wcbes {lrbpoo kell elhdyeznilnk A wdléS OrlJp a~ ilrl.. p<}k wC'lJoc$
\"elérl6je. amelynek formija a ko..·etkez6:
"I f '
II \.w;ol Web De....o\opet" aUlOnYltkus:In bcirp ~ ..-ebb \'ezeM k&!Pl amikor k'lreho..
:n mk eg}' UI ASP.!\'ET ,,·eboIdall "felha;.zJÚIói adaluk t\!<w'~\Í~és8le~ S;Zil~..", ...·ebes
\-cz6'[('lkOn khiJla ...dIeS \lr1aphu~ egy Hullan \w.í-r161 iS kell ~dnunk." IkJnon \"e~
b6Ilek4'er.é5kor egy elkillU6 gomb jón létre .•unel>"re kattmtVll elküldjük ~l OrlapOlI, t:5
~IOUSl l.a~unk \',:.gre, lb azt~. ~ II k6dunk minOC'I'l alk~l(}mm;11
~h;l;ódJon. ;Imikorelku~k a webes t1rlapol. heI)"ezrtik a kóda aBunon ,'elbi6
U.t ~yk~, el ieIt ucllléuykezd15t ug)' ...Jb:,alUnk az ASP,!\U ...-dJoI-
cbllloL hos>. eg}'.szc:rikn duplin kattintunk a ,~ K'f\cdl ~
\kl<st, I~· I:llluk. 1108)·~n h-pes egy ASI',r..U o!cbl ad:lloo! lO"iIjteni II fC'lh:m:n:ilólól
t:5 mO\-detekel \'~gcT.ni a~ aduokk:d, készen állunk amt. hogy 1Ilaposabl:l'.l.n IS mell·
\"iug..iljuk 3z aduok .-....szegytllté'lére szolgál6 ...ebe \'cll-rl6kc.-t. A kÖ\'Clkczl:lór.lban
II TClUBox \'elfrl6re OM~pontOliilU"k. m:lfd nqnEuilk dZ! IS, hugYlIn kérhClilnk
lId:llokal II felllaSZf);Í1óI6I1I DropOownUsl, II IbdioBunon es a CheckBoJt \"e~'f\6k
$Cgi~
214 1U. . . . rwllll.zII6I6i Idatok ~" feIdoIgGmn
Kérdezz-felelek
K: EJ6fordu/. hosJ' amibor "&)' iiriapolllH"t"lm"zó ,,"clJoldllll üjmUJ/ldIla Wugész6-
OC·II. " • 7his fK'SC c",mot be nfrcshctl wil/rout res4md/llg the fon" j,tjorrrnl/ioll"
(Az oIdIIIIlern frissít/'C/6 fiZ 17rla/Xu1fJ/ok Iljrnkl7ld~ m.'Ik!71) mRl''' 71/e page
,o111""15 ros7DATA Do you 11'(1111 to n:frcsh? (Az oIdIII PQST-<:/dmokllllllrtal-
mflZ. Ki,.áll frlssilClI/?) Ilzl!1l<'t jele/I/k meg. Mil jelcfllc"ek ezek az rlzclletek!
v: Emlékeuúnk 3rr.1. hogy ~ tITMlrI1rlapok kétféleképpen adhatják 11.:u frtékekC't:
1ek~ karakterUncon vagy:1 I'ost HTTP-fejl&eken k...~1. Vl<;''i>".acsatoló
url~p e5C1ffi a I ITML--I1rup 3 !'ost HTIl'-fcjlécekct használja, é; a~ urlap'x
ugyanarra az L'Rl.-re kükli d. amdyr6l sz.~rrnazik. (Ha fel szeretnénk fri,;.siteni
az cmJ(,kc:-rnket II \'JSSZacsa!oI6 Urlapokról. bpcu.zunk v~ a 9.4, ~bri.hol..)
Anukor :1rr~ kérjilk :I IXlng{-szónket, hogy frissi!Se a weboldah. miut:ln elküldtünk
egy visszacsnoló l1rbpot, a böngész6 ~m tudja. hogy újra el szeretnénk...,
kilkleni a webolda!t 3 I'ost HTTP-fej\écekkel"grau,.::zfrt megkérdezi. hog)' újr~
el ki\"!injuk--e küldeni a7, úrlap:!d:noK:n.
lIgy:lI\Czt rlg)'elheq(ik meg, amikor a Back (V~) gombrJ kauintva egy olyan
oldalra szeretnénk visszatlTni. amelyet vw;~toJjson k...'fe:SztOl kértOnk le
K: .Hím L"isszacsalolást alkalmaz.mk az ASP.NliT u~>/Jcs itrl<lpj<lI? Mi<'rI nf:lll
irlwyflják ál afellltlSZt/IiIÓl egy mlisik oldalm 'Vl8>' arljúk ál (IZ atMloktl1
egy lebifrtkz6 Qlln.klerllincban?
lJ:. Annak. hogy az A.'WNlT wdx"S ,ilbpj:li ,'cm mh m6dszen :l.lkalmazn:Uc.tlólne1ll
visszacsalolisl., több OlGI is van. A k.ogforuosabb. hogy:l. "iSj~tol6 úrbpok
IchetcWlIleszik:lZ ASP,mT webes ,·ezér/6inek. hogy mcg6rizzék n ~1I3potukal
a vÍ$SZ.!Ioa.tollsok kÖZÖlt. EmlékeUilnk vi$Z:l., hogyamikor:l. felh.asznál6l:t1ékct
ír (.'g)' TextÜOJ( "ZÖ\·~'gll)ez6be. é:s elküldi:l.z urlapot.,:lZ ASI' J\TI okbl Cijr;ltöhó-
dik. dc a TextBox vczérlő Text IUla~ga arr~ az &ték", f"","iil. ~mit a feUlasz-
n1I6 beín, Ahhoz, hogy ~'Z megtörténhC5llC:ll. :I. wel:>e:'l úrtrpna k UIDöln:lzt az oId11t
kell betöltenie, nunt amelyik a TextBox vcrert61 tartatmaU3. (Annak hosszabb
kifejt6ére. hogy mlh1. ebben a köny.·ben nincs lehet~nk.)
A ~ IfIll'--fejlé<;ekel. a wet.es l1rlapok a;:ffi részesílik cl6oyl:>e11 a lekmJez6
kar:akterljncokka15zcmben. men spkr:a.n naSY mennriségtl adatOl kell elkükft.>ni,
Esre> régebbi böngé:szGc korl"tomk a lekérdező kar:akl~'rI:lnrokban clkilldhetó
adattnennyi5égel..
9. n . A wtbn llrlIPOt IIIpjli 1215
Ismét16 kérdések
l, Mik a legfontosabb kalOnbségek a GET és ~ POST ETt~kre ;ilIItol( """tho<!
jellemz6jtlllrbpok köZÖlt?
2. Te8tiik fel. hogy n 3Ubbi lekén:lez6 kar~kl"rI:íncot Uljuk
Válaszok
l. A GET ertekre ~Uítou mathod ",lIern/mel biró Ilrlapok:l beirt ad:llokal egy leker-
dez6 karaktaUnoon keresztűl tov~bbitpk, mig a POS1' módsze" haswil6k POM
HTI1>-fejléccken kM"SZlúl. Amikor lekérdez6 kar:okt"';ánd>an adunk át adatokat.
a k:m.kterlánc megjelenik a böngésző cimS<'ivjjoon (lh<:1 ~ 9.3, ~br.1(). mig a 1'osI
l"frJl'-fejlé<:ek haswjla'" esctén az adato k reJI"e m:lf:KIn~k. Az ASPNIo'1;\'e'bes
tlrlappi:l POlI HlTP-fejlé<:ekt."l hawúljjk n úrl.apad.tok dkUld&ére.
2. Mivel azadat0lc31 egy lek<'rde-ző karakterl.1= tO\. .;'ibbítp. nyil\-:invaló. hogy
aZ ílrlap methO<'l jellemz6jt!t GE'I'-re ~II itOlL1k A Iekérdcz6 kar:>k1erlánc Ml:kei
alawn n is megállap(thuó, hogy az Grlapon h~rom ,""z6 t:l1~lhat6, amel)'ek
rte\'e SSN, agI! és qender, ~-a!amlnl hogy 3 relhaszn~ló az 123-45-6789. a 2~ 6;
az M M('keket adta meg ezek sclmára.
3. A vÍllWtOlatol6llrb]X>k method jeUemz6j&en 3 POST 6t(,ket Clláljuk. 6;:lZ
aerion jel~kben Ug)"n:lll ali URL-ladj:lk lneg. mint :ilmi 3Z iirlapot
Clnalnuwoldal cime 15. \'ag)'is ha az Oldall.asp>: nt......u webokbl egy visszae>a·
tol6llrl~pot ClrtalmaZ, az Ilrlap act ion jt'1\emz6jb>ek fnl'ke is Oldal l . aat»< len.
Az ~tir.lnyít6 tlrlapok action iellemz6je másik URL-re mUlat, nem az tlrlapot tar-
talmawokbl dmére. Vagyis h:! at Oldalt.up,. n<MI ...'chokL1! <'gy itir.lnyító
tlrlapot lartalmaz, a~ Ilrlap action jellemz6jl:nek ETtéke egy má5ik oldal URL-je.
például Old<o12. a!lp>: 1e5z.
(Ha fcl.'ZCTetntnk fri5l>(leni aZ emlfkelnkct 3 \i5I>zacsato16 és aZ ~!lrnnyíI6
ílrl.apok közötti kúlönbségekn'íl. 13pozzunk vis..qa a 9.4. 1ibr.lhol)
4. Az AS P.NET webes Ilrlapjai vissucsatoló Ilrlapokat haszn11nak
216 Ill ráz • f.tJazn6l6i adatok ~ " fvl1oIgn+'
Gyakorlatok
FJlhez az órához nem IOInoZtlak gyakorlatok A "ebe; ílrlapok önmagukban
meglehet6scn haszonl:llanok, Ahhoz, hogy hasznosd tegyük 6kec, oly~n welx-s
,'eu,rl6ket kell hozz::iluk adnunk, amelyeket a fdh~szml6í ad:llok Ö5SZCg)'\ljl6ére
I.. rv.. ztek II kövak .. 7./1 (ei"~l'lbcn Ulni fogjuk, hog)'an haszrulhatjuk a Te-xlBox
,'e-Zérl61 felhaszn~l6i ae,l:uok gyujl~re, és aZ 6,..~ v~grn több fdadalot is adunk,
hogy grakorolh:l~,k a ,vd>es iJrbpok haszn~I~I.:ÍI,
10. ÓRA
Adatgyűjtés szövegmezőkkel
A 1('(;.., tar1almábó/:
Az el6z6 6cloo.n p6dak('nt egy oIpn A.~PNl:." okblt k'::-szilcuünk el, amely II lesttömeg-
mc!e,;e\ ~1mJ!ia ki. Ezen II weboldalon a rclh:lszn~lóru1k k(1 ad:uOl kellen megadnia:
II ma~gál és II I~ÚJyát. A7- adatok bcirá$:l1'1l két Te;ttBox vezfrl6 szolg1lt.
218 Iu. rW ' ~ lI!IBtOt ~ .. f""''9'"
A TeJ<tBox veZédór: akkor hasm~liuko ha fdhasznjl6 1ltal hevitt adatokra ,Oan szüksé·
günko A szövegmezők n oly:"., ad:uok megadá.s:ira Ide~lis;Jko mint II lilogat6 neve o
lt'vt"'kíme vagy hitdkárty.l5zámao
Kezdjük azzal. IlOgy )&rel101;Unk egy Te)ltBoxP~II"t ice. upx n",i1 úi ASPoNET oldlh.
Az oldalon k~ Text!J.ox \Oez~rlór: fogunk clhclyemi, hogy" re1haszrd!6t61 bek"rjílnk
k(,t a<latO!: a nev{'"! és az élerkcm'il.
El6ször írjuk be a te ....oez6bcn az első szövegrnez6 elé 51Jnt fe1irJtO!: Your n ...... :
(Az Ön net."e,)o n\:ljd húzzunk egy TextBox veztrl61 a Toolbox p:lleu:1r61 aZ okl:ll l':l o
E~t kÖ\°~1lIen illUk be az elsó mez6 alá a Your "ge: (Az On életkomJ szID-egeto és
e mögé is húzzunk egy T<'l<lBox vezérl6to \-<"'gOl o ahogy minden webe>; űrlap ~ében,
$ZÚkség(lnk lesz egy Huuon vezérl6re HelyezzOnk el tehát egy gom\xl{ is a k(,t szID'es·
mező alau.
A 10, I, ábr:\n Iáth;IlIUk. hogyan f~ az oldala Idrom vt'l.eno: hQuhdlS3 ut.ln II \isual
Web Dc:'.. eloperbcn. [lIen6nnuk. h~' II sal'il k~'m)"6nkön is ug)"Jnl:zt 1:iIJuk-e,
- - "'o
.......
-
IG.!, *"
A% oldal '" Itff Sl'6oq/""'*'" II '"10""0 ~ uM"
Mos! pedig be kell ~Ilitlnunk a lúrom "ezérl6 tula~g:lit. A kél. TextBoJC 'C:ll-rll'lnek
ITIOeIl cs:.ok az ID lubjdoll&llf't adjuk meg (a fejezetben k~:u r6z1eI~ rnegnél7.uk
II SlŐ\egrnez6k tul:rjdoo~8"il). II Huuon ,...,7.érlő esetében pedig az ID é.~ a TeXt lulaj-
donslgoak adunk Méh1 Em)(:kc:zheWnk ri. hogy:ol Bunon '-elérl6 Text luL.J<lons;lga
hat.lrozz:l meg. hogy trul)"eIl5zön's,e\mik meg II gombon.
l(ezdjOk az els6 TextBox vezbt6...eI, ;\-h,-ej el.Ibe'l kdl maid tögzílenOnk a fclllaszn~16
M'\'..... ~'eIl az a~ (IO) ..... (~). A tul;a~g bdlliI.lsjhm kÖ\'C$$ilk
az aUbbi Iq,esekel'
tR).nczt az eli:ir~ kell meg:1.SIl'II:1clnunk II ~,k ....~ ,'u6i6 es<.1rl>m 1$. ÓL'
ann;Lk ID tulajdon5;:ipl ~Iliuuk .1Ie-~ (~letkorJ
"
l, <htal
~,
"",,11l8~ "http,llwww ... 3. Of"lj 119~~ Ixhtal' >
<head><tltla>
5, Untitled P.. g~
6, <ltltl.></h~a~>
7, <bc><ly>
8, <fonn I>aIDI>' • fona.l' "".. bod, ·pon· .. ct! ony ·T1o;x tBcx Pract ice . aspx'
_ Id.'ro".I',.
•
10, dnput type c' hidden· n""",.·_VIEWSTA1'E· l<l.'_VIEWSTATl'!·
_ va lue= ' /wEPDwULLTEXNTc2NTI JOTlkZMIWuARZnpdka'ivVBucrgXkPl!P I T· I>
ll, <'<liv>
",
ll, <<liv>
H, Your no_,
15, dnput ",,*,. ' na/ae' typ... ·text · id=·name ' I>
16, <br I>
11, Your a~e,
18, dnput _=oag,,' type='te ~ t' ;d~'age' I>
19, <bJ:" I><br I>
", <input type"sul::mlt·
_ i<l,·btnSul>l.lt· I>
....-~·btnSul::mlt · v.. lu,,~ · Clic k Me'
21 : </div;>
22,
23, <dlv>
2~ ,
A11Og)' n cl6z6 k,<,:k(-!)cn latruk, a BUIIOfl \'CzéM Cllek <.'serntrlyd\Cz igen eg)"wmr
houhdni egy e5I.'1lltnykezelól. C5ak <lupUn keU kattlfll:lonunk:l gombr-J 1~Z(! nézet-
ben, de az! i.5 megtellCljllk, hogy fOll"h IlÓ'zi."tben felül kJ\"~b~JUk ll. Butlon ve~ ll. bal
okbli, k a <:':1.1'.'''- e>cmén}1 a jobb oldali lenyíló hstib61. fUnndpk megO:OId1St ,-;tl:w;quk
i!.. automatikusan J;:u-ejön az escmtrlrkezdő \"~1.3. amel)'hez hoU:l:IdmljUk a lo1:ü~
kódot. Most lel1.:it azt ken eIdönt('llilnk, mil akarunk kezdeni a felhas2náló ~ltll nll.'gadott
adI1okk::tlaz űrlap elkllkl6e után. I'ddlnldxm aZ ASP.NEl" oldll csak annyi fOS tenni,
hogy me-gjclenill :I Idhaszrill6 ~Jtal mcg;odott :«blool J böngés7tiben, mégpedig egy
L:lbeI\"cztri6ben
~ tdút adlUnk C'g}'l:obel "c2érl6c II T.. xtBoxPTa,", ice, up" okbJhm- A címke
Wrhc)\"1 kmJlhet a ImtL rtszben. de hól ponlosm r.zeretné!nk kÖ\etni:lZ iti leirukal.
-_ ..
helre2.2Űk azt ~ Hunon \'ezérl6 aU
10.3. 6bnt
... Th:alJa:d'm<;"".mpx oldal" hibri ,1a1."rl6 hozz<i<l<kl>t• ..",,,
A 8, rti<"=b6I emJ(,kczhetflnk d. hogy ubd,~ úgy adh:llullk ~ 1egeg)'SzeI11bben
al oldalhoz. ha J TooIllOlt poilenár61. r.ihúllUk. f-hul:in eZ! meglcuük, ~llil'>Uk a .-czéri6
ID tulaidom;;lg:lt ruu l t .·ra (en:dmeny). és töröljük a Text, tulajdon'\.lg &tékt:t
A 103. lbcln Ulhaquk. hog)"an f~ az oldd !<:T\'ez6 nl:zetbffi a dmke hozodadis:. CS
lulaJ<ions;is;...n:lk bo:~ll;I.;>SóI utin.
KI! szere'""*. nyugodtan megtehttJíik alt IS. hogy briItfUI;.' ,It" cirra....
. . . . ~ •.•, ... j.t.tínbl1lll_1 I ét~(I1IJ.nék·
SZOnk "- ~ lIAjdOnS.6g péId6uI. r. nt, . SackColor 'l1li'/'. rorer _ ,r.I
'kN. hog)' az okblhol :Kkuk a blJcl v~. írjuk mo.-g ~ kódot a ijunon ''C'1.trl6 ellek
e""ményénck esó.-ménykezela;.:,lleZ. A I O,~, p&W"," bthJ.\juk, hogy:I.n kdl fCS{C'flie
az ASI'.NET oldal f~ód rfszl'nek. miul:in a Rilks<-ge'l kódol a g<>ndl Cl ick ~-rnt-ny'
kezcl6jéhe-z 3d1uk c..:.k az 5, és a 6. 5()11 kell ~nkn;lk heimunk, a \'isu;r,1 \lieb
De>-eIoper az ÖS5Ze51tJbbn dk&zlti :I ~munkr.l.
.
}, Parti.l Cl . . . Te><tBoxP.-actlee
,,
2, Inherit. l1y.t_.W~b.UI.Pa\le
,.,"
_ SY_t_. Ev .. nt"'r-a~l Handl ... btn8ul:e.lt .CI1ek
r •• ula.T""'t ·Hello.·' _,Text
r •• uIU,""'t ~~ '. You ar. " , ."'".'I'1!xt , " y .... r. old."
,
S, D>d Cl'-••
~
0-'0
v'
...... - --
.:~.
, .~"
10.4. "
AjeIhasvWW .... ",...~..... =.hr-
10. (n - ~ ...... ,w6kUl I 223
A 10.4. ~bt:in Jathallo.lk, hogyan reSt a Text BoxPracüce .... Spx okbl II böngész.6ben.
A kfpcrny6kép nt kÖ'o'ctőcn k(;szüh, hogya felhaszniJ6 Ix-irt a ne\"& és:tz Hc,koot,
majd elküld,e az űrlapot a ClJc k Ke gond)f1l kalllnt\"J
Ké$Zil.Sl1nk Ici! egy ASP.l\'F.T oldalt egy löbl.>roros SZÖ\'"g~z6v"I! El6ször hozzunk l(,t,.,
"IlY úi ASP.:-'U oldalt M"ltiLineTextBox.llapx név"n, majd írjuk be a km·etk"ző
szö"eget a !er.ez6ben a webes űrlapon belOIre, Share 'r'our 1'houqhtQ: (~meg
velünk a v{,lernényéü
A 10.5. ~br:l a Visual Web ])ev*,lopen mutatp 3 fenli lépé:sek végreru..Jlása ul~n .
--- - 10.5.6tn
,-.. ..... , "J1}/JbSOrO$ ~>:/!"'.-.d"
""'Rfekr"/;;'"
GyakorIHl;éppen kiegészíttletjiik 8 Mu l t i Line'l'extBox. ~spx ~okIalt
egy 90mbbal H némi kóddal a gomb cl iek eseménykel&lój~ben. Egyei6fa elég.
lia a k6d csal:. megjeleníti a fellasmiló illaI beírt $lÖveget.
A két m6dszer kőZÖlt az ~ kiilŐllbség, hogy ru. " Heil/ht (is Width tulajdons:lgokat
adjuk meg, a szö"egmelÓ pontosan ez e tulajdonságok ~It:ll meghatarowlt méretben
jelenik meg a felhasználó böng<:"Sz6jl-ben, IiJ.ggedenül a SZŐv<--gnwz<'ib(.'n haszn.ilt
benlmheu61 (Vagyis ak:ír nagy. ak~r k,Q;i b<-1űk<-'I. használunk. a szö"<'gmez6 ml'rcte
nem v1ltotik.) Euel w.emben a Colwnna és Rowa tulaJdons:ígok megacJj"'"1kor a lém,'-
p,,6 szö"<--gmez6 mérete a mez6 bculm<"'IlM~hel igazodik, vagyis az o:;zlopok ts sorok
wma mimIIg azonos m:uad. Ez(,n. ha nagyobb belűkC! használunk, a szÖ\cgmez6
nagyobb !es]" mintlu kil; bC!űkC! alk"lmnn~nk
A jolsz6mez6k h8S2!1álata
Sok wcbalkalrnaZás egy fiók létrchoz:ís:lt köveIeli meg a fellu5Lf\i){:(61. mie16n 37. 19ény-
be veJK~né a "·ebhcly swJgiltatisait, vagy a núr lélrehozou ft6ldxt v316 be;t:!entkezé5t
igffiyli. A HounaiLrom-on péld.1uJ csak úgy inlézhC!j(Ik a levelezé:sílnkel, ru. cl6bb beje_
lentkeronk II fclhaszn116ne-.iinkkel b ielsza"unkkal.
10.6.6In
ti j(!iS1::(mrez5 tlJcána a fdhasvJáló állal be", .U!U"St'f
A két szövegmeUl ut::in az oldalhoz kell adnunk egy Bunon "ezM6t is. amelynek Text
lulajdons,Ógit !.oQin-re ( Bel"lentkezés) állfljuk Ha a remi I~seket vég ..... hajtOltl' k.
II képcmy6nkön:1.Z( kelll.1tnunk, m;nt a 10.7. :lbr.ln.
"''''
'··.OIolI
_ _-- ""-_
... ...
." --'"...
- ., ."
,"".,. , -
..,/i!",O'"-• ~.
_ __ _ o
.
!'...
---- , 10.7.6tn
Az ASn;/;7 u ..obokkd
lI& Te>:t1Jo>; es~' Blillon
.~ IUr/aI_lZ
A jelsz6mezők a ",eboIdalakon nliha nem úgy viselkednek. ahogy v:irn:ínk. II finom ...•
go!< ~;remléltetéséhez teklnl.Sűk meg II PassW<lrd'l'ext80x. aspx oldalt II böngbz6nk·
ben. IImtkor először tőltjilk be aZ oId,]t, írjunk VlllamiJyen szövegel II felhasznil6név
és a jelsw megad:l ... rn szolgiló mcz6kbe. Megfigyelhetjilk. hogy az első mero
(a felh:l5w:llónév mez6je) úgy viselkedik, mim egy no~1 S7.övesmező. a jelsz6mcz6
azonban ~ill~gokkal rejli el ~ beviu szövegel. A 10.8. ~br:1n 11thatJuk. hogyan fesl
a PauwcrdTllxtBcx .aapx ASP.NET oldal a böng6z6ben. miut:!n mindkét mez6bto
beirll'nk valamilyen énékel.
Miut:in adatokat adtunk meg a két SZÖ',·egmez6ben. kiildjük el az űrlapot a Login gombr~
kamnlVll . Mive! a webes űrlapok (ahogy az d&ő leckében megunultuk) visszllcs:1tol6
űrlapok, az űrlapot tanalm:.o.zó oIcbl töltődik be ujrn. Az oId:t1 újralöltc!sekor azonban
a jeLszómez6be írt szl,.,.eg eltűnik ahogy a 10.9. 1bcln is I:Ithatjuk. (A ("UJaSZn.116oév
lTlez6íében levő szöveg viszont megmarad,)
lo.6ta.~~hl ! 221
...... _
'H' __ "_"_""
...... .....
..
)
-- l0.8. 1ibn
"". in .ml<"li'
A ,",.-,",......
~ Jitl'fllW 1MB
lIdVhf
-
-""- 10.i . 1ibn
"mlJJortn ,lrlopol ~ft1'.
DZ "JmJ6/IcJJIor tI}lúd' »9.>t II
,...". S-rot"li' tIffl.. l/t
\1ié'n trulrJd meg a f('lha:szOO~ 1llt'Z6jébe beín g.ö\t'g, b mil:" tO"nik el;i jclsz6mc:z6-
hen ""-v6' !'.ml-'kezz(Jnlc ViSS:c.1 aImkor a gombrn k.:Iu;n~unk, es .,lkGldjíik aZ ,1r1apot
J fdhaSUÚ:1ó ál12! ~ ~'egrnel6khe rn ad:uokk::II,::IZ ad:llok ~ Paasword'l"ellt80K.UpK
ASP"''', okblhoz keríilndl ,'iMZ:!, Amikor ~ P" •• "",~dTeKtBox,.5VX ASI>,~I:.' okIalr~
ir~n),,16 kfrdem meg'::n«:Zlk 3 "--ebki.szolplóhot.::IZ meghi,"p az ASP~'1:1"-motorI.
3me1ynek ek'I kell iDiI:lOJa 3 megfdelo'll IDIL-ktmendct Az. ASPSET-moIIor nqilbpil;:'.
hogy az okbl ,i.ssUc5:;I~oI:lsI: keulemL"fI}'t'ze«, 61. ~ hi T6\Bm: n ,·:rert05 -r-t lula,don·
s.igjl ~ feU\."lS7.rilló ilii bein é'nl'kre "IhIp
;I stlmit6géJ*t6l, hogy ig}'Qn egy lX'hár vizel, egy ~tUst.111n munkatolrs:l.uk let"-'l6sége
nyílik r:i, hogy megtekintI;<: a wel.>bön~ :ilml kapott tn"ML-k6dot lia ebb"n = ...
pelne 3 tet"zórnez6 '!'ext tulaj<k>nsága." kövClkez6 I{)"ML·kód tlruJrut a kí0.ncsi~kodó
~>:t-'fllC eI~,
A munk~11rs tcMt lJinoklba julna ,. jebtón:lk - ezt ak:!iliJyo>:za meg. hogy a PoIIsloKcd
értékre ~llitOll 'l'extMode tuJajdonsággal rendel kel':; 'l"extBOx ,"C~érlók Text
Nla~ga nem jek'flik meg a kimenaben
Úgy havonta egySlllf mindig akad ~alaki. aki valam&lyil AS~NET hlrcsoportban
felteszi a követkelÖ kérdést .Mi az oI:,a amat hogy am_or befllítol egy je/slót
egy TaxiSox vezétlá Text tulajdons,ágllbllll. az nem jeleník meg. amil:;or az oldak
egy böngészőben nézam mag?" Most mát tudjuk a vélaszt.
""""" .
Szereocs&e meg~dh:lliuk. h::;ny ""2lop 5*I~gú leg)"en a uövegmez6, mégpedig
a TextlJox: vezérl6 Co l UIIOI'I8 tulajdonságinak beállít~sival. "'z emlilC!! Nlajdonsig
működésének v.emléllCleséhcz nrissuk meg a '!'e><tBo>< Prect iee.upx ASP.l\'ET
oIdJh. amelyet a lecke els6 péld::íjátxm készílettünk el (Iá$<! 3 10.01. ~bclÚ, és rn6cIosit-
suk az életkor megadís.'ir~ szolgáló szÖvegmez6 ColUllll'ls rulajdonságit. hogya mcz6
megfelelő nagy53gu legyen_ Ehhez btuntsunk az emliteu TexlBox \'cz&l6re, hogy
a tulajdonságai rncgjdcnjenek II I'roperties ablakban, majd állítsuk a tulajdons;isOl
a 3 éltékre,
~~,..._
" -._-_ w;t
... _--".
,--
.... "-
...""'", •
- 10.10. iIbra
Az ogeUl'k<'gma6
három OaJOP szt/cs
EZ:il fÖ\'idl'bb szövegmez6 jobban megfelel aZ igényeinknek. mim II 10A, ábrán l~tOU
hosszabb mez6.
A mi$odik ok, hogy n clioty-l>e~ hasonló .... d,hdyck ad:lIbMisokb:m 1:ImlFik a fclha.z-
n.116k ilul henu infOl'Tllid6k,u, ndrpedig.;-gy a~bth:lotis fd.1l1itls:okor előre nlcg kell
",dni '" .Wvegmc~bc beírható karakterek wlndt, Az. .. Bay webheLt)-'eI kapoobtban
emIÍ1~'f( k()fÜloti$ld~1 ",Zért léteZIk. men al eBói}" adatb:5.Zis:inak tJhUlIte1\'fi:6k e~
a korlllozá51 l:I/1Ou:.lk srii~ 8etbe Ié~etni (Az.:i<brl:QmoI< ~h()U$h",,1 r:.
llaSZn<lb"".,.1 a könp' kes.:öbi n':sztben. ~ II f~,.,~ll'iI kezdo.-e fogblkomnk.)
AhU:I6~~.~.~tb ~
~~ tehM til • ~ 1*11 ga-antiijl. hogy • 1e1'1a1zn616 által
bIírt lI1f0rm6a6t~wgeseq 1*11 hosmbb .lC.oxr-qth ~ mepIottnál.
A 12. /etel'Itben l6tnI foo;p, hOgYIn 1llerl6nzhtt;A. hogy • ~ ~ nem
Mott.. meg. meg/latérozollrWl tőbb ka-Ittert egy a6att smvegmez6ben.
A i'!lIX1.·mglh lUIajdOnÚg 8lIIf111vii1 euk til ~OS SZÖV1IOmtz6k ts. telSlÓmez6k
esetében mCtI:.6<fik. Ha eqv TutSox verifk'l T .. xtMod .. tulajdons'o" Hu l t i Line-rtt
61íljUk.. fekIOIOOlÓ rtgVelmen ~1ViiI haov~ I i'!lIxLengtb tIUJdonÚ!IOl KeriiI6 m6doo
• tőbblOlOS szöveomez6kben is korI6tozhetó. beírII8tÓ ka-. . . aámIt, diR
til ASP.NET lIIn6mI vez6i ...... IlaszMlltit ~, . . csak. 12. ófht drgYaIjUt,
Esztétikai tulajdonságok - a szövogmez6 betútfpusénak és
szfneinek beállftása
II l.:Ibel "CK'fl6oéI I.!iltunk mir néh~ny OI~W1 esztétikai luL1jdons:igol, mint II B<lckColor.
a ForeColor \!;lg)' a Font. A a. fL~zl1ben rnegviZ5~ltuk ezeket II ml:.jdonságok:ll, meg-
néViik, hogyan adh:ll6k meg. illefve hogy milyen hatlssal '-~nnak II !..:Ibel vezér\6ben
megjeleniten W'lvcgre. II TenBox vezérlő pomosan ugyanazokkal" megjcleníté>i
lulajdorWgokkaJ bir. mint a l:IbcL EzckCl3 tulajcloru;ágok:u a 10.1. ~bUzalban foglJltuk
"""
Ilo:aunk Ikre egy új ASPXIo"T wcboldalt Pret t yTextBox . aspx n[·"e". amelyhez
néh~ny 51.övcgmcz6( fogunk adm. hogy m"gvizsgiljuk a kQlönbllzl'l o:5Z1étikaltul:1f-
dom;ágok hatás:iL Az ASP,NET oldalhoz tehát a létrehozá5<l ltdn adjunk két TextBo:o:
\'ezcrtót II tcr...... ZÓben II Toolbox palcnárol.
A 10.11, 1bdn láthaljuk, hogyan fest ~ Visual \\"cb Developer képerny6jc, miu~n bd]-
HIOIIuk 3 fenti lulajdon:;ágokal, (A fekete-fehér jlxán sajn06 egyes súnkülönl;>';égek
"alfuzím11cg nem lilSUnJk túl jól,)
""~'
"'... ·~W
- _-
....." .. ..........""
~ "'~.~
.. 4 - "
'.'~" """
-
--~
. -... _._ ..
.----_. __ ...
~
10.11. jtn
Mi"dllt<l $%ÓO .~""""",,*
._. ...... • !>!i' bMllilOll"lI .u'htl"l' <=1<'Iillal
lalaj</otlsdg;lt
MOS! s:clnjunk r.I egy pcrcet. és n~zzOk mcg a Pr"~ ty'l'extBox. ""P>< ASP.~ oldalt
a böngész6nkbcn is. Il:! n oldal betöh6dölI, Íf]unk valamilren s~'egt.'t a m5sodik
szö'-egmez6bc, és figyeljűk meg, hogy 3Z nagy vörös eomjc Sans MS bellJkkel jdt:nik
meg. A 10,12. :\brin bthatJuk, hogyan fest II pretty"l'ex tllox ,.,spx oldll az Interrn.1
li.xplorerbcn.
Sajnos a TextBox \'ezér16 eszt~tika; tula~g3 i csak a fejlett böng(;szókben ." ._'íln>é-
nyeznek l:ltll:l\6 hamst, ''<!gyis ha 3 Pret tyT"xt llox . .,sp x oldalt egy régi böngész6bcn
tekintjük meg. csak két egy$Z"nl $ZÖ\-egnJeZ6 felcnik meg. ahogy II 10.13. ;\brin b
láthatjuk.
10.13. tibni
ti I-'rctlyTerr/Jox,aspx oldal
a Netscape 4.0-ba"
Összefoglalás I
Ebben a leck8>en 3 felll35ZrciJói adatok gyűjtbére na'iVL1bto:; web<::!; ve~ közül
az eroik leggyakr~bban hasz;nált veZérlőI mutattuk be: a Tex\Box veztrl6l. A T~Box
"e~biőve11úromféle növegmeztic hoz/utunk Iéire: egysoros és löbbsoro1l szövegmez61.
íHt.'Ivc jelsz6rnez6f. A Ieképezend(5 szövegmewtípusát a T""tMOde ml~ido~l!g::il
hallirozhatjuk meg.
Kérdm-felelek
K: F&.J' oIJWII ~"8"I('z6t u('rewéb létrehozni, (Imelyafi!lll&Zllá1ólmak
csak <'8.)' Ql/Q(llfpllSli /x>metWtef e''8<,<Ié/yez. péld/ml csak számok bl.'irú$A1
Hog;~m t'U/ósrllj(~IÓ Illeg ez?
V: Az cl6z6lttke 1es!IÖfnCgindcx·kiwmíló pékU~ban a felhasznil6nak a magas-
~~l és a lest:súly;jt kelletI megadnia, amelyek nyilv:invalOOn ~:cl!IlSZen1 ad1tok
kdl1egyenek. Láthattuk. hogy tu a felhasznM6 Icst5úlykénl nl írp be. hogy
r.-ed, a program nem tud mil kezdeni '·cle.
A fentiek f('J1~'ében felltl(,'Tillhel. hogy az idcllis megoldis nyildn az, hogy
<:gy oIy:m szövegmezl'il hozunk !.:'tk, ~n;dybe a felhaszn.1l6k kiztírólas sz:1mobl
lrtwlnak be. NL ilyen. maszfloll s::t1ulgmeronL'lil hkott mez6kel azonoon csak
a lcgrilldbb C!lefben haszrdl~k a w..uoldabkon, és ennek több ok:! i1; van.
ElŐSZÖr is, egy maszkoh szövegmez6ben ugyan nem írha1luk be tCSlSúlykml,
hogy Fred, de nt semmi nem akadilyo:a.a meg, llOg}' S<'1rImil!>e ÍJlunk a mcz6be,
rn:Irpedig a lesst:Öfneglflde"CI klSZámÍlÓ program em.' sincs felkészOlve_
M~sods:ror, a maszkol! szövegme:<6\( létrehozá~ trükkös ug}félokb!iJav:lScript.
kódol: ,st'nyel. így azok a felhasználók. akik lClihonik aJavaScript. használatit
a oongész6jükben, nem lesznek képesek belml semmilyen Mékel a ma.szkolt
5Zö\'egmez6kbe.
Végül, és !;d~n eJ; a legfom<»>bb." fdhaszn!i16k nincsenek hozruzo"'-'lI
" maszkolt szövegrncz6khöz II weboldalakon. Egy ily... n meZŐ\-el taliílko1;V3
val6színtIleg csak bosszankodnán~k, és arn" kÖ''CIkeztetésre jutnának. hogy
webhelyfink :/obpvet6en killönbözik n ~ltaluk mcgszokou webhelyekt61.
Ahog)' a 12, I«kax-n ~m, f<lgJuk, "8P".enlen biZlosWllIlJuk hogy 3 SZÖ\'~
z6kbe in :U!:l\ok fQrm.:ilum:I megfdcl61e~-en. ~pedig ~Z dlto6rro wd.l"S
,'"zén6k segil..tgevd, ameirekel 111.. ,<1 mzk't<.'lIe1l b<.'1llul:Ullnk
(M"g",S)'lCndó "ISlOI11, hogy léleznek m;uzkoh l>emcn<.'1i '·cr.l!n6k az ASI' NET-
hez, ~mcJyek ..'t n,,-"S"bJrolhalullk E~ekl1('k II kll(s6 (ejles7.l6tl "ez~l6knck az
az el6nyc, hog)' JC\,t'sz.,k a v:jllunkr61 az (jgyféloldlli J3,-~Scnpt kOd clkl:sl;,lo!'-
senek lerMI I'.gy 1I)'eTl ,'eúrl6l"u,g ~Z e~ ,"z adou ASPSET okblra húzni,
u~'llnulD', alJOtlY egy na"',,")'os T"XlBo~ \~zk\C'S ~ébcn l<'r'Inoénk A SZt'rZI():
~kal kiproNlI & múlU'xiók"'pe.nck ulll! maszkok bemencti ,-,,~ CI~lh:n6k
~ul"hltp,fl_.""terbl .... , ... umen.)
K: .1''''''' .",,.. n","'~iII1" .1faxl.ctW" luh'.J;l<msIJg a ~ Th.\18cu' l'l"%hflilz
~HJ.."'.>
v: A Sing-leLi.n.. k n PlIUWOrd TCXlSox ,..,zérl6kb6lleképt'zbkor <Input> J-ITMl-
elemek iőru",k 111re, míg a Mult ILIn .. TextBo" \""Zérl6I<bŐI <te"urell> elemek.
A J-ITIoIL 52:1""Jn)' CSlk a2 < inpUt> dein l:lIctébm h:lIln:>a:l meg ~ _"length
jdIemz6t. '" <c .."t.r"",> ricm ~eben rw:m E hón)~ "I~" 'öI,bsoro.o;
SlÖ\cgllltl:ólche" ill korliIol:haló a bnrhal6 kaT:lkterdt 5lJ1lliI. t'g). kcn.i16 mqp-
d:1Mal nu l!> ~nk a ll. leckeh"....
Ismét16 kérdéseit
l. MIIren j!-nckd lehelnek a T~I&>" wd>b "ezM6 'fextMOd.. lulaJ<,lons:lg!inak?
2, Ha eg}' 40 OI>rJopo.s k 5 ~ löbbI.oros l!.ZÖ\--egmez6t szerctnl!nk Il:trehozni.
a TexJ.Box ,·tW!6nek meI)' lubjdonDg;1.I1 keU beillit:munk?
J. ,.A Uö\'..,gmt!Ók t$Zlé!ikai IriJlills;;u minden ...-dJh!In~I nonos haLiSl
credrnm)'CZt1Ck - Igaz ''3~' hamIS'
4. A TextBo" 'euM melyik rubtdons;ig;a ClruJmaUII 3 fdh2Wd16llClI be-in
5ZÖ\egt.'t'
5. Az eli5z6 úr.lk sor!in megilllllen ",ebes \'ezérli5k köruJ mo:l)'ik llCk '~'n""k
hasonl6 IlIt, ~lons.'\S"-i. milli ~ Texl!klx \'t'~M6nek~
6. fu egy TUIHox \'el:k\c'S TextKcde rul3idonság:\!l3k 3 Pfr.JlBI''';mi t'n~eI adjuk.
hci\xl ~lIitJUk be a Text rub~l. a 5lO\~ llCITl J('Ietuk nq uo.'eg.
amikor "10' "~'bhöngéz6ben lcluntJÜk mqc n oldalt. M"-:'It?
Gyakorlatok
l. Els/! ~';Ikorl~H'nklxlll egy olyan ASP.NIT wcbold:lh fogunk kélzítenl. amely k('(
egész dm mcg;u:lh~", kéri a felh:w:nálót. majd kidmítj:l a két sZám legna-
gyobb közös osn6jál. ( Két egész _úrn - II és b -legnagyobb kö:cös om6ja-
sroldSQs jelöl~l \jcd (to, bl - az a legnagyobb w\m. an-.ellyel mind az ••
mind a b maradék nélkül =h'1I6. A \jM(H, 211 példjul a 7·td ~'8Yent<nH(1.)
Mh'el a fclhaswlÓflak k('( eg6l: SZámol kell megadnia. k!:l TextBox ,'ezérll5re
lesz szQks(>günk. Állíl5Uk az első s.zövegme1.6 ID tulajdoruj.gál e ·",. a másodiké!
po:d'g bon.>. Eg}" Buuon ts egy L1bel "ezM6re is szokst:gOnk lesz. Ez utóbbinak
~diuk a rIIBultB (eredmffiy) azonQ(';iIÓl.
Ahogy az el61.6 óra lesttörneg;ndex·kiszámíló példij~ban, tnO$I is Iéire kell
hoznunk egy eselllényk"zel6t ~ lluIIOfI vezérlI! CIkk eseményéh"z, ~lItelyben
kidmíljuk aZ a és b s.zö'·egmez6kbc bern számok legnagyobb közös Q(';.lt~1
K(,( egész wm It:grogyobb közös OSZl6jál gyorsan kisZámílhaljuk ~z euklidészi
~igQrilmus segí~gével. Ne agg6djunk, ha nem \':Igyunk liszL100n aZ emlíleu
algontrnus reszleteivc1; ~ szQks(>gCló forr:lsk6d a következ6:
~ _ O .'!'ellt
y • b.Text
~ "
'Az x/y .,.n<U!k;inak kiu!m1d ....
z.lellOdy
, <> ,
, ,
White
,•,~
~
, ,
WhU ..
-,
,,' - ,
Az euklidészi algoritmusr6l a h t t p, l/an .wi ki ped i a . o.-g/"iki / Eu cl i ·
dea,,-algo.-i t hm eimen tudhatunk m~lI többet,
2. Ha adon II és b mini kél egész szám.:. szokbosan 1""'111 . b) -veljclzell legki.>ebb
köJ;Ös tiibbsWrösük az a legkisebb egész Wm. amely nund II, mind b több-
szöröse. It. 6 és 4 legkisd.>b közös többszöröse például ~ 12 ( 2-szer 6 és >SZor 4).
G~kortalunkhoz hozzunk létre egy ASP./I<TI w<,!>oldal!, amely két egész énékct
VM a fclhaszn:l.1Ól6l, és kiszjmítja awk kogkisebb közös lilbl.>szörösé!
SzerellCSére kél szim Icgkis<.-bb közös többszörösl:nek kisz;lmitása megleht.'t6..en
egyl>Zert!. miut~n kisúmitOlluk 3 két s:dr.m legnagyobb közös osztóját
gcdla. . b)
Ehhez a gpkorlathoz tehit egy GeDI) ne...U fiigg ...ényt kell írnunk. amelynek
bemenete két egész mm , é. egy egész éné ket ad ,-issza. It. legnagyohb közös
osztÓ( kisziimÍló kódot 1Jcm.1solhllljuk ~z el6z6 gyakorlaib61 ,
Ahogy az elölŐ gy:>korbtban. rnos! ls két Text Box. egy Bunon és egy l..abei
"ezM6re 1<:51. szOk5tgilnk. It. felhas ...miló :lhal megadou két egész,Wim
leg.kisd>b közös többszörösét a 8ullOO ...ezéri6 CIick cscménykezel6jébcn
kell klSZ.ámil:lnunk a GeDi I fi:Jggvény segll"'!gh·el.
11. ÓRA
Adatgyűjtéslenyíló listákkal,
választógombokkal és
jelölőnégyzetekkel
II lC{;ke ulr1a{mlfból.
• I<k"~h~
hclyzetek. amdyekbe-n nem T.,Xlllox. hanem nds I./ebe!; '"eznk1t
érdnne!. ha!oZrdlru
• DropDownWt \"el.érl6k I~ egy ASP.:"U ... eboIdlJhoz
• Lcnyl16ll$t;ib~n kiJelöIl ~r1,;k és swn-g ekorfse progr~mból
• A RadioSunon vezér\ó haunilJla
• ÓUzeI<Inozó v:1I;w;t6gombok C5OpOrt<l<'iitJsa
• A ChcckBox h:üvú.l;ua
\'ezérl6
• ~g)"ld :i.llapollruk meg;illapíta>;.l progNmból
Az cl6z6 ócllun (jnuk, hogyan gyl1jthetiink a fdll:lS2JÚlóluól ad:uol<at TexlBo:o:: vczéMk
segítsi'g{'Vel. A szövcgmez6k nonoon bizony<:>! típu,;u adatok be... itelm nem" leg.,Ik::d-
masabbak. Tegyfik fcl pékUul, hogy egy ol~"Jn w~'bokl1I\ sz.:ft.' \,lénk készíten;, amel)"""
a felh.:lsznilón.,k eldöntffid6 (igen/nem) kl:fdl:st>kr" kell \':\I;\.<;].oIn;.:I Nyilváfl\dl6, hogy
aZ "18=" b "Nem" v:\.lasrok bevitl.'Jére ni1lC"S é-ndme szö...·gmcz6l,;eI l)inQl;itani.
felal1S2rul:!6i adatokat azonban nem CSlk szö...egmez6k segíu;(,g" ....,1 II)'lljthetilnk. Il!ben
3Z 6r(ioon látni rogjuk, hogy mi'; beviteli veZérlók is ll>!c.mo::k, pl:ldául3 DropOownLisl,
a a](~ddJox I"~gy a Radiofiunon. A DropDownlisl vezérl6vel Ien}il6 ti>ta kbzitlleló,
amel)'nek elemei körul a feltuszn.~16 ~'g)et v:\.1>511h:II, a ChcckBox \'ezétiÓ'.d telöl60~gy
Zet. amelynek bejelöl6b'el '-dg)' a I>ertne lev(! ",l törlék;cl igen. flCItl típusú vál:m: ad.
h:ll6, "- RadioRutton ve~ pedig egr be)elölhetó ,':\b.w6gomlXll hoz létre. Ez UI6bb;t
~ltaJában CiOpOrtb:In ha.'lm11j:ík , amelynek egyszerre ~k az egyik tagja jelőlhel6 be.
Most, hogy tudjuk, hogy a felhas:zniJói adatok 8)iIjl6ére többf~le velkrl6 is rendelke-
zé'sre áll. bizonyára kív~ncsiak V'~gy'-mk, hogy nukor trdenlC('; a TelrlBoxot, k mikor
a többi \"ezérl6t h~$l.n~lni. l'ffis, a11, hogy melyik welJö vezérl6re van szük,;,tgiink,
" bevin információ jellege ltat~rmz:l meg
A felhaszn:l.l6k 11l:l1 bevihet6 adatok különféle lípusokba 5OfOlhatók, Al: alábbi 05ztá-
lyo:cls an ,..,szi alapul, hogya \':In adallTK'nnyire szűk t:mom.1n)'ból ,';\bsnh;1!6 kL
A Icgszakebb csoprnttól haladunk a legtagabb feJé:
l. 1genmem Wilasz.
2. A lehet65égek véges hSl~j~b61 kiv!ilasztott elem.
J. Ált.:rJ:1OO1i szöveges bemenet.
AZ el-.6 C:'iOPOIt ('$;'téOen C$lk k~, v;lbsV'sij leht''1<'.iségiink V"~n III egy In!~-metcs k&d6i-
\-en pékbuJ J nm1Ünk~'I. ki-ro..?Jk, csak a f('Tfi t'5 a N6 ~k könil \':Íu~harunk.
Enn(:] I.. Lurul'd l:i.gilib a~, h.. U okblon '"8)' kObóI ";lbszd,,,!unk. Pad:iul
lu az Eg)-esol! Albmo/<b;ln t/ünk. <':s qo' arbpon a ctmünket kell bdmunk. u .. Ibm
:ih:Al:itxm egy ayen ~50 dc'ml. !cldl '<~1fes) lJ:i!áb61 ,'~L>.:>o:tII:I!JUk kl. Ehhez hasonl6
11e\'';';
bevi!eli Ie/ld66i-'gek ~Url:lk rt,ndelkezésre akkor is. amikor C1IY e-ken::skedclnu webhel)',,"
kézbe:si!é5I,nódoI l-:ílas7.tunk. A f/;."nl; h:1tom csoport kölíIl a ~~ xbtok~ a Iq;íl-
ulánosabb. Ilyen tír-:r bellKnero:'\:adunk meg p&láuJ illor. anukor qo. tlrbpon lxiquk
a ne\"iInke! '"gy a cimünkct. "ag}' egy mto:mo::IOi rlzen6bh'~ Ulelk'let iru~
A felhasl.O~l6k :illal megadft:ll6 a<blok tlpusail l-s 3 nekik I",gink:tbb megfelelő wel.)C!;
vezérl6ket a II 1 ltibl:iz:uoon foglaltuk ÖIlI;U'
~.,,&két RadioBuuon
Egy elem " lehe'l- A telh35w:>J6nak "lehet6- DropDownList vagy
Ii5Cijlb6! RadioHlluon vezl'fl6k C5OpOrt~1
,
szöveges aoolot bevihet.
A DropDownUst vezérl6
F.g}""; esetekben a feU.asználó csak egyetlen ck."Itlt'I dJaSZlhat ,,1e~e5 dJaszok
köT.Ü!. Tegyilk fel pNd.1u!. hogy egy szofiwrrég lennfkCirnogawi wcbhdyl-nck egytk
oIdllln" felluszn:lJók a leggyakrabban felt(~1 kérdésekre k<.'resh<.1nck vá~t.
Ahhoz, hogy a felll:l.Wláló megtal:IJ;' a kere;en ,nforrn:lci6c. a kllksszawk m<.'íp,lbinak
lehet:őségéfl kivül nagy st.'gÍts(,geI jelenthet. ha egy 11Sl:1b61 kivil:lSZll.atja UI a nonverter-
méket, amelyikre" k~ vonatkozik.
11.1 .ibnt
.1 k,,)i1Q JlsMkbi'" "foJMnnAJó " ~ váJaswIt J«b::aJ toóJautllf' / '1IJ~1
Teg)'Ük fcl azonban. hogy II Imylló IlSllllxrn """"""lftutelt ,'Jb9!:I<i Iehet&égck ,""b-
mdYef\ kiI~ infolTlIáoo61 filggnck Egy ddruuni~ \);;ankl wrohcly I~ktillllcllct&.·o!
teheti a rclhasmi/6kn3k. hogy c8)'nél [öbb ft6kk.a1 rendelkezzenek, b terrn<::sttte!Cn
cl6forduU\:iI, hogy al. egyIk felhasWl6nak <:S:I.k egy mC!;Iakarilási bet&;z1jml~ja v~n,
míg "8)' másiknak JekÖlÖ!l bet~1d. \,jll~lk07.6i .sdrnl;"j:l k ~ko5dgi ~mlJp ls.
Amikor a rdl~16 bqclcntkez,k a ...-ebhclyre. ki kcll \-:I~. melyik sz:Imláj;ihOl
bpc5010d6:m kMn igc.>nybe \'Ctl/Ú rg)' szoIiP1t:u:15t (fdlhe, ho!n' wbbd Í'l rendelkellk),
A Ichel~ket egy Imyi1ó [i'jl;Ib;;an kin:illu1jUk fd. de ennek elemei ~ :Ulc'.oI
IUggoek m:l.td. hogy az adcxt m:mdy milyen SLimUlal 0)1100 J b:mknál. TdUI J.l~~
~)d( egy küls6 i1ÚOI1l1óici6t6I függnek.
_._.
11.2. Mn
..u rMdOI tRl' Dropi)ofl"nLisl b flO' nu_ .<edrIó /OO,..4a<LtU< "ld .. " ~~
KŐl'etk..-,zó lépésk< hdyc7.wnk egy Button .'eu;rl6t a Icnyíló lista aK A szö... eg
beirls:!. ts a DropDownLiSl. illetve a Sutton vezbl6 honiadha urln aZ oldalnak
ügy kell kinéznle. mim" 11.2.:fucln l.1thalÓflak.
• ,_ .. .......... -
-......
"U•
-- •
,
•
--"-
... -.....
~ • ,.o, 11.4. an
- M
_~,-~
O· tU' /lenu '"lnjdo,OOgro
.wlll."nl "8)' Irárom fJO"lOl
u"',,/m<lz(} somb ,,,,,ik dIJ
- ·• ,- .~~
11.5, jin
r L I- A ~-nLiSI " .. ~,~ 11J/aft6..
co: II c.- MI a Lhtf_ 0>II«tí0n &Mar
pd,t-:d<IaDlalbm t>dhotjull ""3
-
• • --
.-- -
li<
•
-- -
... II ...... ] 11 .6. jin
cll" ll __ '\/u,"m .frI'l'/lIlnll qu. ,jJ{1>1uc/C"'''',
'""'fI<tdluJIjrUt '",'''''' n,/aJtlo~1I
AJ. zn.,.bled tuJajdonsig logikai trttkkd renddkezik (Tn,.o "-'gy Falae). é: nl ad",
meg, hogy az adou Ii5taclem meg,elenik--e a Iek~~ lenyRó IlStiban. Vagyis"" \-an
t'g)' Mrom eleoW!1 - ptltUul \"milb (v:uúli;l.), Otocoble (aokol~) é: Strawt~ny
(eper) - uruJnuzó DropOo~,"Uo;( ''el.trl6nk, é: az egyIk dem (például a Choooble)
Enabled mJafClons-igo\l 'ahe-r:I ~Ililiuk , a fdh,uZIclL6 bOngé$z6jében ~ k kl"!. elem
(V~nllla és Sltawberry) roy m.:gjelenni
közül egysze,.,-e csak egyet Litunk. meg kell adnunk. melyik leg)'en az első, ami megje-
lenik n okhlllelöl!6;.ekor. A Vanma, Chocobte b StrJwberry elemeket t'''talmam
1.myíI6Ii.stánkk~1 fels:terelt ASP "lET oldal meglitogatásakor ~lapáll~poIlm\ a Vamlla
elemet (3z els6listat'lemet) llthalluk. Mi a hel)'"let azonban akkor, ha an ~zeretnénk.
hogy az alap1'rtelmezelt elem a SlrJwberry legyen? Az egyik rnegol<Us. ha egyszenlen
en tes.$Ziik aZ els6listaelenuné - a m:isik pedig al. Ita aZ élem Selected rulaidonsjglt
T~ue-ra Allítjuk
A h~rom listaelem felvétele ut:\n a ÜSllLem Collection Editor abbUnak ugy kelJ kinéznie ,
mint amit a ! t.7 :íbrln Ioilunk
I!I --
~ III
I!I
---- ---
0-
... 1(,.....
'" II -=- I 11.7.6bra
" //$Idhoz Mmm e/emel adw,,1t
11. ft • AdItgYI'f!i! lInfI6 ......hl vfr I'gllllbokbil" j',,*II'~.''''.'' 1 245
11.8."
.- ti ~'I'bOIdnJC" IIfo{Juw:trdló
NlfO#fl f.t IookrU ,dlantlwat
Egyd6re legy(lnk csak ~nn)fll. hogy egy rövid mondllb;!n meg,elenÍl.jilk a felhawú.16
~It:AJ k;,;l/:1SZtOO l.iSUeIen $XÖ\-~ egy dmka>en, Adjunk hal eg)'labd n:~
a ;lropOownLl Bt . up" "'~'bokbll}()l~ az lD t\Llajdono;.1~d Jllitsuk resul t B·I"l!. b. töröljük
a Text tulajdons;\~!uk n crtékc!1,
SZ<injunk rli egy ki!; id6!:, ts ac.lfllk meg a többi \'ettrl6nk néldny ru12jdonsipt Í$
A Bu!ton \'t'zérl6 ID rulajr.londga legyen btnSutrnlt, Te,,! lu12~g:.! pedig 'l1ck M@
A! \,9. ~br:ln nt láthatjuk. hogy;an feS! a DrOI;lDow,>t•• ,t . I8P>< oI<b.l. miutJin az eper-
fagyJalu){ V:U3~7.IOUuk 6; 3 gombra karuntotrunk
11.9. iM
ti Jc,,)-íIIlIWAb6i" SlmuWrry'
clr.m<~ r,dl;lS.%NlI""
A DropDownUs! vezérl6 esztétikai tulajdonságai
Az ltems tulajdons;\gon kívül a DropDowrilist \,<,zér!önek csztétilai tulajdonságai is
vannak. Ezek ugyanazok a tulajdonsigok. mim ameirek"" II label és TeXlBox ,'eJ:<"rI6Ic-
nl:1 is lo1nunk. á ugprn,)gy is kdJ 61<<:1 megadnunk (összcfogbl\'3 Ihd, l U. t!ibl.1<:awl).
Tulajdon_á9 lalr"
BdckCo l or A lenyíl6lis1a h<'inéNzínél adja !lK')I..
Font A leny\l6listáoon le~6 SZÖ\cg lUJajdo.wgail hal1rozza meg
Emlékezhetünk II Fon t rulajdonsignak ~zá"'05 résztu-
A RadjoButton vezér16
A felhaSZIÚlókt61 vilaszt6g0rnbok scgílloégéH,1 is ~l1jthet(lnk ad:llok:lI. és II lenyil6
listJkhoz h:lSonl6;on ezek "e8Y.~tlen lehetfiség kidlasz~ra sroIg:ltru.k. Ilizony:kd
taJalkoZlunk már vála5Z16g0mbokkal különféle: weboldabkon' arokról II kis kör alakú
vezérl6kr61 \'~n sz6. amc:-1rekl>en egy fekele pólry jelenik meg. ~ bejcIöIjOk őke!
(Jásd 3 ! L 10. :ibr:'i!).
- 11.10- ""
A~Q'~~
lIÓnU ~~ .... ,dJaWhm"
Ilou.unk lIlO6I Iétno egy ui AS!'7\!:.' okblt FIad, oButton ......px né\'en, hogy ~g\1ZS
g;illl<WUk ~ RadloBunon ,..,zerl6Ir,
mfficö<1MéI Azo/dal hasonló dll szoI~1 rNtd. num
a I ~rr-c.wnL t . uP", '':Ig)'J5 a r~lIl<1szn;,116 a kedvenc fagyl:aII~1 \'~I:.szI1u1J3 ki I':lfU
OKr' ................b
hnrviPrki<P 1141'''
M6cIo5i15uk ITIOSI az imént n oldalhoz adalt RadioBu(lOn v~zérló ID tulajdonságát
az ala""rtdmezen RadioSuttonl·r6j vanilla·r.:l. Ez után adjunk még kl-! RadioBUlIOn
vezlirlŐ! n oldalhoz, legyük óket egym~s al;\" majd ~lIilSUk az ID tubjdoll<:1gukal
a c!loc<,late, ílletn~ a n .......beny 61&re, vligül helyezzünk egy Buuon ...;,zérl6t
a Idrom v~lasz(6gomb al~, m6d0:sílSuk a gomb ID tulaj<:lon$:igál btnSul::mit-re, a Text
tulajdons.'igál pedig eItek Ife-re.
A Visual w~-b Developerben a kl-! (jj:.lbb v1Iaszt6g0mb, illetve II gomb homa<tisa ut:in
olyasnut kelll~munk, nlim a 11.12. ábcln
.......
"-,--'''.
_... _----_ ..
.;,
_. __ _-
.. .,
11 .12. MIra
A RadioBlmo".aspx
most mArMrom ,-áJaszI6g<"m'boI
I!$ <"/U. gombol t"fIl<l"",~
NézzOk most meg a RadioButton ... "px ASPJ';E"r old:Ih a böngészőben. Két dolgot
vehelOnk b2re: el6:ször is, csak három dlaw6gombot liltunk, de szöveg nem tanozik
1107.7J:juk. ami lcirlllt tlOgY az egyes ,'~las7.t6gombokhoz milyen ,-;\.Iasnási lehel~g
ranozik, másodszor, jelenleg egynél több dl=6gombot is be)eIÖJhetOnk. (Err6I
rnegg)'ózódhctOnk, ha először az eM dlaszt6gombr.:l kalumunk. majd a ndsodikr:!.-
Whaljuk. hogy mindkiCI \1iIaszl6gomb bejelöIt ilbpotb-J kcnlL) Al. emlilcu ~k
j6115th~l6k a J l 13, ibrin, amely a RadioButton . "'IpX oldalI mUt:lIj:l a böngl!sz6Uen.
, "
,!!~.,-
•
----"' .... -
•o
• 11.l3. 6In
l'-IDclőr-e lliA"yzrk az "8)"1" ''ÓJasztó-
-. ~_ ... _----_
. .. ,," '
.--• - ,•
.- ...... -_. - "
11 .14. "
A,~ ~qat!/ I6JluJrS
"' ...... -
JoL!""'~'"_ ~._",.,,,~,,.,~,,,
.......
_-
•
x
_. __......--
oa.. b'
0$0 ',ao,
.-
11.15, 6brI
,
" "dlattll5gamboJz"./ $Z(l<.o:ggei Iá/III/ul, Ih moss mdr oak "Rt "'h~ ,.JIa$::/Nllm,1t.
If vanllla.Checked the n
'A v.nlll. vA la nt6<;JOIIIb van bej<llOhr"
End rt
Tegyük fel, hogy ugyanúgy. allOg}' II leny!lólist:ikat bemulal6 péld:lb:m \e\ulk, most: is
egy rövid meg:ill apilliSI szeretnénk egy cimkében megjeleniteni. ami csa k annyil mond,
hogy a felhaszn116 melyik fagybltOl SZereti. Az els61épb. hogy az oldalon 1t:V6
gomb abu ellwlyezGnk egy Label vez(>r!6t, maid tör6ljilk annak Text lUbJdo~g;\\. é5
a r .. aulta aronositÓl. adfllk neki.
A reBult" címke Text lulaj<\<:>mág:í\ beállit6 kódot a Buuon vezérl6 eliek ~rnény·
kezel~ben kell elhelyeznünk. Az e5eménykezel6höz adandó kódot a ll, I. péld:loon
ljduljuk.
252 II. rMZ • ~.tBtok~" ItIcIoIgo q'
A 11.1. PéldA kódja d6ször eUcrl6nl. hogy az eb6 v1~6gombot (nni ll,,) jelölték..,
be (I. sor). 6 ha igen ("~~'}'is h:l ~ "anilla . Check<!d értéke 'hue), ~ reau l t. cimke
Text tulajdon.sj!pt ~ You like VaniUa (Ön a v:anUjaf~g)·jl su-rer..i) szövegre ~llílfa
(2. sor). Ha ól bejölöll dlaszt6goml.> ~ chocolate. a dmkébe II You lik .. Chocolate
~h"g.:.'\ írjuk G. és 4. soc). ha pc:.'Üig a feUuszn1iló a straw~rry lehet6:séget WlaSZlotta,
~ You l ik" Strawberry sZŐ"eget jeleníljük meg (S. és 6. sor).
Hozzunk mosll("\re egy olyan ASP.NET oldalt, amely a CheckBox vezérl6c l\aszn~13t:1t
mUlalja be. EI&zör nyissunk egy úJ oldalt Ch .. ekl!<lx./lspx n(... 'en, amely ugy:mall fogia
tenni, mint az e16z6 kél példa: an;l kéri a felha:,znál6c, hogy V""lassza ki 3 kedvenc
fagylaltjit. A jelöl6nl'gyretekke! azonoon arr~ is lelK"\&l'get leremtiink, IJQgy a felha5z-
n~J6 egy~rre több fagyJaItfajtát is bejelöUJeSSen, ha több kedvence is van.
Az új ASP,/I,'ET oIdallélreh<:>z15a \Lun Ú'jUk be a What are your f avor ite iee ereM
flavors? szöveget, (A kérdésben a t~m íelli, hogy ezúual egyszerre több
k:ht.1&ég is '-:llamh.1tÓ.) A .ZÖ'o'eg uLin hÚ2lIJnk cgymh ut~n h1rom CheckBox velérl6t
:IZ oIdalr:l a TooIbox palctú.r6I, majd hdyel.tilnk el alattuk egy gombot, illetve egy
címkét is.
Nl'2z{lk meg a CheckllOx • .,sp" okblt ~ böngész6nkben is. A 11.17. ~bcln láth~tiuk,
hogy az oldalon h;irom jelől6nl'gyzet jelenik meg, amelyek közül egysze"" többec i~
bejelöJhetúnk
-~ _... ------,.
... "'ól
,
.'
- .. _-,
_.. __
.,.
• ...
••
,.-
h_
_ ____ o
•••
__ r
-
-
------_... ~
- .....................-
• - 11.16. in
Ar ASP ,\'}.T al.'bolilal
NI""" Jd6Iórti'Io'MM
:Io,~,.,,_
'" ......
\l-'lJ
'-
.......' .... _,_.'
~jI
,... ...
;.,~-
".T'IIC
••
--,.._ --
-('
_ _ln.. •
... I
... "
• A v .."iU. jelOltlné(ly • .,tet bo dOh'k
AdJunk l'IlOIIt t'g)' eseménykeld6t ~ 8ouOfI veúrl6CI ick oc:méll}'tOet, amelybe m;ljd
beit)uk azt a kódol:, amett~k mo:glutlroua. hogr a felllas:znj16 mdy JdölOOég)"ttIdlct
-,eI6Ite be, ~~ mzheltlnk, 'lOJY ugyanazt ~ kódol: hllszn1I]lJk, mInt amit
~ II I pekl:lb,m, de ha úJfll ~UiIk az ~Iilctl pfld:l.t, Ulhatjuk:, hogy a ~_ és
11. n . AdItgY\ljtéf; lenYI6 hdkbI. vN.~k" á I
jeli51611'IIY18te11kll 255
A L 1.1. p(,1d!íoon szereplő k6d tehát <:Sak annak a f~gylaltnak a O<.""V~ irj:;l ki. amclyikr6l
~ kód el6/;lÖr :illapitona meg, hogy,. hozzá t:1Il0W elemel bcjelöltl:k. Ez II RadioBuuon
vezér16 esc\ébcn nem jelenl""-! gondot. nm'eI a fell.aszruiJó a h.1rom v~laszt6gomb kOzilI
egyszerre cs:tk (.'gyt.1 jclőlh(.1(.1\1)l' . .a jelöl"in~'gy:;o:""-es p(~dábafl nonbólfl képe-llnek kell
k'nnilflk 3rr~, hogy a címkében több fagylaltot is felsomljunk. mivel egyidejU1eg több
lehelőség is d.lawhat6. A sl;Üks(>ge:s forráskódot a 11.2. p<'ldáoon l.1thatjuk.
,,
6, Rn<l It
a, If chocolate.Ch.cked then
9: re8ulU.Text. &. ''iou lik .. Ch<>colat ... •
10: tn<l H
H,
D, rt .. traw!>erry.Ch.... kftd. tlum
13, re .. ulu.Tfi'xt h 'You like St.rawberry.·
H, End If
A 11.2. péld!loon clősWr töröl)tlk ,. re8ult" ctmke Text tulajdons;'i~nak mék(1 (2.
sor), majd a 4., 8. é 12. sorb:1I1 nlCg"o',zsgiljuk al': <:g}'ei jclölŐl'~'Zelek Check""
\ulai<\OrWgát. Alnennyibt:n vabrnelytk jclöl6n~g}'zct(.1 be,elöl\ ~lIapotban taiáljuk. "
neki megfelelő 'ZÖ\"egCI &srefűUiik,. re."lts dmke Text IUlajdonsigin.ak &t~kevcl.
Az 5. óráb6l .. mlékadwtünk ri, hogy !IZ ", rTIŰV8kIt il bill oldalán álló vák~O
értékét össze!úzi a jobb oldalán áIÓ kilejeals értéke-vel, majd az össze!Uzön
értéket a bal oldali vá1tozóhol rendeli. Az alábbi Ut lItasitás tehát agyenérttlkti:
Wiltoz,s _ V.iltoz,s , 'valanl11yen karakterUn!"'
j,
•
__..__.
& . . . . . . .- _ ....
•j . j ; , - "-;'- e>
....... -~- .
..-
C& ....]
11.1B. 6In
A fi>llu1$zmll6l<'Jbb W, ..""
' j .•• - fag)'IaIlOlI< .tNaWlu"
Összefoglalás
Ebben a !e<;kében hjrom olY'~n webe:s ~'eZérlÓl vi7,,;giltunk meg, amelyeket gyakrJn
hasmllnak fcUusmllói adalOk összegyűjtésére, a DropDownUSI, a ItldioBunon és
a Che<:kBox \'eZérl6t. Ezeket a \'czfrl6kel1It:1l1ban akkor \'esszi:lk 19(:n}t.e, ha a fel-
1~J6nak CS3k <'SY adottlisú", korl110lOO vilasztás. Ichet6ségl"l akanmk kiruilni.
vagy CS3k kétfél<> "11a5Z! fogadlutunk el.
lia a fcUlaszn116t61 péId1ul azt szen:1nénk rnegtudakollÚ, hogy nlCl)ik id6z6n!iban lakik.
l'gy Icnyí16 I~I (DropDownUst) hasznilhalunk, anll'lyben a \'iUg id6z6n..1i 1:115lh:11611, és
a ft'l113SZniJ6 ebb5I. v:llaszthalfa ki a megfelcl6 z6n!it Amennyiben a felhasmilönak eI-
dr'Intend."i (ige1l/nem) kérd&! leszünk fcl- ami az inlernctes felrnéré;ekben iJt:llános-,
a jelöl6négya1. (CheckBox) a mt.ogfelel6 \'llaszr.:\s.
a 11.5, fucll) egyszenl feladal. A1;I., hogy,. felh:l5Ul~16 melyik li.\uclemet vibsZ!o((~,
,.z ASP,N!:i' oldal fomlslcód részében a DropDownlJsi vezérlő Selectedltf!llllUla)don-
$;Íg:ína k .o;egil.'iégével hat,irozhatjuk meg.
A RadioBulton vezérli> egyC'ilen dlaszt6gombot hoz Iéire. AZ!, hogy bizonyos vlil~sZ!6-
gombok egye/n'5<'get képeznek. amelyb61 a felhasználó egyC'ilen elemet v~laszthat kl,
a GI"oup!l..- tulajdons:"lggal jelezheijllk, a v:llasztÓllomb lillapoillt pedig a vezblő
Checked tulajdonsig:ín keresztiH határozlutjuk meg.
Kérdezz-felelek
K: H(, 50 /ellt1ségcs e1~'met SZI'Tl1nénk mC!J{j(/ni f.'8) ' /cIIJ."1d lis/ába., tVlgy r'(.Í/asz/t}.
gom/JokkL.I, am"'y.!k klkllI ti le/II(/.SZ'l(j/6 I'álasz/Istl/, stljiil kcZ'iif<1l kI:/1 bdrtlOm
milld az 5O-ct?
v: Eddigi i~mereteink alapján a válasz; igen. Mmdazonilt:d a 17. fejezetben megta-
nuHuk. hogyan tölthetünk fel egy k'Oflyíl6list~t adatb:lzj.sb61 sdrm:owadatokkal.
ts aZ! Js. hogyan hozl\3tunk l;:'re \-:ilasztógambokat ts jelölootgyzC'tekC't
eg)' arn.tb:lZi5 aLappn a RadioBuuonUst ts Cll«kBoxList. vezérl6k segítoégével.
K: Készítet/em "8}' /o detmlletl).7ó /Js/iif l'lV' ASP~V1ir o/da/oll. <fs mos/ fol szeret_
lIém h.lSZl/állll "8J'tmezt fl lis/át egy m'WIl ASP.NET oIda/QII is Ez/ 1I)"j{~orjl/
",<'S/chetetn ll&y, hogy (J másik oldalon ls e1IJd)'CZ<>I: l'lV' DropDou'nllsl /JI!ZérlÓl,
és ,ijm beírom ti /0 elemer, I~n csel/eg {"Il nél ktlml)~obb mgy 8J",~,bb
ml'lJoldas?
258 1K, rMZ • f~ PItlIk ~ '- fakIoIr;p'"
v: Ha egy DropDownl.i5l \'ezl'rl6t ~t szeretnénk mholni aZ &szes e lenlé"d együn
egy .rosik ASP,NET okblrJ, először tölt:;iik be mindk~ weboldal!, nujd a lenygó
list~t tanalnuw ASP,NE']' o ldalon ",jIlSunk forr1s nhCln', és keressük meg
a DropDownlisl vez(,rl6 kódpt az 0 11.\;11 HTML részében A kód [gy fog fesleni-
~a.p , DrOpDoWt\LI8t Id.oDropt>::JwnLlnlDo runat~'BervH'>
<a.p,Llat l tem Value~ ' Valuelo>Textl<fa~ p,L i5tlt~
<as p, L i B tl t~ valu~~·Valu~2·>~x t2<,.a p,L latrte.>
A k'flyfió lista minden clC'fi)ft ~'SY <a sD' ListJ tem> kód jelzi. ~soliUk le
a DropDownüsc vezé1i6lcljes k6djit, és 1l\esszilk be a mjsik oldal forrisib:l ,
így nem kell újra beírnunk al. Öi5S;re$ listaelemet a m:lsod,k ASP.NEr oldalon.
/(: A l(iluS%f6g0mlx>k klJull aklpállupollxm <'KI' si"cs btjeIóil'c. mg)"Í5 e1lJforrl"l/lUl,
hog)' a fi>{lIasz/1l116 <'&}'t?flcm l.oála.szl6g0mbol sem je/(JI be, llOfOYW érhetem el,
"C/D' mfndcuWppcfj '®"'" bejcl&t Ic"cttJsIgJ
v: Ha a feU~ló mjr bejeIölt egy vilaszt6gombot. aZ! nem kapcsolhat;" ki, csak
úgy. ha bejelöl egy máo;ilGlt. az oldal bctöItéselr.or nonmn kezdClben egyik rl·
lam6gomb sina; bejelölve. Ez aZ! jelenti. hogy ha a fclh'5w!i16 egyik le~
sem jelöli be. az adon C50pC>fthan mind..n vála=6g0mb kik:lfX'WIv:l mal'3d
Rend.">7.erint a7,Oflb:ln an ~nk. hogy a fdlJaSZfl;\16 válasszon tgyet a f.;lkin11t
leho:,tőségek közül. Ahhoz, hogy mmdenképpen valamily"" v:'ilaszhoz iUssunk ,
gondoskodnunk kell rob, hogya csopon. egyik választ6g0rnbjol alap:lil<tpotban be
k'g)·en jdőlve Ezt úgy éfhetjö k d , hogy ~ Vi'IUal Web [)e\·elopetben az aiapértel·
mezeuk&l! kijelölnl kívánt váiasztógombra kJ~intunk, hogy betöl!5iik a tulajdon·
sjg:.il ~ Properties abL3kb:l, majd a \'ezérl6 Chec ked rulajdoru.:1gá\ on Troe-ra
állítiU k .
Ne feledjük. hogy egy dlasn6gornbcsoponban c5:lk ®'v~!as.z16gonlb lehel
alap1ilbpotmn bejelölve. [I ~ ~ Chec ked tulajdonságot több R.1dioBunon vezérlő
esetl:ben is Tru .... ra ~Ilí!juk. a fdhaSCln116 ~6je a kkor is cs:lk aZ egyiket
fogja bejelöltként megjeleníteni.
Ismét16 kérdések
I. Tegyük fel, hogy egy Illtem..-tes kvízt kkzítünk, amelynek k~ire csak
egyetlen helyes v1bsz adh:1l6, (os az egyes kérdések eS(.~ében a ft'lh35J'.nálók öt
lehetőség közöl vil~halnak_ M,lyen \·ezér16ket o!'n:Iemes használni ehhe z
a w .. boId:lIhoz?
2. Azt $zcretn<'nk, hogya feUtasznál6 nK~dj:o UI az id6z6n:it, amelyikben <'I.
i\hlyen wt'bes vezérl6t h:ilszn~Ulatunk erre a reladu,..J. és melyik vezér16
""m alka lmas r.I> Melyik \'ezérl6lenne:il /t'8JObb megoldis?
3 . ./I. DropDownlisl VC7.M6IObb elem kiv:'ila.s>::lb:il is megengedi a felhasznllónak:
Igaz vagy hamis?
11 . ÓI1I • AdatQ'tIljtá lInYI6 kdkkaI, ~'! !/9'Jf11bOkkII" ~~zwbJkkII l 2S9
4. Tegyük fel. hogy egy olyan "'cboIdalt szereultf1k ké5zíteni. amel}"e!l a felhaszn:iló
egy 100 országol lanalmazó l~böI kiYáIa.s7.lhatp. hogy mely országokban
j.1.n mr. Mi&t lenne j:6 megoldás jelöl6négyzl1eket alkalmami ll. febdall':l?
5. A 4. k~rd(,sben szerepl<'l példa pontos,1fl Iliny jelöl6négyzclo:\ ig~!lyelne
al ASP,NET oldalo.u
6. A CheckBox vezérl6 melyik tulajdcxlsiga adja meg. hogy a jdöl6négyzetet
bejelölt~k-e?
7. Mi a f6 különbsfg egy sor "".wZl6gomb 61 egy sor jelöl6ntgyzct kö~
8. J\;! úgy szeretnénk hou::bdni öt RadioBut1Ofl '·cz.éfl61 egy ASP.NET "..eboldalhoz.
hogy arok közül egyszerre csak egyet lehe;sen bejelölni, a w~rl6k melyik
IUJajdonsi~t kell beáUit:munk?
V618SZDk
1. Mi"el a lehetséges \'~Iasrok kőrul a felhaszru\16k csak egyet jelólhctnek meg,
lt'1lyíló lisclkal \'agy v:ilaszt6g0mlx>lGIt használhatunk. \'.IIÓ6zimI1cg a ,';'ilasztó-
gomb a lObb megoldás, men aZ ehhez hasonl6 intemetcs ~ttkok Itnyeg(>bcn
ki\'&el né lkül Yálaszc6 gombol<at alkalnJa7.ll:lk
2. Az inf<;mTJ.iciÓl. bek"'rhetjúk egy SZÖ'-'egmez6ben, iUC'I'"C .';'ilaszt6g011l00k ' .. gy
egy lenyM lista Sl'gítsl-géveJ is. A jelöl6n~'Zetck nem alkalmas:tk, mivel
egy ember nem un61,kodhat egyszerre több id6z6nában. A feladatTa uID'dnakkor
egy \':ibsoIlógombc:lO(Xlft vagy egy ICfty116 lista lenne a legmegfelelőbb, mi"cl
" felhaszn:il6nak egy<-'llt'1l \'álasztllsllehet6séget szeretnénk adni a 1eh~
,-;'ilaszok hSllj!ib6L
3. Hamis. A DropDownl.i5t "eléM csak ('gy elem kiYá1asttWt teszi lehet6vt.
4. Jelöl6ne<gyzct .. k .segitségével a fe1haszntil6 több Yálas7l is adhal, mig ha
v:'iIaSZl6gombo1an hallzntiln1nk, Q3k '-'8y or.;clgol jelölhC'lr:e be a 100 közol.
5. Minden orsz;\ghoz ~zOksl:g \';In egy-egy jelölónégyzctre, vaID"is - mivel
a felluszn116 100 orszjg közill Yálam.h at -, 100 ChcckBox vezérl61 kell adnunk
az AW.Nf.T oldalho7..
6. A jelö!6n(!gyzelek bqelöll ~lIapoCit a ChcckBox vczérl6 Checked tuJajdons::i~,
nak én(:k(:b61 ~l1apilh~tjuk meg,
7. A Yálaszt6gombcsoportok csak egy lehetőség ki.':!laszcts:it teni!< lehet6v(:, míg
3 jelöl6négy:zctek nulla vagy több dan bejt:lölését is, Ha lehal egy SOf v~las;uó
Gyakoriatok
1. Ez a kÖlCl ~ szerzőhauxhk kÖflyve. am,t al ASP-r6l. ílIewe az A5p.~"ET.r6I ír.
Slerén~1c1enül alTa k~rem al OlvaSÓI, hogy ktszí~ egy olyan ASP.t\'ET oldalt.
amelyen a relh:lszn~16k megadhatJik, hogy mely kÖflY"eimel oI ......15cik. öt
CheckBox ve~r161 kell maid I['[rehozni. amelyeknek a Text ,ulajdons:'lg:l J
~zerz6 kÖf1yveinek cirnd. t:llt"lm"W1. Ha .....~lanuJyen 1'I.it~ly~ okból kifolyólag
nem il;mem&tk az e",lítClt kÖ(Cleket. iu ....~nnak a címek: (I) Sli/ru n,,/Ch hm.s..1f
Ac/ilv Senvr PaSf'$ 3,Q ill 2/ O//)$, (2) DesW"("B lWItJ/! Scnvr Pagl:S. U)
ASP'f','/ff' Trps. TU/on'als. and Oxle. (4J ASP.j\'/ff /)(1111 wC» úmtrohts (S) Stlms
Tead, }ourwlf ASP.N/ff in 21lfoll7$.
N. ö( jelöl60tgyzeten kívül egy gOmIXX ts egy cimk~ il; Ix-Jyezzűnk el az old . . .,
A gomb Click ~nI!nykezel6jében sz.~moljuk meg.11:\ny könyv<-"! oIl-a.sot[ a !isti.-
ból a fdhasznál6, és JClen1lSiink meg egy ennek megfelcl6 OZCOC1C1. Szerroy ja •
.....da!om ~ kőw[kez6, loa ~ felJLaS'.m~ló n{,gy vagy [öbb könyvel oIva.,ol[ aZ öID6I,
a .7.Ö\reg legyen el.: .ón Vlllóban nagyszen1 L'fI1b1<. mig hll egyel St.-m. akkor 1rjuk
ki eZI; .Haladéktalanul keresse rel a legközelebbi kÖflyvesbolcOl, ts ~'egp,' meg
&ou eg)'ik (<4:.ink~bb ~Z~) kÖflyvtc!"
2. K<'szitsiink egy rö\-;d elektronikus kvi~(acOl. amelyben !cgal~bb h~lQm k<'rdés
t:!lilha[6,6; mindegyikhez leg<IUbb fúrom (de o,.;,k egyetlen helyes) vilasz
... nozik!
A k~rd6ek '~<'n d kell hdye znilnk egy gombot, ~melyn;: kauin[\o'~ a felhasz-
n.1ló megjelenjlheli n ~I\:lla elért ponlSÚmot. lia nagyobb k,hiv:\sra v:lgyunk.
a ponlSÚmon kívül jelenítsük meg minden hel),tdl''' dlasz mdleu a helyes
,':\Iasz[ is!
12. ÓRA
II lecke lartlll",ából:
• Nb
• ÉletkOT
• Ir:lnyitösz.im
A bemenetellen6rzés fajtái
Az éJetkor mcz6vel bpcsobtban emlileu problém:lkbóll:lthat6, hogya bemenetel.
többféle nempomból is ellenőrizni kell. Annak viZ5glilata, hogya felh.l51.rrl16 bein-.e
valJmilyen .. nékel a mez6be. ilIeI'-e hogy az én(:k $;dm-e, egyar:lnt ~ bcment.1ellen6r-
~ körtbe tartozik. de a k<.-n6 ~s-m~s megoldast ig"nyel.
A stims:reru adatobt dTÓ 1TIe7.6k eset"bo:n gy.. kr.m \':tl6OOn stiml'öl.. és "",rn ;lnrt:lk
szöveges v:iltOZ:H;ira "an szilksl-gilnk Amikor példlul a felhasznilÓl61 .. szG!e1"_<, hÍ.'!
khjilk, ;ili;lUban "gy m'gy stimjCgyÚ számot \":Írunk (például 19?B), nem f>"dig
egy kar.. ktcrUnc:ot ("Ninet een "event y eil/ht·).
Ósszehasonlft6 ellen6rzés
Az is előfordulhat hogy két " ... z6 wtulmál szertménk 6ssz......etni. PNdakénl gondoljunk
arra, amikOf a fdhaszlÚl6t61 az éI'es jövedelmo!'t kcrdcuil k, majd egy máo;;ik mcz6ben
az hes adója Ö/;.Qegtt, Az adó nyilv.ín nelll lehetlöbb, 'nint a Idp iövedck.~n, lehál
&ZÜkstges lehet aruuk ellen6akse. hogy az utóbbi mezőbe a feJhaS7.náló klsdJb szánlOl
in-t:', mint az els6be,
Mintaelleo6rzBs
A braklerl1n«>k esetl'ben is el6fordulhal, hogy egy adou fOfTlljtumú ~z1kegct v.ínlTlk..
Ha a felha:\znjl6nak péld~ul :I Idefonsz:l.m~h kell belmia, :I kapOl1 adatOl az al~bbi
fOfTlljban kl'rhetjuk (minden X helyén egy-.egy számjegy áll), I XXlI l XXJ( - XllXX
F.b!;Jt,n a leckó:ben négy fajt:l ellen6rz6 \'crerl61 istTK:rltetünk meg, amdyekct a 12.1. !:Il:>-
lát.atban l«'OIrunk fel A I,sclban szerepl6 \'ezMISk nundegyike egy-egy szempontból
(1:!5d fentebb) dJen6nJ~, berrnetl<.'\t'1
12. 6nI • A f8I:IaZn6I6i lIdItOk Ili I5rzhl 1265
,
sonlí!6 ellen6rd.-s rnez6be bin ad~( ki~.
nagyobb-<:. kisebb vagy egyen-
16-e, nagyobl) vagy egyenJó.t:,
vagy nem egyenJ6-e egy :íllandó
~nl'kk<'l vagy egy m.1sik mez6be
bein l'nl'kkel. Ad:mipus..dknőr-
esik...,.
RegularExpressionValidator Minraellen6rzés A:ZI viz.sg:ilp., hogy az adon
lmr:lkter!ánc illeszkedik...,
t'!!Y megadott min~ra.
_ _ .. _ 0
_ .. _ _ 0 -• -
- - 12.1. in
,...,. Q/tWl (ji nrJt"8m<!1;(i1~~ és
....W.I< lei.-á$dmJ
MOSl, hogy eJkktilellük aZ ASP.NET oldalI, amelyhez ell~ vez&lőkt."l fogunk 3dni,
mcg.smcrlcedhetünk n <:mlílCU ,..,lérlőkkeJ, köz(llük is először a R"'lu,redField\'alid:I.IOT
velérl6veL
12. 6rI • AfeIWmj6j Dtok elero6Réle 1267
.
•
~
--
• ..
12.2. ábra
&J{;1Ii1otw" a s:Vt'W'
n'l'%dk lulajikmságalt.
és az oIdalhc.z' adIUJJ"
Qt)' gombot 15
A RequiredFieldValidator vezértó
Amikor II felllaSZruilóIDl adatbeviteit várunk. a ~ kl'!. típusba soroIh:Uó, körelez6cn
megadandó é5 nem kÖlclez6 adatok. A kÖlelez6 mcz& oI}':In n"'7.6k, amelyeket
II felh.,szn~l6n.lk mü/(h."'~1 ki kclltöltenie, míg 3 nem k(l[ck7.6 mez& e:>eItben
a felha$ZIilló eldöntht.'Ii. hogy meg kívánta-e adni ~Z infOllJ);\cj6l vagy sem. Azt, hogy
a kÖlelez6 1flC7.6kbe beínak-e valanulyen adatOl, a RequiredFicldVaJidator vezérl6
segí~1 ellcn6rizheljük.
.....
•
~_ ...
·.·_IoII1.-.I~·
_----_ .~~
....
_.._-- .--•
..., • - • 12.3. ábra
Az ASP.NIoT cldtll
Minden ellen6rz6 vczbl6nek van egy Control ToYal lelne neVU tulaj<;lon.$á&". amely
mcgh.1t~lUZ.Z:l. hogy aZ cllen6rz6 \'ezérl6 melyik vezo..<rl61 v;l:5gálja. Például mivel
3 YalidationControlTeatBed.aapx oIWlon azt szerctnblk. hogy a felhau.n!i16 bcína
.. nevfl, az oIdalho .... ,.doll els6 RcquirodFiddValidalor vcz(:rl6 ControlToYalld,,1Oe
rula;donság:l13 name azonosít6jO v<.'Zérl6re kell illlit:lflunk.
Eg)'el6re teg)iink úgy, muuh:! aZ egyetlen kötelez6 mez6 a ........ lenne. l:!; az oldalhoz
.{loIt RcqutredFoeld\':IJidat<>r \'ezffió ControlToYaUdau tubj<k>nsii~t állítsuk na.e-re.
Ezt úgy tehetjíik n....g, hogy ~ R"'luiredFieldV:iliOOtor velérl6re kattintunk, hogy betöl15ök
~ lulajdon.s;lgait a Properties ablakba. majd kivál:lsztjuk a Connol ToYal iclate tul:1idoo·
>ágat. és ~ mcgjekn6Icnyil61isl:'iból, .. nely n oIo:blon utl.:lIhat6 különböző webes
\'ezb16kel 5OI'OIjól fel (12.4. ábra), a rtame-el '":ihlsztjuk.
12.4. in
t "/assz,d. ~ ti R<"I"irnJFie/dI)'lldmor
álUlI .oJk:nörlumdó ,,,,,,éri&
116r1 • AfIIlamoi6i .... ' . .. 12&1
, .. _---
-
..-ver Error in It:haot... 12' Ai leIIt,on.
• •
.-
,; ':" ~::!'"~.• ~..:~
.. ._..
r_ ... .-
~-~
_..__
. , ~
.---- .---.-.
'
.-
12.6. 6bn
, -
,~..w
.~'"
•
...;,:~ '~ _.
, , .... _'.--
, tlluquirot!FieldlallMI()('
Erro..-.l/<'SSIlg<! IUk'jJrm-
«Igá'Ull! bOOlIi/1Isa "uh,
__
a RequiredF~ldValklalor vezér16 ugyarus nem jek.-nik meg .
._- _..
........
. ': .:_r
....
- •
•
._-
.! -
_.._- 12.7, libni
.- .".,-
A lal/d<lI/onConrrol7'es/8eJ,aspx
uWoú1n1 tIZ l'ISV be!lJI/éslror
\105l kmunl.$unk a Chd< Me l(OOIM allé/klll. hogy bámtil}'erl SZÖ\-'t'get írnánk a name
mcz6bc. Mi lÖ1téflik? Ha olyan böngé>z6t haSZIÚlunk, amdy támogaliJ aZ ügyféloldlh
parnna;kódo!<al (lényegében minOC"fl újatJb böngf5z6 ilyen). a gomb llIegnyomiSol nem
killd; cl:lZ arlapot. hanem előh,,;,,- a You ....st pnwide your name (Izenetet "- névmez6
l2.ln-AW 4i6i ...... nl .. f ll m
~ _0- _o..
..... -- ... . -~
..) O r ; .. - - 0
__J_
-' '-- J
12.1. "
A .... _~"'*"
~Ur .. lilu "'WI' pro..úM
your _ _ ~
Most ITJunk be valamit a ntYme:zt'lbe, m:.ljd kattintsUnk egy misi}( me:z6 bel~, hogy
~tvJgyOk ni a f6ku5Z!. lb olyan böngbZŐ!: hasUl1lunk. amely ~mogatj:l. ezt a szolgilta·
1Jst, a szln.-eg beíd5:;r; ulJn a ntvmt'~ vaJO ellanml15 var1zs(ltés!"e eltQnteti a YOU
... at provide your _ O:renetet a mez6 mdl61. Ib bOngbz6nk nem rendelkezik
ezzel a k~, az l1:renet a ktpemyón m:.lrad. de ha a ebek Me gombn utun{\"l!
Úfl1' elkilldjük az llrbpot, az okbl újntöltésekor elulnik.
"" "
. . ...... ,_ ...... •
-.
O - ·O
.'.
.!l; (~
.....
--e
,---
" . "
•
---
t _ _ oI _
J
l
---- 0'::''''_
12.9. ibrI
Az .irlapol érr.'it.) .cIcrz
,.dmoi<lrt>l n)'ujlolltJlJ be
.....
l ,,~
0-' 0
-_ ... -
" '...... _
. .. ....
'~'_ " """
El&zOr is, nunclen ellen6rz6 vezé-r16 eg)'etlen beviteli vezé-r\6t vizsgll, amelye!
a ControlTOv.l1date tulajdonslgban ha~rozhatunk meg, M~.sodsl.Of, \'\llamennyi
ellen6ro'): \'el~ van <'gy EnorHelS'1l6 lulajdons;1ga ls. amelyben U1 u Qtenetet
ad/l2tjuk meg, ame~ meg ~ jeleniteni, ha a \~h \'ClrI6 &vbl)'lekn
adatol. taiUlnuz. Ilal'TlUcbzor, az ~1I~n6rú5 mllkOclbe anól filgg, hogy a ~log;It6
milyen böng6l.Ő\"el ICkinti meg az oldalt. Ha a f~lhasuúló megf~1eI6 kfpess!ge:kk~l
fdvbl~zctl böngész6vd Mc~zlk, II kisl.018~16okb1l ~1Ien6l':1:é!I meUeu üsrféloldaU
eUen6rz6ire is 501" kerül. WgQl, progr:imból ugy ~Uaplthatjuk meg, hogy II fdhann,,16
;iltal beYin adatok rnegf~lel6ek.e, hogy megvizsg1ljuk II Palle. IeValid tubjdondsot.
A ComparaValidator vezérl6
A CompareVa!idatOl" v-e~ II fdhaszn116 :ittal nqadon énaet ~gy "llaOO6 b1&k~l
vagy ~gy misik be\it~1i mez6 b1ék~'d hasonlítja Oos$tt A ValidatlonContrQl·
,.. . tBed. upx oldalon példjul az utolsó kl'! mez6. amelyekben a gyermekde szim1I,
illetve II fiúgyermekek mndt kérdeuük. ad", =gjl arra. hogy a Compare'hlidator
v~zbi6\'el ÖSS2ehasonlílSUk az b1tkilket.
Az.. ouzes gYenne:IC ~Nk megadhira srolgjló mező értéke péld;\u! O vagy enr*1
nagyobb lehet. A fiú~kek sdrrdc kérde7.Ő met&e Ug}"::I.nez ~"0n2tkOZ1k. de ebben
II ~ emeIIetJ. nem SlCf"ePdhet nagyobb érték, mmt az ~l6z6 mez6ben.
"'"
........
.~
~~~
~t" ,~;
~_~
_-_ .... _---""
.-...
.. .- '
y .. _ ' -
_. 4-"
-_ot_I<
11.11. Mn
- ~-
'l)'Comps..llJJlM/W
.edrl6 hm.......d4 ' ..
"""
A CompareVallda.tOr tObbrtle 04szehuonlltbra képes. Megving;l.lhatja abemenetet,
hogy az kisebb vagy nagyobb-e egy adon értéknti, vagy egyerU6-e azzal, de an bt
mes tudja ~lIapltani, ha az adat nem egyenll5 egy adott érttldcd. A vtgrehaj[and6
OSQehasonl1W n~t az Opentor rula~ hatbozza meg.
276 1u. l'ÍI&l • r.lwszroMói eCIItOk ~ " ftIcWuo'.!
o Equal o L.eU'l"han
o NotEqual o L.e&l"l'hanEquaL
o GreaterThan • Data'!'y~he<:k
o GreaterThanequal
MIvel most arról sze~nk meggyőződni, hogy az összes g)'ennek ~m~ mez6be bei"
énék {\ ,""gy annil ""g)'abb wm, az Operator !ulaj<;londgot 3 Gre"terThanEqu"
(nag)'Obb vagy egyenl6) énékre illitjuk.
A:I. Operator tula;donság mellet! be k('J] :\lIítanunk a Type tutajdonsjgat is. Ez a tulaj-
~g ha~roZZ3 meg, hogy a bemene\nek milyen ad:ntipusba kell !anoznia. A Type
tulajdonság ug)':lnúgy:il Propenies ablakb:ln Mlt'I6 el. min! az Ope:rator tulajdonság,
és a következő értékek ~'iké1: veheti rel.
o String o D!lte
o Integer o C1Jrrency
• Double
_ __ ._ __ ..
valami oI~1l.Smit kell látnunk, mint 3 12. 12. :lbrán.
, -...-r--
.. .-"
-- 12.12.6tn
.• ,
• -=. II ComP<'ro\ alfdtl/Ot'
goruJo.</todilt rr'"JI4,
IroSYn betill éné/c O
,~' I/..g)'obh /eg)""
.....
. . ..... ---
),"', _ , . ,.. ,. ,~"
•
" ..... '.- -
f __ _
-
-.
e. •
•
,.- or_ ,
___
I ri
_
y ... _
....-
.. - . . .....
~_.I
, ........ _ .. _ _ ... -
.-
12.13.6tn
bU<I/J1c/err bcn"'I/ef~.
megje/ctlilr" m~ hihallzm.ef
Minden olyan ért~k. lmn nem egt'sz szám. nem O vagy rnlgyobb ()"nál. trvén}telen
bemendrlek min6sill. Ussunk néMny t*ldát:
218 111. r6sz • FIIIasmM6i ldItOk m!~." WdOIgO'.'
• Srou
• -4
• 3,456 Ca vessz6 miatt érv~ytelen)
• 3.14159
• 3456
·,
• O
• 45533
Az 11landó alapjtn, illetve egy mbik mezl'l r!rtr!ke alap~n v!gtelt összeh:uonl1tb
kőzött csupin annyi a kOlönbsr!g, hogy az el56 esetben a CompareVaHdalOl'
VdueToCornpare tulalOO~g1ban adunk meg egy ;illandó r!rtr!ket:, míg a m1sodikban
nem 3 VelueToCompa.re tuLajdo~ghoz fordulunk, hanem 3 ControlToC~re
rulajdo~got ilJitjuk annak a beviteli vezl'rI6~k az azooosíl6j:1ra, amelyiknek
az ~rt~kéveL ooze "'eretnr!nk vetni a kapott adalot.
12. óf1 • A IaIJazn6I6IId11Dt aI& l6:áll 1279
"' ...
• ·--I-jlol" '~.lI_'.&
=,
.--
"o
--
--- -- 0_
-- -
o 12.14. tibni
A 100aIChi/d_,
•
"""'-
"8y eompare I 'aIilIator
ue:drl6l adt"""
lIZ.ilyen hi~k eUen úgy védekemcrtlnk, ha ugyanazt tesszük, mint az összes gyermek
mma mez6 esetében, egy újabb CompareValldator vezM6t adunk az oldalhoz, amely
azt ellen6rzi, hogy a fiúgyennekek sd.ma meUiben O vagy annál rutgyobb ~~k
szerepel-e. Húttunk teJút egy újabb CompareValidator veztrl6t a .... leChUdr .. n
~z6 nW 1&ez6 Compare\'ahcbtor \'e~ mögé. Enndc: a'~
a ControlToValiMt~ rubjdonsltp 1eg)"ttl . . leChildren. a 'fYPe IUbJdon$Itp
Int evet, n OPetato" IUbjdomJ.ga GCHt.rThanEqual. az EtrocM.... -o'·
tub,dond·
ga"nle number of _le children .... t be veHter t.han oc equal to O CA flu~
kd; wm;i nem lehet ~nál Josebb). a Valu.-roc.-pan tub~ga pedig Q.
A 12.1S. Jlrin iJth3tjuk. hogy:!n fest az oldal a Visual \\m o.,'·elope,i)ell
az úl Compare\'alid.:uor vezér\6 hol.Zbd.i$a ~ 1U13~8ainak bdllil:1$:O uL'ln
12.15. an
A}lllg)........ e........ udmtl,
ItInIn8 ma6 ('/kt,~,.
s8tc::: <u" okW/J= "i/,,,"'-'
_o.
- mt'B <xr Co11I(xlro\,<,lldaror
,.-a
M,udn en ~ Compare\~lidator veUrl('k is a~ okblhot. adtuk, az ASp'\n okblon..dr
mclJiclcrnk egy hibaOzenel. tili a fellJaSVL11ó I"ICtptiv Wlimot ír bt a AÚg)"ffTIlCkek
$dma mez6be.
A RangeValidator vezé~6
AllOS)' az előző részben l~nuk, II CompareValkbtor veúr16 arról gondoskod,k, hogy
a bevin ~tk megfelel6en viszonyulJon egy Jllandóhoz vagy egy rrulsik bevitel!
vezér16be beiM ~tkhez. o., mi a helyzet akkor, h:i an $zeremtnk biztOliílanl, hogy
a bemenet egy adon 6ttklllnom1nyba essen:> Compare\'alkbtor vezér16b61 ekkor
kell6c kellene hasznilnunk, eg)T{ II I2rtOfNny al~ h:itlr.:linak elJe~
(Gruter'rhanEQual), egyet pedig a fels6 kort:1l vizsg:lbtlr.> (LUI11>anBqual).
Adjunk egy RangeVJlkbtor vez~ közvetlen aZ alle szövegmez6 ul~n (12.16. ibra) .
,. .... _~_
-
... - .-
_ _o
_. 12.1 6.~
Ar ASP.I>IT vidal
<'8)' I«lnsel a/ldal'"
I,ezbú5 h~ uM"
Ahogy a többi ellen6n6 ''ezéM Q;etében tet\ük. most is be ken állítanunk a Cont-
rolToV"lidate 61 ErrorMelsalle tulajdonsigokal. Mivel az alle mez6be beírt i!:rtéket
kív::injuk vizs~lru. az ..16bbi &téke 1('S}'en "\Ie, mig u utóbbié Alle must be between
O "nd 150 (Az i!:letkor mez6ben egy O b 150 közötti szám "dIutó meg).
Most már csak annyi V,m hátra, hog)' megadjuk az életkor mezllOen elfogadható &tékek
lanorn;\ny1nak alsó 61 fels6 hatáclt. Erre a Rangev"lidator vezérlő M.. xt_V.. lue ts
Min1.mumValue tu13jc1oru:;igai szolgálnak. Mivel <'SY O ts 150 közötti 61éket szeretnénk
kapni, a Hax1mumvalue legyen 150. a Minl!1'tWaValue pedig O. Az említett rulajdonsi-
gok be;1l1ít1sa ul!in a képem)'Ón ölyasmit kell I:\munk, mim a 12. 17. ;ibr:ln.
• •
__ 4_-
_.. ... _---
---
,
_
""----_
!I._._-_
--
. . . . .
"'_ .._-_ .. __ _""
_- ~
- _._~
..
.- ..... ... ,
_.
12.17. Mn
lit" oldal .. R.o'W-1W/d<JIor lul.ojdollSÓ(!,.afnm. bI!d/J{ldstJ Ulón
"""""'"
Hameo 1IZtQ~ 1JfUi. SabáIYOS ~ ~ OIVI$$Uk ti N An
Idrodudion 10 ~ b:p-1ISSIÖl!I(http" 1-... 4!11lyafroarolla .coal
webtech/090199-1 .aht..l l, .1\11 I CorI.hM ~ d ~ fxpttssiom
thttp,II-...4guyafroarolla. e_lwebtech 11~O'OO-1 . Iht..l l clmll
cikkHat. Ezen kMiI. htt p, II """,.regIXPl1b.cOQ/ clmen eqv kit..,.dlllIbi-
Iyosk~tjezft:-gyait'"*'vt i. talhllri;, ihM oivasgathstjuk a k616JSég leveleit.
. . ._4_r-
_...
.......
__ o_ 4 _ _ •• _ _ _ _ •
:=:....._=
'!to_ .... _ _ .. _ _ • __
~-
--
_
:::=:-
-
--- . -
_........ ..
12.11. iIn
lU" ASP.NU oldal tg)' Ikgular~ \'al/dmor verIrl4l1on:c1ndds<1 tUdn
Ez udn ~Jlil5Uk
a vez&\6 Cont r o11'ovalida t t tula~gil az BBn énélrn:, a hibaü-
zenet (ErrorMIl Ma&lIe) pedig legyen 'tour 10;;1,1 lecudty n~r IllUlt be in the
fOnalit lOtX-XX-XJtJ(Jl (A t1rsadaIombil1O$Íthi sdmot lOC(-XX-XXXX fomdban
kell megadni).
284 111. rá.z • flllM:znM6i ldItOk ~ " feIdoIp&'
12.19. '*n
A RPgu/ar Exptes</o" Ed/mr
párl>i=h/abl<1/tbo" _ ""'8"doIl
"" II <-I
.mbiiJy><Jd.fr}eU$-"",,1d1l ~iJ
,"tl/aut Mtu "Ir
A Nona átl:k.et vtlamva J hiw.OlCll<.'t nem jelenik meg, nll:g ~kkor sem. hól a (ell\ól5wl6
&\'61)tclen be.ile •.etet adon meg. Ha a Sutk bdl!i1J.s mellc:u dönlank,:az oldal akkor
is fer\flGlnj:l. a hib:lüzenet heI).{:t. ru. :az roo=m Uth:ltó. Ib azonb:oon a 01'"t'lay tula~
go! a ~c tnl:l= tllilruk.:az dlenOrliS vezérlő hibaüzene\e CSlk akkor fogbl heI}'eI
uoldalon, ha!lOf" kerül allNk~.
"
• - .:0--_ ...... -
--_......-
_..... _...._, -
1
--
12.20. jin
A '"'~ /flt r"",,,,,,, 'oai'rl6l tl(Jruldo az okkJ/JI()%
Wgül hú:uunk egy 81.111on \'C'z~ mmdkok !W)I'cgmelJ('l al:I. A k~)'6n ckkor
oIpsmit kelIlá(llunk, monl a 12_21 ~brin
286 1U. r6sz • FeI1eIZn6I6i lCIItOk ~" fIIdoIO''''''
lZ.2UbnI
flt m.t. ilii R('(jUlrodFk/dll>/idalor ls surepe/
~._. ,., .. ~
""-_ ...
n. _ _ ....... _
12.22. ~
Az ares IenIW CIIIr.:I " RequlnldAddI'alld"lOr..,,-hI6; ,,1tU'I)~.n Dfsp/IJy mJajdonsOg<ll
St,,{k·,.,. állflonult
. - ..__...
_ _ . . _ _ tIOO ... _ ....
~'
•
~-_.~--
lZ.23. 1M:n
Az O/dtJI Q gombra lIall"'1d$ me;"~
vJ.n
• >óize. Bold MI).)
Összefoglalás
Am,kor a Fclh.Jszn:'l16kt61 "wuokat kén1nk, általában lényeges. hogy ~ bevitt adatok
mcgfelelj(.-nek birooyos követelményeknek. Egye:; mezőket kÖldezó\-é lehetünk. nl.1s
meWkbcn wnlbtéket kövctelhelOnk meg. de az is elólordulhat. hogyabemenelnek
egy adOlt é-nl!knl!l kisebbnek kell lennie. kl!!. ~lIand6 értl!k közé kell eo;n,e, \":Igy
valamilyen mlnUr:I kell illesz.k:ednie (~Idául amikor egy EgyesOlt Államokbeli
irlnyit6.<;;clmot v1Irunk, an~lyn"k fom1lij:l XXXXX vagy XXXXX-XXXX lelll.'t, ~hol
minden X egy-egy wmjegyel jeleni)
Kérdezz-felelek
K: Jll)isplay tulajdQ"uis",.k IlÓrom bcál/ítá.Ulle!tct ["olie. Sltlllc és Vpuwric_
.II Sltlllc 6" DJ7ramic bcQllr"rásoJl L"llágo.klk, de ml szrlks<'ge lehet Wirld"ck is
a Nolle énéltrc?
v: ~la egy cllcn6rzó vezérlő Display nrbjdonS>igjt a NoIle értékre ~lIitiuk,
az ErrorMesAag" tulajdc;>m:1gban megadott hilxrilzCTII.'t I!{)/ra nem jelemk meg.
filgget1enlll an6l, hogy a ,i~gált adat én'én)"eS-C. Jogos a kcrdés, hogy mi Wikseg
lehel elTe_
Az egyik ellen6n6 \~1.bi6. :.IlTleUyel fl('ffi r6z/ete;en dlbm
rogl~JkOZlunk
a fejezetben. 3 VJhdauonSllmnury. amel)' kJina n ~ oIran. a "ebokbJon
5Xerepl6 eJlen6rz6 \~1,!rt6 I::rro rMftua!l. tulatdonsá~l, amely ~I'\'énytclcn be-
menetel. jelez. H~ ~'5ZOI11 minden ellen6rz6 ~ez6i(,! Illegjeleníti :I saj:ll hlb:lüz,,-
lle1et. ts a \ ahwllonSumm:lry is kiírjo. azokal. akkor mondt:n hibaOzenet k(uzer
fog sze. epeLru;u: oIcblon, fútt a \';tli<btionSumm:ary v"zérl6 haSloo!at:lkor
qn't'S f~ t;, ~,_,.., :l.llil",k:.l többi dl~ \'e.ttrlc"l Di8pl,oy lUbJClon$;log1it.
Itog). 3 hlb:a~ OOIk a \ 'ólli<:blionSumm;ory ;elen.t5Oe nq.
Iv. II.rro """" U!I.. ;5:l1 Tex~ IUb~gokJcd:.lZ! is meglC'heIiOk. hogy u ellen-
órzó \=frI6IIe1ym, iIkt\."e:ll \'aIKbtionSunvn:lry.oen ~ hibaOzen!:l tclmim
mt'8. Hl! egy ~ "t'z!rt6nek mind a Tl xt . mind n !rro r~.uliI" tulajdon-
~IPI megadjuk, a \"ezl'r16 hel)'b> a Text ml:ke .,-un:pel majd. míg a7. Brror-
1ol ... S4lJe a VahdotlonSunulIary-b<: k.·ru) Ola n oJcbion '.In
ilyen \"czérl6). Te~t
a= is Iehet65tg(lnk ' .. n. hogy u Erro r Melugoe tubjdon.s:1glxin reszk.'teS leir.l'lt
~k a hibáról, mig a Text IUIa~gWn CSlk l'Ö\iden (akár CAk egy oill<lg-
g;.ol) ;elezzílk. hogy \'3bmi gond \'3n:;a bevtn :;acbnaJ,
1(; AmÜllQr ti !f'ih(l$Z>1d16 ti ml'8fekl<5 gombra IIDlttnl. az <!Iknlin6 L'f!Zht1
[('gr-ehajlJa az e1Jc7l<5~ Iródot, ~ qo' o{\WII Mfgse gombol elh<!I.lo.'Z,,1
azOÚfaloll. amdl're Mlltlm/w áwgorhaJó az elkt/6rrés?
v: A Bl.JttOfl, UnkBuuon b hl"l:l~BuUOfl webc5 \"ezMőI< egrar.ínt rendelkeznek
egy CauB"'lva l l o:Sa t !on neViI lubjdondggal, ~melynek alapbtelmcb..'1t bt~ke
True , Ha eZ! a tula;<.lonságol rilb ..... ~ ~lIilluk. ~ gombra lo.t1ÍntVll ~lugot'haquk
az eUen6r7l5 k6dot.
Ismét16 kérdések
I. Melyik IUb~got kell bdllíl:lnunk, hogy egy ellen6n6 '"ezérl6 egy adott
hiwOz"netet ;elenítsen meg, ha a bem .."ék l .... 'en)'t.,Ien?
2. I logyan befol~I~1 a Ol s pjllY tulajdons.íll al ellen6n6 vezérlői< h;b:lo1l~'n('t~
nek megjelerlbéc?
3. sok ...ehhel)' lehel&"o!: tcszl ~ fellw.zrul6knak. hog)' r,6kokat llOZUr"l:lk It'lre,
H6k lélrehozás:lltor a felllaSlNJ6nak 1ilulában meg kell adnia egy jclsmt.
3metyet k~ keU beimi2. hogy az dgt'pdé5b6l eredő hib1lcl kilcUsn'\bOtfÜk
Tqnilk fd. hogy egy il)"cn ,,~h kdl eikeu,'enOnk. MeI)~k cilcno5rz6
\'eúr\6I: h:&sznilnJnk anrutk el~. hogy 3 k& 5ZÖ\egmez6beTt 3WO()1;
(:nék 5leI"epe1-cl
4, .A Corrtparc\l;ditblor \"ezéri6\~1 dlen6rilh~11i.lk. hogy egy élték megfelei6
acbttípusú-e: Igu \'ag)' h:mlls?
5, Mik awk a ~z.alúl)'OS k,fl'jezésoek, él; mién 11OI5ll\05 a RegularExp~ion\'~ hdalor
\'ezérl6?
6.•.Monden """ildi ,-edt16h6z legfeljebb egy eller06rz6 "ezér\(\( r<'IKieJhetilnk."
Igaz '""gy ha.1f\IS?
290 III. rMZ • fllhllzn6l6j edetok ~ .. ~"f
Válaszok
1. Az Error-lIena\le tulajdonságot.
2. A DhplAy tul~jdons;1g a kö"etkezőlúrom fuék egyiktrt: állítható, None, Sta-
tic v:.gy Dynamic. A None bciUí~:;l v:\.laSZlva a hi!xtOzenet soha nem jelenik:
meg, fiJggetlcnaJ all61. hogy a bevin "nék érYén)1elen~. A Static beállílhsal
helyet foglal unk a hiOOOZ~-nC1 sz:lmánl a weboldalon. akkor is, ha annak ~'g
jek-nító:sl:re nem h...al sor. A Dyn.....tc be:illil;\s ezzel szemben nem foglal le előre
helyei az ellen6n6 ,'ewrl6 hib:311z~""ek (lásd a 12.22. és 12.2}. ~br:ll).
3. A CompareValidator vezérl6l kell haszn:iJnunk, és anllllk contr-olToValidate,
illetve a Control~re tulajdonslg:lb:3n kell megadnunk a két szövegmeZÓI..
az Operator tula~got pedig az EquAl énék~ kell.illíununk. (A 3. gyakorlat
t'ppen egy ilyen weboldal elk6zítbd célozza.)
4. Igaz.
5. A szabályos kú~;elk:s egy olyan br.l.kterl.ine. amely karnkten.4<et és külOOlcll"5 je-
leket tartalmaz, 6< ~'g)' által:inO'! mlllt!it hat!iroz meg, a RcgularExpressiollValidator
p<'"<llg egy olyan ell0m6rz6 ""zi'fl6. amely a oc'\"iu ~datot egy l<Z:lbálY"" kúejcz(os
Sl.'gitségével viI.sg!ilja. AZ(-rt 1\aSZtIOIS ennek a vezér\6nck a haszt"\illata . lnett [gy
goo~odhatunk róla. hogya bevin adat megfdeljen egy bizonyos minliirntk.
Ha péld1ul nt szcreménk. hogya fdhaSlJl:lló a 1I,lefonszin~1 xx-x-xxx-xxxx
formában:<dia meg. ~hol minden X egy sz:\mjegynek felel meg, en könnyen
elérht.1jOk a Rcgul~rExpressionValidalor ""8Ít~gével, de mls ellen6n6 vezér"-
l6>'eI nem.
6. 1·l3mis. A webe:s velérl6khöz !et5z61eges számú ellen6rző vezérlő ka~lható.
Ha v,m példiul egy Tex\Box vezérl6nk, amelybe a felhasznJilónak a ÚThada-
Iombizl05íl!isi sUinúl kell beimia, ~Iszertl egyszerre igénybe "cnni cgy Regular-
ExpressionValidator vezérl61, ~mely gondoskodik róla. hogy a beín adat meg·
felelő fOmUtumú legyen. ilietVe egy RequlredFieldValidator vezérl61. amely an
biZI0:5ílja, hogy a felh:w.n:\lö nem h agyja ü~n 3 szövegmez&..
Gyakorlatok
l. KbzjlS(lnk egy egys~ ASP.Nl' · oldalt. ~mely kt!. ReqUlredField\'alidalor 6<
egy Com~reValidalor veIkrl&. alkalmaz. és arr~ kéri ~ fclhasm3.1öt. hogy adja
meg a kél kedvenc fagy13lttípus,1t Ehhez ká szövegmez6re lesz Slükségünk
Adjuk az okl:llhoz a szOkséges ellen6rző "ewrI6ket, amelyek gondoskodnak
róla, hogya felh:lszn!iló mindkét mezőbe beifjon valamil, és hogy awk tartalma
dttr6 legyen.
2. 110zwnk létre egy ASP.NEl' oldalt, amely a felhas:m.~IÓlöl az e·mall dmét. illetve
a honlapj:\nak al URL·jét kéri. Ussuk el az oldalt a megfelelő ellen6rz6 "elér-
l6kkel. amelrek biztosítj;1k. hogya fclh:lSzn:\.1ó legalább a levélcímét rnegadj~. és
hog)' mllld az e-mail cím, mind a honlap URL-je a megfelelő fOtltÚlUmÚ legyen.
(lipp, " lI.egulJrEJcpre,;:slon Va!idalor vererlő ReguJar l:Xpres.sion Edilor .uerkcsz-
16abbJdbcan k~zen kapou $1,:ob:lilyos kif,*zbckO!t IlIJ.ilunk az Ífllemela Icvtki-
mekhcz ~ az ÍfllernelC:5 URL-ekhez i:!il
3, sok \\'ebl1dy khO!tŐ'l'é le!IZi:l feltl<Wl'dlóknak. hogy roóknlal hozzall:lk létR'
A rIÓi< ~kor a feIJl<Wl'dlOnak lliW>an meg kell adnia legaL1bb a ki.':!:ru
felhaszn,1IÓocve\. egy ~ ts egy .. _mail címct. K~l.il5Qnk egy otpn ASPI\'I!T
oldali, amely !légy TcnBoJ{ vererll'X 13l1almaz: egy 5.zlJ\'cgmez6c " relhaszn1~,
egyet a 1..'V~lcím. ~ kClI6t a jelszó mega<Üsi ..
A1lho~ t.ogy II bemenet kvblyes \e8)'en, minden mez6c. ki kelllOheni, az "'-ma,l
CÍme! ~~ny05 form,itumbóln kell megadni. a ká pclsz6meUibe bdrt tn~knek
pedlg meg kelJ eg)·eznic. (/';C feledJük. hogy ez ulóbbi kl:t mez6 TextKode
rula)don.d.g;1it PlIss-...ord-re kelJ 1JIíu.nunk..)
(Ahogy II 20. fejetetben Utnl fOSJUk. az ASP "'ET-ben tObbféle ~1 .. ntkez611-
login - vezérl6/.;~ u.Wunk, amelyek felhaszn.116i felillCle\ n)'újl..:mak vAn}(l:S
felhawdl6kezdési mlIvclcthcz, lOObek kÖZÖlt a flókok JétrclJOti.s;thol. Ennek
ellentre trdo::tne!l el....égc:mi en a g)'"'IkorblOl. mert Mtka llIp:l5Zblalhoz
juthatunk a be\'lteli b ellen15rU5 vezér\6k haszrdbt.a len!n.)
III. RÉSZ
Munka adatbázisokkal
13. óra Bewzelés az adath.iZ!5Qk 'lÜgÍb1
14 óq Adatok li . I az .... dotra·~
IS. 6tI AIMtOk megjelenil6se I WIbU ~
16. ln Adatrlt tbrlésa, ~ 6s~
11. Óf' Adatlapcso/t lanYI6 mik, vi1as:z1690Ulbok és
J8IöI&~tek
l B. ln AlIldltUpcsolás is rM$, IldetoUaI ~apcsolat05 témák
13. ÓRA
• Az ailillbbis fog:llma
• Az adatok drol~J'l;lk módll' 3l adath1ZtWkI);l.11
• A,b!I>:11.i.súbl~k, -<l6Z10p0k éi-rekordok b kapaolaluk n aWlok l:\roI~dv;l1
• Al. ad:lt~zistibl.lk 05zlop:!iban tárolható aoollipusok
• It I,,~~ k~kedelmi ho ing)YIlt'S ~cbMZis-k .. ~eI6 rendszerek
• Adath11.i<;ok é:S 3d:nbbntibllk k.1rehozls.1 a MI<:IQ6Oft SQL SeI'\'Cf 2005 Expra<i
"""oonhm
Az ASp.,,,,, egyik Ieghasznoabb ~ legh:lIékon)... bb~lwisa. hogy.az ASP-.:n
"'icbokbbk ktpaek:ll adalb:bi$-keU'llS ~t"l való zOkken6mentes eg)'l.mmO-
ködbre. lu adJMz,sok. ahogy ebben II fqczcllx"n (jUli fogjuk, olyan szofivcr.dkalma-
d50k. ameJyek<'l. adatok h3!~kon)' r:lroiiSl1ra ter.el;lek.
EbI~n II leckében azt "i~IIUk, hogy mik azok az adalb:i.zook, éi hogyan ~roIJ'ik
az ad:nok:at. Rm;<!en ~('I.Qnk nBdny:ol II Iegnépszer(!bb kerekedrimi & lIl8Yene5
adatl"'ilireo<bzerek kÖZUI is. de els6sofban II .\11CfUk111 SQL Ser.er lOOS Ex~
f.dJlionre ÖMZ[X>I1I,,.,~unk, ~me/}' egy oIpn IOgp:na ~dalb:1tis-k.,~clo'l. ~n~l}'ec
II \'i5ual Wel, Oc\d<J~ t'8}iln telepilellUnk :IZ I, 6r1l»n. A Ic<:kc ,q.:."re énL"f\i
fOS/uk az ~dllb"l.lWk nu1kO<J('Sén.-k alaf'l'lil. k IUJni fugjuk. hogy..n h01.lUnk I('(re
egy 3dalb~~st, e, ho!!y nukfm löl\SÜk fel lIn ~d3Iokk31
Az adatbázis-kezelés alapjai
\al6szinúleg rTÚr lullonunk;lZ f'datUtizisvlmil, de oem bi;o()l!;. hog)' ponlO&:UlluJfUk.
mi is az:lZ ad.llbhJ$. ~ hogy mnt' Il<lSuUljjk A Iehec61eg<..'g}-..zcf1lbben fogainun."
az adul:d1.lS struktu ..~h a<btok gyajtemén~·c. ~lTIC:ly.,kl't h;olékony~n MJelunk cl bo
m6tJ0síthalunk
• .lflcTOKifl SQL Sen oer- http:// ......... ",i cr< 10ft. cm/.ql/
• Omcle_ http:// ......... or.elo• . o;<lOIt/
• lBJI D82- Iltt." /1.......,-3. it... eom/software/data/db21
• Microsoft Access - 1It.t..,: II ......... .. icrosof t , cOln/oH ic.. ' ace ..""
• 18.\1 b>fonllt>: - http://'''''''' 3. i bm. coml so ftware/da ta/l n fond " l
A Microsoft SQL St·,..."r 200'; Express Editiorn megk;tpjuk:o VISUal \X'eb Oeveloperrel
együn _ koclbban mir ldepileuük is. B:í. a könyv nlintk!n adatbM..ispéld:ljában
a Micro/;()ft SQL Server 200'; Exp= Ednionre tolmaszkodunk. ne gondoljuk. hog}'
a~ ASP.l\'ET oldalak CSJk a MicJo.o;oIi sai;\l adath\zI5-Juo.zeI6ivel k"'J>C5""'k együnműködni.
t;ppcn ellenkez61eg' I"'nycgében b:i.mdy adath\zi.srendsZ<'1" clM"1et6 egy ASP.NEr
oldalon keresztül . Teh;!t h~ mi vagy a dgilnk ndsik adalb:i;tis-kezel6t hasznil. ncrn kell
agg6dnunk , továbbra is dolgozll:uunk 3Z adott rendszerrel. A könyv példáihoz azonban
II Microsoft SQL Ser:er 2005 üp= Edilion használau aj.>nloo.
12. /in • AleIIIUMI6i edItOk 11100rzh'clc"""'___
~
..... _..... _-,- .... --,...
. . '."", 4 .&..~
_ .._.
_.-'
_.._-"
.....
-"-"
12.2. jin
BedlHtomd. ti .<ZÓt"!!-
~ mltlJdim.«lgaU,
'. '
if< az ""Mihez NI/mIII
'"8J' 8<'mbol is
A RequiredFieldValidator vezérl6
Amikor ~ felhagrill6!óladalbevilell várunk, a bernt-net ké-! tipusba sorolhaló: kötclcz6en
meg:ldandó és nem kÖlele7.15 adalOk. fl kötelező n>eWk olran mezők, amelyek ....
a felh"sználó"'.1k mtm/cnképp"" ki kell löl((:nie, mig:1 nem kÓlclez6 mezők e!ieI&n
3 FelhawI.'i1ó eldönlht,"I.I. hogy 1Tlt-"g kív:lnja-e :.dni:u infonniciól vagy ,.;em. Azt. hogy
a kö«:lel6 mez6kbe beinak-e valamdyen adatol, a Requirt."dFieldValidalor .'ezérl6
segíl5('gt""'el cU ..."IlI5ti UICIJÜ k.
--,
,. _
.. ..--"
_ .. __ .. J
- --
"""*,,, 1
0-,
•
:-_-::- 12.3. jin
Az ASP.i'iET'oklal
""" - ti Rt'q"Irr.-dF1eldlnUdlllOl'
~Ó houtJadAsa ..UI ..
Z68 IILrMZ • FeIJam6IÓi adItOIr. "'''tgyIlpbl nltklollgo ....
Minden ellen6rz6 vczbl6nek van egy Control ToYal lelne neVU tulaj<;lon.$á&". amely
mcgh.1t~lUZ.Z:l. hogy aZ cllen6rz6 \'ezérl6 melyik vezo..<rl61 v;l:5gálja. Például mivel
3 YalidationControlTeatBed.aapx oIWlon azt szerctnblk. hogy a felhau.n!i16 bcína
.. nevfl, az oIdalho .... ,.doll els6 RcquirodFiddValidalor vcz(:rl6 ControlToYalld,,1Oe
rula;donság:l13 name azonosít6jO v<.'Zérl6re kell illlit:lflunk.
Eg)'el6re teg)iink úgy, muuh:! aZ egyetlen kötelez6 mez6 a ........ lenne. l:!; az oldalhoz
.{loIt RcqutredFoeld\':IJidat<>r \'ezffió ControlToYaUdau tubj<k>nsii~t állítsuk na.e-re.
Ezt úgy tehetjíik n....g, hogy ~ R"'luiredFieldV:iliOOtor velérl6re kattintunk, hogy betöl15ök
~ lulajdon.s;lgait a Properties ablakba. majd kivál:lsztjuk a Connol ToYal iclate tul:1idoo·
>ágat. és ~ mcgjekn6Icnyil61isl:'iból, .. nely n oIo:blon utl.:lIhat6 különböző webes
\'ezb16kel 5OI'OIjól fel (12.4. ábra), a rtame-el '":ihlsztjuk.
12.4. in
t "/assz,d. ~ ti R<"I"irnJFie/dI)'lldmor
álUlI .oJk:nörlumdó ,,,,,,éri&
[!O' mos flgyclmc.-Z1~, 113 3 ~ntrnl ToValidat.IUll~goI eg)':odon \-eléri6re
albIjUk. nujd alUlak azono:>silÓ\;i1 f1'I(')o(b;itjuk, :lZ ASP,NL'T oldal böog6.l:tibe \'::d6Ile1Ohlo-
".,kot hib:lllzenelet k:!punk (Iisd a 12,5, ábrlíl), Ennek 3Z:lZ ok:!, hogy az dlen6rdi
\'elérl6« Cont ro11'oVal idau Lul~jdonsága nem fri.\.sQ1 ~ulon1al.ikusan. 31l1ÍkOf megv:l1-
tuzt;LlJUk az általuk v~l! \'1:7.érl6k 10 nda~g;il, Ezért lu egy \'ezérl6 al'.Ol'105it6j:\t
uu!.;in m6doMljuk, hOSY dk:oon6 \=trl6ket vettOnk fdn oldalra. nundig elk:n6nUOk,
hogy a l".QntroI1'oValldat .. IUlajdons;igok a megfclel6 \'e~ akTWlilI azonosiTój;a1
"'rt;lIrn:u:dk~
---
IMUblO 10 _ <O/IfflH III ' _ I*fe,,1ICH by/fN 12.5."
'COMrtJ(ro"._' _ff"! ot 1t_.rtd""ltNnd_'1 Ilu <ll: ~o&:Ii,~
(.;qo,troITO I al....,.
,"IaJtkm.<4tlllt 10«)....'11
.-
,; ':" ~::!'"~.• ~..:~
.. ._..
r_ ... .-
~-~
_..__
. , ~
.---- .---.-.
'
.-
12.6. 6bn
, -
,~..w
.~'"
•
...;,:~ '~ _.
, , .... _'.--
, tlluquirot!FieldlallMI()('
Erro..-.l/<'SSIlg<! IUk'jJrm-
«Igá'Ull! bOOlIi/1Isa "uh,
__
a RequiredF~ldValklalor vezér16 ugyarus nem jek.-nik meg .
._- _..
........
. ': .:_r
....
- •
•
._-
.! -
_.._- 12.7, libni
.- .".,-
A lal/d<lI/onConrrol7'es/8eJ,aspx
uWoú1n1 tIZ l'ISV be!lJI/éslror
\105l kmunl.$unk a Chd< Me l(OOIM allé/klll. hogy bámtil}'erl SZÖ\-'t'get írnánk a name
mcz6bc. Mi lÖ1téflik? Ha olyan böngé>z6t haSZIÚlunk, amdy támogaliJ aZ ügyféloldlh
parnna;kódo!<al (lényegében minOC"fl újatJb böngf5z6 ilyen). a gomb llIegnyomiSol nem
killd; cl:lZ arlapot. hanem előh,,;,,- a You ....st pnwide your name (Izenetet "- névmez6
12. ho A III .a6i __ .1. ótlll l 211
A ]2.8. ~bd.n azt l~thaljuk. hog)= fe$!. a Vdl&.tionControl1'ftstBed ... px oldal, 11.:1
ncm trunk be semmit:l name me~6be, k a Cikk Me gomoo. k3ttinrunk.
,.. - ....... _-
: , - lU. "
A...._~...em~1
~,iJJ a lbu must prot.kk
)OUr na .... m5r.q
Most !Ilunk be valamit a névmez6be, maid kaulntsunk cg)' misik meZ(! bel~be, hogy
~tvigyllk li a f6kuszI H~ olyan bön~ hasvl~lunk, amely támogalj:!. ezt:fl. 5zolg:1llll-
\.isi, a szöveg betr.i ..... után a névmez6b6l VlIl6 elk:lnmlh var.i~üttsre eltünteti :fl. You
.... n provide your namot 0ZeneteI a mezt5 mdl6l. Ib bOng&z6nk nem rmdelkezík
enel a k~ , az llzenet a k~y6n maDd, de ha a Click Me: gombra k3uint...a
OJ/'lI elkOk!lllk az arbpot, az okbl Oj/'lltóllkekor ekO"nik..
)
" _......... _.. ..
""'...... -..,~
•
- ... -
........ '->- ...
O -· O ~ #l(~ "
...
"
t ... _ .. -
,, _
--
..... ~ ...
0;;;.. .. _
12.9. MInI
A : ,' rlapot h!~')T,*,'
"daro/dltl/ ,,)..:iftotráJt be
..... _,---
0 -- ,.)
.... ~ ... _-, .... -
~~ ~,, - - e ' .;
•
•
-".... -
T... _ " _
..-
liii.... 1
.~ - -
12.10. Mo
arlop mt"deu me%6je
AJ:- elkillddll
"""mp CldarOl u;m(f/mm;
fu :lilfutjuk a kMx, Itthatjuk. hogy ha a Pag6. I.Val id tubjt.:lomlig &1tke True,
az Input. i . valid CA bemenet &vfnyes) $W\'egeI ~Ijilk meg, mb esetben viszonl.
32 Input 1. not v.lid IlZenete! CA be"otnet bvtn},elen). En a ~lket& mUl:llp.
:I 12.9. és 12.10. :libf:l. Az els6n a ValidltlonControlTeat6ed.llpl< oId:.ol akkor
El&zOr is, nunclen ellen6rz6 vezé-r16 eg)'etlen beviteli vezé-r\6t vizsgll, amelye!
a ControlTOv.l1date tulajdonslgban ha~rozhatunk meg, M~.sodsl.Of, \'\llamennyi
ellen6ro'): \'el~ van <'gy EnorHelS'1l6 lulajdons;1ga ls. amelyben U1 u Qtenetet
ad/l2tjuk meg, ame~ meg ~ jeleniteni, ha a \~h \'ClrI6 &vbl)'lekn
adatol. taiUlnuz. Ilal'TlUcbzor, az ~1I~n6rú5 mllkOclbe anól filgg, hogy a ~log;It6
milyen böng6l.Ő\"el ICkinti meg az oldalt. Ha a f~lhasuúló megf~1eI6 kfpess!ge:kk~l
fdvbl~zctl böngész6vd Mc~zlk, II kisl.018~16okb1l ~1Ien6l':1:é!I meUeu üsrféloldaU
eUen6rz6ire is 501" kerül. WgQl, progr:imból ugy ~Uaplthatjuk meg, hogy II fdhann,,16
;iltal beYin adatok rnegf~lel6ek.e, hogy megvizsg1ljuk II Palle. IeValid tubjdondsot.
A ComparaValidator vezérl6
A CompareVa!idatOl" v-e~ II fdhaszn116 :ittal nqadon énaet ~gy "llaOO6 b1&k~l
vagy ~gy misik be\it~1i mez6 b1ék~'d hasonlítja Oos$tt A ValidatlonContrQl·
,.. . tBed. upx oldalon példjul az utolsó kl'! mez6. amelyekben a gyermekde szim1I,
illetve II fiúgyermekek mndt kérdeuük. ad", =gjl arra. hogy a Compare'hlidator
v~zbi6\'el ÖSS2ehasonlílSUk az b1tkilket.
Az.. ouzes gYenne:IC ~Nk megadhira srolgjló mező értéke péld;\u! O vagy enr*1
nagyobb lehet. A fiú~kek sdrrdc kérde7.Ő met&e Ug}"::I.nez ~"0n2tkOZ1k. de ebben
II ~ emeIIetJ. nem SlCf"ePdhet nagyobb érték, mmt az ~l6z6 mez6ben.
"'"
........
.~
~~~
~t" ,~;
~_~
_-_ .... _---""
.-...
.. .- '
y .. _ ' -
_. 4-"
-_ot_I<
11.11. Mn
- ~-
'l)'Comps..llJJlM/W
.edrl6 hm.......d4 ' ..
"""
A CompareVallda.tOr tObbrtle 04szehuonlltbra képes. Megving;l.lhatja abemenetet,
hogy az kisebb vagy nagyobb-e egy adon értéknti, vagy egyerU6-e azzal, de an bt
mes tudja ~lIapltani, ha az adat nem egyenll5 egy adott érttldcd. A vtgrehaj[and6
OSQehasonl1W n~t az Opentor rula~ hatbozza meg.
276 1u. l'ÍI&l • r.lwszroMói eCIItOk ~ " ftIcWuo'.!
o Equal o L.eU'l"han
o NotEqual o L.e&l"l'hanEquaL
o GreaterThan • Data'!'y~he<:k
o GreaterThanequal
MIvel most arról sze~nk meggyőződni, hogy az összes g)'ennek ~m~ mez6be bei"
énék {\ ,""gy annil ""g)'abb wm, az Operator !ulaj<;londgot 3 Gre"terThanEqu"
(nag)'Obb vagy egyenl6) énékre illitjuk.
A:I. Operator tula;donság mellet! be k('J] :\lIítanunk a Type tutajdonsjgat is. Ez a tulaj-
~g ha~roZZ3 meg, hogy a bemene\nek milyen ad:ntipusba kell !anoznia. A Type
tulajdonság ug)':lnúgy:il Propenies ablakb:ln Mlt'I6 el. min! az Ope:rator tulajdonság,
és a következő értékek ~'iké1: veheti rel.
o String o D!lte
o Integer o C1Jrrency
• Double
•
• ,,' --- ,
-= .-
12.12. im
A ComparelWldmor
go ..do!.ilotlfk róla.
•
-,-.. hogya bco.o/II ~ O
'....o' .wgyobh /W.'"
/>10$ kj is pr6bálhaljuk a OmlJXIreValidalor vezérl<'\: mfl'köd&a: löltsük be a Vall-
dationControlTestBed.!lRpX oldalt a böngélil6nkbe. Ha agyennekek sziima
mel6be ér"l"én)llelen adalOl írunk. a ThI! total number of children mu.t bfI" who1e
. _-_ ...
number greater th<t.n or equal to O hiba (Izenetet kapjuk (lá:;d II 12.13. :ibril) .
•
:-e
"
f __ _
i>
-
"l1l~~~-
- , •
•
•
-_...........
,. 0-·
T...
-" -
_ol_-I,. ""''''''_''__ 100._
I .,.,.... I
12,13. 6bra
ln.>bl)fei<", be"'etlCf ereib.
I~/." 'nqJfr1e16 hibarb:eoU!1
I>londen oly:m érték. ami nem egkz sziim, nem O VlIgy nagyobb O-n11. éTvénytelen
bemenemek min6sill. Ussunk nélliny I*ldit:
218 111. r6sz • FIIIasmM6i ldItOk m!~." WdOIgO'.'
• Srou
• -4
• 3,456 Ca vessz6 miatt érv~ytelen)
• 3.14159
• 3456
·,
• O
• 45533
Az 11landó alapjtn, illetve egy mbik mezl'l r!rtr!ke alap~n v!gtelt összeh:uonl1tb
kőzött csupin annyi a kOlönbsr!g, hogy az el56 esetben a CompareVaHdalOl'
VdueToCornpare tulalOO~g1ban adunk meg egy ;illandó r!rtr!ket:, míg a m1sodikban
nem 3 VelueToCompa.re tuLajdo~ghoz fordulunk, hanem 3 ControlToC~re
rulajdo~got ilJitjuk annak a beviteli vezl'rI6~k az azooosíl6j:1ra, amelyiknek
az ~rt~kéveL ooze "'eretnr!nk vetni a kapott adalot.
Il6n • A i1IIIazIi616i ldIItOIt 8111&1 f 1279
_-_ _--
az emIilett Ölllllajdonsigot. a képernyőn olyasmit kelj l1tnunk, mint a 12.14. ~Imn .
....... -- ...
•. .J . .J IH'
....
t .. _ _ _ _
,-.-'
..."""_
•.
J
.
'I't. _ __~
.. _ _ ... _ _ _ .....
- --
_ .. c
"
o
o. ,
.............. • •••
•
--- --
•
•,
- -. - 12.14. 6bnt
.ti /OltllCltlldre"
Az ilyen hilmk ellen (igy vtOekezhetünk, ha ugyanazt le5SZÜk. mint az &szes S)"Crmek
.száma mez6 C5Cttben, egy (ijabb Com~Valldator ve!trl6/. adunk az oldalhoz, amely
w ellen6rzl. hOSY a fiúgyermekek szim;! mez6ben O vagy ann11 flag)'Obb Mtk
nerepel-e H(izzunk I<'~! egy (ijabb CompareValidator veztrl6t a maleChiIdren
~z6 nW 1&ez6 Compare\'ahcbtor \'e~ mögé. Enndc: a'~
a ControlToValiMt~ rubjdonsltp 1eg)"ttl . . leChildren. a 'fYPe IUbJdon$Itp
Int evet, n OPetato" IUbjdomJ.ga GCHt.rThanEqual. az EtrocM.... -o'·
tub,dond·
ga"nle number of _le children .... t be veHter t.han oc equal to O CA flu~
kd; wm;i nem lehet ~nál Josebb). a Valu.-roc.-pan tub~ga pedig Q.
A 12.1S. Jlrin iJth3tjuk. hogy:!n fest az oldal a Visual \\m o.,'·elope,i)ell
az úl Compare\'alid.:uor vezér\6 hol.Zbd.i$a ~ 1U13~8ainak bdllil:1$:O uL'ln
12.15. an
A}lllg)........ e........ udmtl,
ItInIn8 ma6 ('/kt,~,.
s8tc::: <u" okW/J= "i/,,,"'-'
_o.
- mt'B <xr Co11I(xlro\,<,lldaror
,.-a
M,udn en ~ Compare\~lidator veUrl('k is a~ okblhot. adtuk, az ASp'\n okblon..dr
mclJiclcrnk egy hibaOzenel. tili a fellJaSVL11ó I"ICtptiv Wlimot ír bt a AÚg)"ffTIlCkek
$dma mez6be.
A RangeValidator vezé~6
AllOS)' az előző részben l~nuk, II CompareValkbtor veúr16 arról gondoskod,k, hogy
a bevin ~tk megfelel6en viszonyulJon egy Jllandóhoz vagy egy rrulsik bevitel!
vezér16be beiM ~tkhez. o., mi a helyzet akkor, h:i an $zeremtnk biztOliílanl, hogy
a bemenet egy adon 6ttklllnom1nyba essen:> Compare\'alkbtor vezér16b61 ekkor
kell6c kellene hasznilnunk, eg)T{ II I2rtOfNny al~ h:itlr.:linak elJe~
(Gruter'rhanEQual), egyet pedig a fels6 kort:1l vizsg:lbtlr.> (LUI11>anBqual).
Adjunk egy R2ngeValid:uor ~'e~rlŐ! köZ\'etlen az age szövegmez6 llt~n (12. 16. :\bra).
•.
.. __ ...
. HIIII
_----_ ....
:.06
l
. ,-
---- -
, .
_. 12.1 6.~
Ar ASP.NEr oldal
"8)' R(I''8<'I"aIIdllIO'
,,,,,,,"*, ~1il1A«J mti"
Ahogy a többi ellen6~ vezl:rl6 eset&en tettük, lI105l is be keU :\lIit~nunk ~ Cont-
rol ToVelidn .. és ErrorM....ag .. tula~gokal. Mivel az ag .. mez6be beírt tntket
kh'liniuk \'izsgáJni, az el6bbi értéke legyen age, míg ~Z U!6bbié Alle ...... at be bet.. een
O and 150 (Al életkor mez6ben egy O és 150 kÖZÖIti szjm adható meg).
M06I már csak annyi ' .. n hjtnl. hogy megadjuk az életkor mez6ben elfogadható ktl'kek
tan~ny:\nak alsó és fels6 hatir.1t. Erre a R2ngeValidamr vezM6 M<lxilOWllValue és
Minl!11Ul!lVillue tulaiOOn.ságal szolgálnak Mivel egy O és 150 kÖZÖlti I'nl'ket szeretnénk
kapni, a Maxi!llUl!lValue legyen 150. ~ lIin1111U111value pedig O. Az emlitett tula~
gak bdllitisa ut~n a képemy6n oI)'11smlt kell Utnunk, mint a 12.I7.libr.1n.
• •
__ 4_-
_.. ... _---
---
,
_
""----_
!I._._-_
--
. . . . .
"'_ .._-_ .. __ _""
_- ~
- _._~
..
.- ..... ... ,
_.
12.17. Mn
lit" oldal .. R.o'W-1W/d<JIor lul.ojdollSÓ(!,.afnm. bI!d/J{ldstJ Ulón
.
~ -
.-
- --
..
--
-- -
•
-
12.18. an
..u ASP.NEr OJd(Jl tg)' Rtfj"InrE.-.pN!SS/o"lalidtlror ~ /rorrdlJdtbll "111M
Ez utin ~lIítsuk
a vez6i6 Contro l 'l'ova lic1llta Nlaldorui8~1 u BBn b1! kre. a hlb:lQ·
reneI ( Irre rKeaaa ga) pedis legyen Your .ecid lecurity n~r """.t
be in the
fe .... t xxx- xx -xxxx (A Úl'$adalornbiz106ltbi sUmot XXX·XX·XXX:< formiban
keH mep;Ini).
284 111. rá.z • flllM:znM6i ldItOk ~ " feIdoIp&'
12.19. '*n
A RPgu/ar Exptes</o" Ed/mr
párl>i=h/abl<1/tbo" _ ""'8"doIl
"" II <-I
.mbiiJy><Jd.fr}eU$-"",,1d1l ~iJ
,"tl/aut Mtu "Ir
A None tttékl1 vila5Zlva II IÚOOOlet\CI nem jelenik meg, mfs akkor sem. ha a fell\;l~,g16
& ...6lyte!en bernene!.et adon meg I-b a Stati~ be:iJlds mellett dOntonk. az okbl akkor
is fenmanp. a hibaillerln heI)~, ru. U ~ ."th<ttó, lb a;ronban a Display IUL:I.~-
8'JI a DynaIIlic &t&re ;lllill'1k. at dle..(i..l>'h·~ hibatizencte oak akkor fogbJ hd)'el
az okblon. ha SeK keNI Jruuk megjekIlÍl~,
• ,..-_.......-
""'-_ .......-.
VtgOl húuunk egy Hutlon "eztri& mindk& SZÖ\-egmez6 al.1. A kq:,em)"t5n ekkor
oIpsmit kell "'tnunk. minta 12_21. ibrán.
286 1U. r6sz • FeI1eIZn6I6i lCIItOk ~" fIIdoIO''''''
lZ.2UbnI
flt m.t. ilii R('(jUlrodFk/dll>/idalor ls surepe/
~._. ,., .. ~
""-_ ...
n. _ _ ....... _
12.22. ~
Az ares IenIW CIIIr.:I " RequlnldAddI'alld"lOr..,,-hI6; ,,1tU'I)~.n Dfsp/IJy mJajdonsOg<ll
St,,{k·,.,. állflonult
_ _ .. _ _ u. .. _ ...
.._-_._--_ ....... --
•
u. .. _ ...
12.23.6In
Az oItJJú a gombro IIa,IU,/ds ut,j"
!oZ.in a \'ŰfÜ!o.)
Összefoglalás
Am,kor a Fclh.Jszn:'l16kt61 "wuokat kén1nk, általában lényeges. hogy ~ bevitt adatok
mcgfelelj(.-nek birooyos követelményeknek. Egye:; mezőket kÖldezó\-é lehetünk. nl.1s
meWkbcn wnlbtéket kövctelhelOnk meg. de az is elólordulhat. hogyabemenelnek
egy adOlt é-nl!knl!l kisebbnek kell lennie. kl!!. ~lIand6 értl!k közé kell eo;n,e, \":Igy
valamilyen mlnUr:I kell illesz.k:ednie (~Idául amikor egy EgyesOlt Államokbeli
irlnyit6.<;;clmot v1Irunk, an~lyn"k fom1lij:l XXXXX vagy XXXXX-XXXX lelll.'t, ~hol
minden X egy-egy wmjegyel jeleni)
Kérdezz-felelek
K: Jll)isplay tulajdQ"uis",.k IlÓrom bcál/ítá.Ulle!tct ["olie. Sltlllc és Vpuwric_
.II Sltlllc 6" DJ7ramic bcQllr"rásoJl L"llágo.klk, de ml szrlks<'ge lehet Wirld"ck is
a Nolle énéltrc?
v: ~la egy cllcn6rzó vezérlő Display nrbjdonS>igjt a NoIle értékre ~lIitiuk,
az ErrorMesAag" tulajdc;>m:1gban megadott hilxrilzCTII.'t I!{)/ra nem jelemk meg.
filgget1enlll an6l, hogy a ,i~gált adat én'én)"eS-C. Jogos a kcrdés, hogy mi Wikseg
lehel elTe_
Az egyik ellen6n6 \~1.bi6. :.IlTleUyel fl('ffi r6z/ete;en dlbm
rogl~JkOZlunk
a fejezetben. 3 VJhdauonSllmnury. amel)' kJina n ~ oIran. a "ebokbJon
5Xerepl6 eJlen6rz6 \~1,!rt6 I::rro rMftua!l. tulatdonsá~l, amely ~I'\'énytclcn be-
menetel. jelez. H~ ~'5ZOI11 minden ellen6rz6 ~ez6i(,! Illegjeleníti :I saj:ll hlb:lüz,,-
lle1et. ts a \ ahwllonSumm:lry is kiírjo. azokal. akkor mondt:n hibaOzenet k(uzer
fog sze. epeLru;u: oIcblon, fútt a \';tli<btionSumm:ary v"zérl6 haSloo!at:lkor
qn't'S f~ t;, ~,_,.., :l.llil",k:.l többi dl~ \'e.ttrlc"l Di8pl,oy lUbJClon$;log1it.
Itog). 3 hlb:a~ OOIk a \ 'ólli<:blionSumm;ory ;elen.t5Oe nq.
Iv. II.rro """" U!I.. ;5:l1 Tex~ IUb~gokJcd:.lZ! is meglC'heIiOk. hogy u ellen-
órzó \=frI6IIe1ym, iIkt\."e:ll \'aIKbtionSunvn:lry.oen ~ hibaOzen!:l tclmim
mt'8. Hl! egy ~ "t'z!rt6nek mind a Tl xt . mind n !rro r~.uliI" tulajdon-
~IPI megadjuk, a \"ezl'r16 hel)'b> a Text ml:ke .,-un:pel majd. míg a7. Brror-
1ol ... S4lJe a VahdotlonSunulIary-b<: k.·ru) Ola n oJcbion '.In
ilyen \"czérl6). Te~t
a= is Iehet65tg(lnk ' .. n. hogy u Erro r Melugoe tubjdon.s:1glxin reszk.'teS leir.l'lt
~k a hibáról, mig a Text IUIa~gWn CSlk l'Ö\iden (akár CAk egy oill<lg-
g;.ol) ;elezzílk. hogy \'3bmi gond \'3n:;a bevtn :;acbnaJ,
1(; AmÜllQr ti !f'ih(l$Z>1d16 ti ml'8fekl<5 gombra IIDlttnl. az <!Iknlin6 L'f!Zht1
[('gr-ehajlJa az e1Jc7l<5~ Iródot, ~ qo' o{\WII Mfgse gombol elh<!I.lo.'Z,,1
azOÚfaloll. amdl're Mlltlm/w áwgorhaJó az elkt/6rrés?
v: A Bl.JttOfl, UnkBuuon b hl"l:l~BuUOfl webc5 \"ezMőI< egrar.ínt rendelkeznek
egy CauB"'lva l l o:Sa t !on neViI lubjdondggal, ~melynek alapbtelmcb..'1t bt~ke
True , Ha eZ! a tula;<.lonságol rilb ..... ~ ~lIilluk. ~ gombra lo.t1ÍntVll ~lugot'haquk
az eUen6r7l5 k6dot.
Ismét16 kérdések
I. Melyik IUb~got kell bdllíl:lnunk, hogy egy ellen6n6 '"ezérl6 egy adott
hiwOz"netet ;elenítsen meg, ha a bem .."ék l .... 'en)'t.,Ien?
2. I logyan befol~I~1 a Ol s pjllY tulajdons.íll al ellen6n6 vezérlői< h;b:lo1l~'n('t~
nek megjelerlbéc?
3. sok ...ehhel)' lehel&"o!: tcszl ~ fellw.zrul6knak. hog)' r,6kokat llOZUr"l:lk It'lre,
H6k lélrehozás:lltor a felllaSlNJ6nak 1ilulában meg kell adnia egy jclsmt.
3metyet k~ keU beimi2. hogy az dgt'pdé5b6l eredő hib1lcl kilcUsn'\bOtfÜk
Tqnilk fd. hogy egy il)"cn ,,~h kdl eikeu,'enOnk. MeI)~k cilcno5rz6
\'eúr\6I: h:&sznilnJnk anrutk el~. hogy 3 k& 5ZÖ\egmez6beTt 3WO()1;
(:nék 5leI"epe1-cl
4, .A Corrtparc\l;ditblor \"ezéri6\~1 dlen6rilh~11i.lk. hogy egy élték megfelei6
acbttípusú-e: Igu \'ag)' h:mlls?
5, Mik awk a ~z.alúl)'OS k,fl'jezésoek, él; mién 11OI5ll\05 a RegularExp~ion\'~ hdalor
\'ezérl6?
6.•.Monden """ildi ,-edt16h6z legfeljebb egy eller06rz6 "ezér\(\( r<'IKieJhetilnk."
Igaz '""gy ha.1f\IS?
290 III. rMZ • fllhllzn6l6j edetok ~ .. ~"f
Válaszok
1. Az Error-lIena\le tulajdonságot.
2. A DhplAy tul~jdons;1g a kö"etkezőlúrom fuék egyiktrt: állítható, None, Sta-
tic v:.gy Dynamic. A None bciUí~:;l v:\.laSZlva a hi!xtOzenet soha nem jelenik:
meg, fiJggetlcnaJ all61. hogy a bevin "nék érYén)1elen~. A Static beállílhsal
helyet foglal unk a hiOOOZ~-nC1 sz:lmánl a weboldalon. akkor is, ha annak ~'g
jek-nító:sl:re nem h...al sor. A Dyn.....tc be:illil;\s ezzel szemben nem foglal le előre
helyei az ellen6n6 ,'ewrl6 hib:311z~""ek (lásd a 12.22. és 12.2}. ~br:ll).
3. A CompareValidator vezérl6l kell haszn:iJnunk, és anllllk contr-olToValidate,
illetve a Control~re tulajdonslg:lb:3n kell megadnunk a két szövegmeZÓI..
az Operator tula~got pedig az EquAl énék~ kell.illíununk. (A 3. gyakorlat
t'ppen egy ilyen weboldal elk6zítbd célozza.)
4. Igaz.
5. A szabályos kú~;elk:s egy olyan br.l.kterl.ine. amely karnkten.4<et és külOOlcll"5 je-
leket tartalmaz, 6< ~'g)' által:inO'! mlllt!it hat!iroz meg, a RcgularExpressiollValidator
p<'"<llg egy olyan ell0m6rz6 ""zi'fl6. amely a oc'\"iu ~datot egy l<Z:lbálY"" kúejcz(os
Sl.'gitségével viI.sg!ilja. AZ(-rt 1\aSZtIOIS ennek a vezér\6nck a haszt"\illata . lnett [gy
goo~odhatunk róla. hogya bevin adat megfdeljen egy bizonyos minliirntk.
Ha péld1ul nt szcreménk. hogya fdhaSlJl:lló a 1I,lefonszin~1 xx-x-xxx-xxxx
formában:<dia meg. ~hol minden X egy sz:\mjegynek felel meg, en könnyen
elérht.1jOk a Rcgul~rExpressionValidalor ""8Ít~gével, de mls ellen6n6 vezér"-
l6>'eI nem.
6. 1·l3mis. A webe:s velérl6khöz !et5z61eges számú ellen6rző vezérlő ka~lható.
Ha v,m példiul egy Tex\Box vezérl6nk, amelybe a felhasznJilónak a ÚThada-
Iombizl05íl!isi sUinúl kell beimia, ~Iszertl egyszerre igénybe "cnni cgy Regular-
ExpressionValidator vezérl61, ~mely gondoskodik róla. hogy a beín adat meg·
felelő fOmUtumú legyen. ilietVe egy RequlredFieldValidator vezérl61. amely an
biZI0:5ílja, hogy a felh:w.n:\lö nem h agyja ü~n 3 szövegmez&..
Gyakorlatok
l. KbzjlS(lnk egy egys~ ASP.Nl' · oldalt. ~mely kt!. ReqUlredField\'alidalor 6<
egy Com~reValidalor veIkrl&. alkalmaz. és arr~ kéri ~ fclhasm3.1öt. hogy adja
meg a kél kedvenc fagy13lttípus,1t Ehhez ká szövegmez6re lesz Slükségünk
Adjuk az okl:llhoz a szOkséges ellen6rző "ewrI6ket, amelyek gondoskodnak
róla, hogya felh:lszn!iló mindkét mezőbe beifjon valamil, és hogy awk tartalma
dttr6 legyen.
2. 110zwnk létre egy ASP.NEl' oldalt, amely a felhas:m.~IÓlöl az e·mall dmét. illetve
a honlapj:\nak al URL·jét kéri. Ussuk el az oldalt a megfelelő ellen6rz6 "elér-
l6kkel. amelrek biztosítj;1k. hogya fclh:lSzn:\.1ó legalább a levélcímét rnegadj~. és
12. óra • A felhasználói adatok ellenőrzése 1291
hogy mind az e-maii cím, mind a honlap URL-je a megfelelő formátumú legyen.
(Tipp: a RegularExpressionValidator vezérlő Regular Expression Editor szerkesz-
tőablakában készen kapott szabályos kifejezéseket találunk az internetes levélcí-
mekhez és az internetes URL-ekhez is.)
3. Sok webhely lehetővé teszi a felhasználóknak, hogy fiókokat hozzanak létre.
A fiók létrehozásakor a felhasználónak általában meg kell adnia legalább a kívánt
felhasználónevet, egy jelszót és egy e-maii címet.KészítsünkegyolyanASP.NET
oldalt, amely négy TextBox vezérlőt tartalmaz: egy szövegmezőt a felhasználónév,
egyet a levélcím, és kettőt a jelszó megadására.
Ahhoz, hogy a bemenet érvényes legyen, minden mezőt ki kell tölteni, az e-maii
címet szabványos formátumban kell megadni, a két jelszómezőbe beírt értéknek
pedig meg kell egyeznie. (Ne feledjük, hogy ez utóbbi két mező TextMode
tulajdonságát Password-re kell állítanunk.)
(Ahogya 20. fejezetben látni fogjuk, az ASP.NET-ben többféle bejelentkezési -
Login - vezérlőt is találunk, amelyek felhasználói felületet nyújtanak számos
felhasználókezelési művelethez, többek között a fiókok létrehozásához. Ennek
ellenére érdemes elvégezni ezt a gyakorlatot, mert értékes tapasztalathoz
juthatunk a beviteli és ellenőrző vezérlők használata terén.)
III. RÉSZ
Munka adatbázisokkal
13. {WI Bevezetés az adatMrisok ~
14.6ft Adatok . . ! az_dOflás·~
15. óra Adatokmewele ít6se.webes~keI
16. 6rI
11.601
beslírisa"
Adatok tö!Ié:s8. ~
Adalhpcso/t Ianyi.\ . . rilISlI6gombok és
j.lüló"'g'fzetek
18. 61', Al adalkapcsolú 65 IMa, IldatoUtl '-ipCsoIatos témát.
13. ÓRA
• lU 3Wlbózi5 fogollma
• Az adnak lirol~n.:I.k módj::! lll; adath:i.7.ll.Okban
• Ad:Ilb:izi>t1bl~k . ~Z.IOPOk él; -rekordok & kat>C'Olaluk az adatok Ilrolb.iva!
• Az adatb:\ziSl~bI1k oszlopaiban tárolható adanfpuwk
• A legnép:s7.enJbb kereskL>delml és ingyend acblb:llis--kezcl6 rendszerek
• Acbtb:izisok és adatWlLdbljk IttrehoZólSa II MieJOSdt SQL Sel",er 200S Exp~
Ediuonben
Az adatbázis-kezelés alapjai
\al6szinúleg rTÚr lullonunk;lZ f'datUtizisvlmil, de oem bi;o()l!;. hog)' ponlO&:UlluJfUk.
mi is az:lZ ad.llbhJ$. ~ hogy mnt' Il<lSuUljjk A Iehec61eg<..'g}-..zcf1lbben fogainun."
az adul:d1.lS struktu ..~h a<btok gyajtemén~·c. ~lTIC:ly.,kl't h;olékony~n MJelunk cl bo
m6tJ0síthalunk
A Microsoft SQL S<-'r\'cr 2005 Elt:press Editiont megk:lpjuk a VLSUal Web De\'eloperrel
együtt - korfibban n-dr telq>il<'1tlik is. lll. a könyv minden ad:t!lXizispél~jában
~ Microsoft SQL Server 200S Express Editionre t:ima~zkodunk, ne gondoljuk. hogy
az ASPNET oId.lk1k csak II Microooft saját ad:atbázis-kezcI6ivel képe-;ek cg)'lJttmaködni.
f:ppen ellenkez6Ieg, lényeg&en bármely adatbázistt-"fKlszer elérltet6 egy ASP.NEr
old:alon keresztul. TeI!;!t ha mi "agy a c~unk n!;!sik adathhis-kezel6t hasznji, n<.'nl kell
agg6dnunk. tov:lbbra is doIgoz.hamnk aZ adon rendszerrel. A köny" pl:ld!í,hoz azonban
:o Micn::J<Ioft SQL Server 200S Elt:p~ Edition hasUlálau ajánlOIt.
Strukturált adatok tárolása
A korábbi n1ol:gha(;l roús alapJ!in .mr tudjuk, hogy:lZ adi.tn5.zis sm,ktllráll m/mok gyífj-
teménye. lImetycht I"'lfkonpn &het:ünk cl ts m6d05rth3runk. Az ad:Itb:1nso1c az lIda-
IOlat IlibUfkbt, rendezlk. A t.\bUk 3O!'Okb6I &; O6Zlopokból :lJ1Nk. amelyek egy k~di·
menzi6s r.íCiOl ~lkoclUk (A t~blIk oszlop:ul ~ II sor.oik;u pedig 1Y'Ito,.dolm". is
nevnik. A kOnY\~ \'l-gIg :lZ oszlop kú~ haszniljuk.) MInden OWOP az adon
:adat qp'-qy jd~k felel meg. míg a soruk INgubt:lZ adatdemeket ktp\'iselik
Ettn khiillJlUlÓel\ dbb egy qo...di ""'~ lap. amely megkillönbözktl II UbUl az adil.
b1tii többi dWf-ItóI
.' -
-
• fl
,...
13.1. "
... Cl_ "d' "''' ...../tfMii " .okdrló~ wrolJ<t4'
- - - N'.
" " • "
"
_'a._
Mf.32\·\U4 _ 2 1. 1001
-~
-- 11"12).4)21 IllGl
•••
_.
... 1101_ ",-n,l.
~-
--
--
11 ....."'1
115f.I\oIoQ41 N'.
,
_:'.lOOO
..m
lU'-'
.~ eo.- Uj/Jld 61 ,t..... dot IdruJmtU; ...Ioukot ,oISIIrl6hoz ~WnaI
13. ón • a.. ... * IZ WIe!MZjSM vi6g6bII lz99
TegyQk fel. llOg)' cégünkoek ol; vá5;irl* volt (csod:!, hogy még nem mcntunk c:s6dbe).
~kiknck ~z :«btai a kö"ctkez6k :
Mind az ol; v~~rl61 egy-egy rekord jdk~zi a CUstOlDftU l<1blában. A táblát az öl.
víisárl6 hOzz.'Í3~5:l után a ]3.2. :ibmn láthatjuk
A táblák oszlopai
Az adHb:hiscibl~k oszlopai a Viwal Basic \'liltoWihru: ha~nJ6an rendelkcmek
egy né\...·el és egy IÍpus.'I'I1 is. A CUstcmeu pfldat:\.bla ~ébcn a négy OIlzlop oc"e
N_ (név). phone (tch:fonszim), ZipCode (irin~1t6sz:im) és 04teBecameCustomer
(e1s6 \':isá,Us d;jtum:i) lehCI.. A nb melle« minden oszlopnak meg kell adni a IÍpu~1 is,
v:agyis a benne t:\.rolh316 inform;ici6 adallípusiL
A NaIM CllS<:Iop típuSIkén! pélct;ul v:ai6szín!lleg az nv.. rchar (50) -Cl, a Phone oszlophoz
az nv .. rchar (121-1.. a 21pCode O6Liophoz at nv.. rchar (5)-öt, a Dat.eBec..-custOllM':r·
hez pedig a dat .. time IÍpust érdeme~ választanunk. A IÍpusok neve ugyan különbözik,
de az 062.I0P0k tipusai meglchet6sen hasonlook a VISUal Basic \':\ltoz6tipusaihoz.
Az nv.. rchar (501 ... Visual Basis Stdng típusának felel meg, mégpedig t-gy olyan kar.ok-
terlállCllak. :uni !egfdjebb 50 karaktertX'il lllhal. A datet i .... aWopciJlU" nl('gt.'g)'ezik
a Visual Basic Dat.eTi.... lÍpu~v...1.
lu. nv .. rchar (n) és a d .. teti .... tipuson kívül a !.ibl1k oszlopaihan mis tipusok is
lehetségesek: a leggydkrabl,xm lu~ltak:1l 3 Visual 1b5ic-ml'gfelcI6ikkcl együn
a 13.1. t:\.bl~zatlxm soroltuk fel.
.
3(1) III nu • MIri:a ecWbi' u'"
cimL'Il.
.,, :
5l'erkezetét ~ 13.3. ~br.l." láth:lljuk .
... ,- ,
-
, $' _
:";
" ?
"""
C
13.3. "
A CW.<IOmen tJdsIbthlsuIt!W 1'J)'...t.W' l":I hdu ~ IrottdoilAsa II,á ..
",
,
etil
• I II
-
- - -.,.
orr t li • \I
_,m
I II
.-ru.men
, ,
-~
,
, -- -- .,. ;'''1l3-132t 'ltDt _ t a . ZIJ1II
•
~-
-- ..
.,.
..... u.t_
• ..t.l
--
li f.M!o.l1 ti
13.4."
rl/im/{.'l, $OT <'JO'<'<1I C'IS/vrncrll) hfN«.11<Ifttrlma"
Adatbázis létrehozása
l>Iiel<kt elk~ használni egy olran ~da\bal~.en, mIN n SQL ~
lOOS D;press fAition, elősZör !(:tI'(' kell oo:rnunk eg)' új awtbbiSl. MJndtn ad:ltlxilJ5
egy "'SY több adath1u~bJjl urulmaz.
AZ SQL S<efver 2005 D:prn:s Ed'Ilon minden adalb:l= killön f~Jloon bp helyei
!itek :WllÚr~ n ASP.NET külön kön)"'lár:lt <"""-Pllta) biztosí\. l:,gy új adUWzis I~
hucls:! td)~( csak ~nnyib61 ~U . hogy howadjuk a megfelel6 ad;llb4zisf~jll a~ "-WJlat..
kÖl'll"timoz.
nem letltle AW.....D<o.u mapp:lja, vjlaslI1;uk a Wt-b6ite menü ASP.NIT Folder pom~lt
magyarul Webhely, ASP_t\'ET mapp.:l -, majd az App_I>Jla lehet&égct.)
Az ada~ ligy adjuk;l "'ebhclyhez. hogy az eg&- jobb gombjival :Il: Aw.Polc.
kOfIpuJT:I. unmlunk" SoIutiorl ElcpIomt:om. ts n Add a New Item (Új elem hou;,i·
~(Ü$:I) mtnűponmt v,ib""",k. EkkO!" megrcknik az Add ''''''' Item p1~bbk.
lmd)"bm Idrom Ld>etc'islg kÖlUI .'oibmh;ltunk - az egyik egy új SQL a<btlllim
hozzhdl", (SQL [l:U:lb>se; \hd ~ B_5 ~br.ít)
-- .
,
-....._---,,~,-~" '
-----
-- .'-
13.5. ~
Ha "Ill' adaItJ4zIsr .mnt,......
"",,{ .. uWJNl}.mJ/lt6~.
<'gr ") 5Qt /)dInb4Jl..-
Wfo/l""' ........
l3.n · S.' . . . . ·""!I ,· +d' t .... !:m
nl~SI0lk lelUt az SQL Database Idx:t&éget. k a flóan1o;" mez6ben \<'illOZl2!iSUk n adn-
bbw:l.jl n('\'1'! Dat .. bioS8 .lIICIr-r6I Hyf'j ntDo!lt ..b&.e.lllClf-re_ MiuWn.n OK gombn.
k:ll1lruOltunk. II v!SUJI ~d) nc\'clopcr létwhol.Z3 az U) "Ql. adatWzis{ájlt Amikor
\'~8l!en. fns.~rli a Solution ~;Xpl<m'r abl~lclt. am<'lybcn Igy nlelll"lenik az App~t ..
kOnY"Wr uj adal~zisfáil~ ( l ~,6_ ;il;>r;>).
lUh
,1,. uj ado/bázis ~"k
az .<llJPj)<ua .....pptj/)(!"
ll.Um
Az fUla/bdrts """"'-"I
Q Orllmx.w E.~"
Mlholjt,1I
... '----
n _ .. ,. ... .... , • ...,~ "'" '" ~",.~ -:. _ ..
~"'---_
•• •
--
;--·"·'··0.---------------------·1 - •• 13.8. 6bnt
íJ adatbázis/tibia
JélrdrozÓSl<l«Jr
"'~ AId! ",I"""k
a", Q$:dcp...,."*'-'t <ls
az <f(UlItíp1<SCks11
-"'
n_~_
-
...... _ . . _. . . _<----
. . . . . . . ._ • • • • _ . _
- - • •
-- ----
- - lU. !!tn
JI ltÜJla lIK'/I/ratdroz4saiKu"
hozrliadmlf Q 1I11f1 ou/opof
--
•
u
g
...-
...
--
--
-
-
• •
"
• ••
• .---. ~-
--
.-. . . .--------.0; ..
~ _-
_ ....(1
-- - "'·" t
- 13.10. !!tn
A h:u O$zJup hozzáadása ut~n ellene;riuilk. 1\Ogy azt I~tl"k..., a kfperny6n. mim
a 13, IQ, ~bd.n.
M<w ment.Wk a I1ibU.I a~ esT.kÖ;n;or ",",..;: gornbj;1r. vagy a File menO S,m~ Tabk-l
pDnlFira kaninn.,.. Ekkor egy ~ kell adnunk a t<lbUnak - a nb' Ieg)"ttl BOOk ••
Cralulilunk - dk6zíleltuk d'lÖ adatb::lZlSLibLinkatl
_ .._ _ jban
MIvel al('ll:llx.t.n egy atk>tt adatb::lzis(,lbla egy adon rekordjának elfrtsne, frissitbérc
vagy törl~ '~~n sziik5ég\lnk. nllnden l'ekordnak egredileg aZOl'106ítlutÖfl;lk kell
lennie, A:J. azonosítás számos módon meg\"~I"",jth;1!6. de leggy..krabban egy automaLÍ-
kus !IOr'S.Z:1moz.hú e~leg.::s kulcs O$~lop 5<:/Iil~ gondoskodunk r6ta AmIkor
egy OWOPOt d!;ódlega; kuko.:l. l~nk. al ;adatl:dlZlS-kezdő autornatilMoan k,kén)'-
uerftl. hogy rrunden benne 1...-'6 fnék eg)N Ieg)'en, Ennek cllentre ll., hogy
el56dlege5 kulcsn;tk llC\'el.Onk ki egy OWOPOt. ..q...-ro elég, men al egyedl tf1éke..
ket attól még nekünk kell IfK'8'Idnunk. lia uonban al 0!!Zl0P0t lIutonuhkus 5OfSZlmO...
úsu\"l Í$ t~k, az adatbdi~ OrlmtlkOr;kkn gondo6kodilc 1'Ób, hogyeg)'edi
ftt~kek kmllJCOek bele mindo..'n UI ~kordn1J.
Booh acbtb:llidbl:inkbiln ~ runcs olyan O6lIOP, amely gannl1h.an qn.~ btaek..,
tOlfllllm;lZ!U. A Titl. oszlop Jehet eg)-edlllZOOOo\.ilÓ, h:l biztOi5llk ... gyunk benne. hogy
~ gyt.í~eményben ~ nem Ie.'l. kl'!. Uon05 dmll körl}'v 11:1. Jzt szerelI'I61k , IIOg)'
~ könyv time ~~ílWfl eg)'ahl"g minden rekordol, tcgyOk a Tit!", 05:OOpot II ~b13
",ls6dlcges kuk:sá>1. Ehhez jeJölIOk ki II Titl. 05ZI0P0t a Visual Web Devcloper
1JbI:aszerkeszt6ja>en. m;ljd k~umL<;unk JZ els6d1eges kula Ikonr" JI eszkömm:ln
(\bd II 13_1 L :íbr.il).
--- - --
.. .... "" "". '....
-
--._ -.-
. ..
~- ......
...
"~_;';'"U
...,,,,,;;,_,,,,,,,,0, ,,",.-_ ........
.,.._ ....
--
"
-
"
13.1Ubra
jddI}ll ,'" ld qI' oszJoprX. Is ••III"ts,mll az oIs&llqfcs lIula Iltt:mrt<_ Iot:!ip' az !">$rlopoI
Idjt!l(Jftllt a UJb(U e/56d/qJ<ls It..kw' 'iti
De mili hdyzet akkor. h:l nem bi;r;lOlo. hogy nunden könyv time különböz:6le5z?
Elófordullui., hogy k& awnos amIT kOn}'" kerilla 8)~jlemkI}'i1~. Il)~ ~
ll'8Y ÚJ 05Zl0P0t kellltU'dloznunk II tibl.1bi1n. amd)'nek klmondoll2n U a dl",. IIOfIY
.,gyedi\cg awnosllWfl nunckn rckordol:. Az Ilyen tipusú O5Zlnpok neve ;tI1~n
II '1'4bl.N4vIO fOl"TlÚt k&.eti, ahol a 'f'4blaN~v:r.n~ k a t.J.bUnak II rte\~. amel)"l~z
az Úl oszlopot adtuk. Az ilyen onI0p0kal nem <:$a k el5ődleges kul~, hanem aUtoma·
tiku, 5OI1lÚmoz.1sUv{i is kelllennOnk
--- --- •
•
o
o
---
o
• •
o
._-
.--- •
.,-
--
--
,•
--"
-- - 13,12. 6bra
" lJQcJdD ,mtornallln«
- ~n=ánl d.<ótJ~
Inde< ou/o{l
• Könyvek • Maf:l.jok
• Szerz6k • Kiadók
Ha letuil "8)' olyan renclszen szeretnt'nk fel~íleru. amt'ly a könyvek S7~, mafaját és
ki:>~t is rögzrli, ,,,lÓ«;dnükg <><'gy t!íbUra lesz m1ks(,gl1nk, , ... lanum 31r.1. hogy
valahog) iClc-LZilk, hogy ezek 3 t.'lb/ilk kapoolódnak cgymi5hoz. A kapcsol:llok megha-
L;Írozás5r:1 az arnnb:izisrendszerek ki)1önfe~ ~rek(.'I binO!;it:lflak. Az, egyik dolog
~cUu!, 3nut I"!ezni szeretnt'nk, hogya Books l~bIa nllndcn rekordJa _egy a löbbhöz·
k:lpcsoblban1!Uh:l!:IZ ,o.ulhou (S7,erz6k) clblá""l, és eZ 3 kapcsolal adja meg 3 könyvek
11" . ~ • •""' · +flfptts l _
~! 1'..7.<.'fl kivűl UI I!o ,.,k.·znilnk kell. hogy II lk"." ubI:! ~'ai rekonJpihOl. cgk
~"t:tlen egy rekord kapao/ódh,:u II l'ubli5hen (lWdókl úbl.ihan, m<:Tt eg)' kOn}'\'TlCk
csak egy kiadója kh.:!..
Amikor a cdlikba adatOk~1 irunk, taru;uk~, hogya bein btékcknek meg kell
felelniük az adott CIiSLIop !ubjdoonsjg;linak A Paqecount (Oldalszám) oszlop Ifpu:\:!
pé-ld:lul int, !ellát ide egy WmO{ kell írnunk. Ha oIy~smit pr6b1lunk beírni ebbe
az oszlopho. hogy Scott \,,.gy '>ne hundred pallU (WZ oldl!), hil»i1zen<--1C1 Ic:.tpunk
Ehh~z hasonl6:ttn eg)'e5 0IIZI0P0k elfogadj:ik:a Null értaekec, nú50k azonban nem
lu utObbi:okb;l mindenképpen I~ kell imunlr. v:obrniJytn &léket., míg.u el6bbiek ak~
(lre5en (\':Ig}"I'l :>.\tn tnélcen) I!I hotgylu.tók.
- - -- -- -- •
_
-~
_o
13.13.6M
A iJOOIl:J ulhIa '"",,'nui,,,,1J ""'1/JCknf_
Egyel; admípuwk ~ében az adatok fomdturna is Itnycge5_ A Price (Ár) OQlop
például "",ney típuW. fl; e<ak otyan sz.'imtntkekt:.1 fog<ld el. minI a 14.95. Ib megpr6-
b:lljuk beimi a pénznem telét ;5, hib;i\ kapunk. Dálumok bcírisálÚl a d:ítum fomúrunu
a sz:1miLÓgép megfelelő beillit1(.a;r61 függ_ Az EgyesOlt Államokban a d:itumot
hónap/nap/év romúoon irll3ljuk be (2005. november 19. escIében példíul igy,
11/19/20(5), míg számos európai országlxln ~ formátum nap/Mrupiév (19/1] 120(5).
A dllummal ka~:IlO:S probl~mlik elkeriUke érdek8:>en celszenl minden dilUmot
3t év-h6nap-nap :'ilulinos formátumban mesadni (2005--11·]9).
Adjunk maM egy új rekon:kx a t1bl:iho~ a Title tnel6be írjuk be a Visual Studio
Hacka dmct, az I\uthor mezőbe Ja",.. 1.very nevét, a i'euPUbllshed (Kiadis éve)
.,.,lJálxl 200$-öt. a Prlc .. o:<zlopba 24 . 95-öt. " PageCount mezllbe pedig 47a-at
A Book!D 6; LaDtReadOn mez61wt hagyjuk U alapénelmezeu én~kilkön, ami NulL.
" képemy6n ekkor oIyaWlit kelL I~tnunk, mim ~ 13.14. ábrnn
MegfIgyelhetjOk, hogy ~mikor ~d:ltoka! kewilnk bcimi a celJákba. a.sQl" alau egy új~bb
i1res sor jelenik mcg, amikor pedig rn6dosítjuk egy cdl~ énékl1. és a követk"z6 celllrn
Iépilnk, megjelenik egy vörös felki~Jt6jeI. Ez az ikon ielzi, 1108)' ll. ~Ila értéke mesv~)
tOlOU_ lia a kurzor a Pag..count mez6ben ~IL , b; a vörös felkij.lt6jelek tov.1bbc:i is
Ilthat6k (ahogy a 13_13. "bdn), aZ űj rekordot még Iéi,.., kell hozni. A rekord véglege_
~í\b;{:hez (vagyis az adatb:lzis/xl való fch'élcléhez) egysn."f\k-n kalhnt.runk a kö....:tkcz6
sortx. (V"~gy nyomjuk le a TAB billenlyt1t, hogy a kurzor a köv<.1k"z6.sorix1 kcruljön).
13.6nI • E\eYIZIléS IZ 8dMMMok YiI6gjM 1311
. ""~--
,
... ... _ __ ... .__ ...
, --_---
.... -
-- - -
- - - - - -
- o •• 0-
_..
•
---
•
.,~
""._1
-,
-
13.1 •• 6bnI
0'
El$5 "")'1-0)"" n Book:< lál>Mbn" Jnmes A,"'), Ils""" Stm/to Jloch cfm"WJ/",,,
A &OOk TO osz\oj) automatikus SOfSZámozásÚ. ami azt jelenti. hogy fI&IT1 határOlhilt·
jtlf; milli ill értékét, mart ill adatbázis·keze16 áUapf~a mag. hogy milyen értéket keH
ide ","e. Tehát iIfTlikor felveSliink egy rekordot a IIoOk8 ~II,' BooklD
oszlopot NuH értéken kell hagynunk. Ha megpróbá!\6lk beimi valamityllfl értéket,
hibflÜlenelet lapunIt.
Ha a 8ooklO·1 Null értéken ~juk, de a rekord mentésekof a program figyel-
meztet, hogy ebben III oszlopban nem adtunk meg értéket, biztos, hogy az oszlopol
nem jelö/tül::. meg automatikus SOfSlámozásOlo;ént. Ha III lenne a helylltl, olvassuk el
újJa A rekordok ewedi amnosÍlNa cimú részt, es gondoskodjunk róla. hogy ft
IIoOkID (lSlIOP iIUIomatikus sorsrimozású (Auto4ncrement) legyen.
• Cn>ale )Ollr 0""' Wcbsile, Szerz6: Scott Mitchell. Kiadis éve: 200S, A könyv ára
19.99 dollM Hossz:.: 195 oIchl, A könyv utolsó oh".l$1$ál13k <Uturna legyen
2005_ augusztus l
• nw NllmW. Szcnó; Alc'(' &n?n1lQ1I. Ki~d::is éve: 2003. A könyv k J , 24.95 dollár.
Ilossza: 274 oldal. A könyv utolsó oh"5lsinak dátuma legyen 2005. ,J{wemlJer 14.
312 1_,. . ""'*' -ww · Rt"
• The Qltt:/I(!T' /" the Rre {7.Db/Ieg)"t76}. SZerz(i:j. D, Salingcr AZ ..dou ptldány
ki.:l~n:lk éve: [9')[, A könyv j ... , 6,~ dolUr. Ilos.sza: 224 oldal A könyv u!oI5ó
<Jh.",,-d:~n:lk dl!un", legyen:zoo.t Junlu~ II
• FIS/U allb (l1(.rro:K>li klubjaJ SlC'l'"l6: Chutk I'abhnluk Kj~d~s he: 1999.
A könyv kJ 16.95 doIlir. HO/i.SU: 187 oldal. A kooy\"Cl még nem oh'aS/uk
(~.. gyis ~ LaltlttoadOn-t :-Juti trt~ken kell hagynunk).
..
-- -.-..._--- -
- - -.
':lJIiI
• o• •-- ..0....--
..,,-
~-
._--.
•
•• o
·.-_...
"
o>;.=:_~
o
~.
•
_
--'" " ' " , " o
,
•
•-, -..--.. -- -,- - -
• .-, '
• • o
- ---
--"""-'-'
- --
----- - - - --
-,-- ..·--•
- •- ~
• o
__ • • x
--.--.. --
--
.- -
... .-
--
- - .. -
"'--
•
_.
•
•
••
••
•• o
• ~..
o,o,••
..
..
- - - - · .....•
•
••
•• •
• ~
" .. .. ,-"._-
--- • ••
-
13.16.1i1n
JI BOOItS lIibIO MOll lJf MNt u.n"I"...%
13. ÓI'I. Blvlat'-IIZ~ ~ 1 313
MIUtán II fenli n~gy son is besriinuk ~ Books táblába, a k~pemy<'lnknek úgy kell
kin~Zflie. mint II 13.16, .ibrIinak. Figyeljilk meg, hogy ~ BookID oszlop éTt~kc (~mcJyet
nem mi ~dlunk meg) minden rekordn.il automatikusan nö\...,kszik_
Összefoglalás
Ebb"" a leckében megtanultuk. hogy az adatb.i~ olyan .-zoftverrendsrerek. ame-
lyeket slruktur:ilt adatok tárol:\s:ir... illelve hatékony elérkére és m6d0sílásjrJ tt:n'e7.tek,
Az ad:tlolo: az adatlMzisb;,n úblákba szervez6dnck. a lábl1kat pedig ~Iopok írják le,
arnel)...,knek r\e\ilk (>s típusuk v~n.
Kérdezz-felelek
K: I,m Ic/IL1áWtJ li} aulopfr!hJ/Clbl! l~'8Y ,u"8f..~6 au/opoll eI/r.!,ooI!/dsAm
cSy utlmbdzls/tlb/ábóI, miII/an /érrclloz/II1i f!IS lnerllettak a tlJbldt, ,~IJt)'
csak akkor. IUl a /tib/fI m<'R IIL~" tarwlmar ~I'
v: A t:ibI~k Slcrl<cwe (~UO u!Jn b m6d06íthll\6, hofn' mmt~'\tilk
a úbUt, m(,g akkor is, h:i !Tdr adtunk ho.zz.i o;omkat, és a megl<"v6 ~
clu\'oI,tú3t S<"m korülOZZ:O semm, (T<"m1&ut""",":lZ riúvolJton oszlop adau,
nlindcn 'lOri""n eJvesznt'lc:.)
új oszJopob\ uln'llruJyen qo.,.zeriIen adll.3lUnk m.ir Iltezó ubI.ikhol, anl:lkill,
hogy i5Ot'OIcIt kellene felvennünk, nyt$SUk meg II tábl""Z<."fk~Zlo5t, adjuk II db-
l:lh01 II kiv:lnl 0!i1Jopot vag}' os7.lopok~I, 1'5 mentsük II Libl.1l. Amcnn)'1tx'll
II t'ibUban n\llr \'lInn:l.k """"', a műv"'!et kksJl bonyoluJubb, mert n aoolb;tzis-
kezdőnek el kell dönten~, hogy milyen I'nl'keket szúrpn be az uj OSZIOPba
II m~r Ittezó 5orok QC\ében, Kt1leheUSKgünk \.n, az eg)o',k n IKIg)' uo (lj
oszIopbgn engedtlyczzilk a SuU tnl'kekcl, II nW,k pedig n, hogy az oszlop
súmar:l megllólurozunk egy aJapbtelmczen &ttket. (Ez utóbbit II Column
P'open'e!I ablakban lIdhatjuk meg.) lia a núsodik mcgokLh mdlen döruünk,
a rn1r lt1eZÓ..otOIc nundegyikl-ben UO alólp61elmcZdl énl'k kcriJl az uj 06Zlopbo.
Ha nem adunk meg alapénelmerettértékCl, Il.3nem II i'lull I'nékek engedélye·
z6e mdk"u döntünk, aZ OSZIOPba mJnd,m rnegl~...'6 sorban Null &ttl< kerül.
Ismétl6kórdések
I . Ml!)..... '"Iswnyban ~Unak qomá55al az 0IW0P0k, ~ t;iblik & az :l(blb;tnsok?
2, Az aoolb;tzi5l.iWk !oO!'3iban szerepl6 oszlnpok a progJlHl1ozbi nyelvek ,,:illo-
wihoz hason~!an:l.k, mert h.1rom ,ellen®\..... p,,.lIQSan leÚ'hat6lc Melyik
ez ~ h:irom iCUcnu6?
3. Mdyen énekel kép,',sela Nuu?
rt. Hogy~n biZlO!ilt~k n aUlOmaliku5 iIOrSz:imomu e~leg<$ kulC$ ~
UO qo'e.!; $OI'Ok egredi aZOflO5it'isj(!
5. J.tU1den ~lQIt ad:nh:br<libUrulk ~Ikeznie kell ~ kula
oszIopp;al" 19u >agy hanus?
Válaszok
l. A tábla egy vag)' tObI> oszlopból ::Ill, az adalb:l.~s pedig egy >'agy több t:\bl~l
tartalmaz .
Z. A:l oszlop neve, az oszlop lIdanfpuSol., éli az oszlop "lttkc az adon ~orb"Jl
3. A Null n umarcl/cn b1é1«?k, illetve II ilfá./)'Zt'J m<,J.'f'k hely/!n szerepel. A Sooks
tábl::lban a LastR .... dOn ~z1op ~ldául nén fogadj:l el 3 Null é"tkCl is. ""'"
elófordulhat, hogy egy könyo.et m(>g ntom olvastunk, melyesetben ebben
n oszlopban nem szerepel énék.
4. Amikor új.llOn 5Z1ínmk be egy úibI100. amelynek elsődleges kulcs OS2.Iop;l
automatikus sorsz;jmozá5Ú, az ad:HWzis-kis201g~16 hatifúzz:l meg ennek
az oszlopnak n új sorbeli érlék(1, k ügy v::llasztja meg az énékt'!.. hogy minden
sorb:!n kOlÖflbö~ ént.k kerüljön az elsódleges kula; oszlopba. M. ad:!tb;lti$-
kiszoljpl6 ezt úgy éri el, hogy az ul0lpT<l beszún sorhoz képe$l eggyel növeli
az automatikus sor:;z;lmozásil e1s6dleges kulcs OS2.Iopban 1.,..,6 é"éket.
5. H~mis. Az t.'SeIck túlnyomó többség{-ben uID'3n olyan úbl;ik:u hozunk !élre,
amelyek automatikus so~moclsú elsódleges kulo ""7Joppal rendelkeznek ,
de úbl~t els6dJege::; 1mb n~lkíills lé1reh02.harunk.
Gyakorlatok
1. A Visual \X'd) Developer és az SQL Se,."er 2005 Express Edition haszn:\latát
gy~koroland6 hozzunk lé1re egy új ad:nb:hisl Te..tDB né... en. és adjunk hozzi
egy Albums n<.'\-i1 tábl1\. Tegyük fel. hogy ebben a láblloon a lemezgyűjtemé
ny{lnk adllait szeretnénk tárolni . Adjuk ~ t1bláho~ a szükséges oszlopok~1
a megfdel6 ni:wd 65 típussaL ~éltány javaslal, w1ksfg lehet eg)' automatikus
SI)r.;Z:lmo:cl.sü els6dleges kuk$ osrlopr.. AlbumlD n(""cn~ egy nVllrclulr (5(1)
tlpusú . Name nevi']' oszIopr:l: egy nVllrchar (751 lípuSÚ . A,-ti at (El6adó) ntM1
oszlopr.!; illet... e egy d.at<!/ t il!le lÍ~ú. Dlitepu,-chaaed (V~rl:b dátuma) nevű
osz.lopra. (Ezeken ki...ül gondos terveres utin további oszlopokat ~. a táb!:l.hoz
adhatunk.)
2, A S,,,,14,,.-6/1 mkllOk I<'íroill$o dmi! reszben bemucmunk (,gy CU Bt CllO!U llC\'\l
rábU\. amely v:'is.1.rl6kt61 tárolt 011':011 adnobi. rrum a ne-'I1k, a lelefonszámuk.
az irányílóstiÍmuk, és így tovább (I~ a n,l. ábrát). Hozzuk létre eZt az aduh:.\-
zistábl~1 a megfelelő szerkezeltet és adJuk hozzi a n.2. ~n lithalÓ öl. rekordot.
14. ÓRA
Adatok elérése
az adatforrás-vezérlőkkel
A Iet:ke tmtalmálXil..
• Az ao.ufom1s-\e:rerl6k használata
• Az 3d:Il~zisok nyelve, az SQL
• Oszlopok kinyerése adatbá:r.wáb!ákból
• Bizonyos feltl:le1eknek megfelel<> adatok kmyeri:ose 3(btUázi50kból
• Az 3dalbázis-lckérdezés eredményének rendelése
AZ előz6 órioon 1tf0g6 képel k"phanunk arr61, hogy mik is arok az adalb.izisok,
milyen 3 bel$6 szerkezetük, b milyen eth wgáln.1k , és létre is hoztunk egy ad31b:1zist
ll. Visual Web Developer é5 az SQL Server 2005 Expfe5.S Edition .-egitségévcl_ E=1 kí\'Ol
meg\:lnulluk azt is, hogyan hozhatunk Ikre arnlbázistáblák:u , és hogyan Iöltlleljilk fel
azokal ad:nokkaJ.
318 111. lÚZ· MII1U ~kol
Adatforrás-vezérl6k
Az ASP.NIT webes \'"l'1'rI6k széles vilas7.1ék11 tart.1lmaWl. amelyeke! a korábbi leckék-
ben különböző c:.oponokoo sorolmnk. A 8. fejezetben pékUul a 5Z,Ö\'egrnegjClcrutésre
1ta:>"7mlható \'ez.ér\őkkel ~kunk meg, a 10.6; II fejezetben pedig azokk:tJ.
amelyek a felhasw:\l6i adatok ÖSS7.egyú~ésére alkalfT1ó1zhat6k. Ebben az ór1ban a ",ebe;
\'ez&l6k egy új csopo<tjit mutatjuk be: azokat a "ezér\6kct, amelyeke! adatbázisok
adlt3,nak elétésére te'''elIek. A webe:s \'ezk16k ezen csoponjjt admfDm1s-tuz..>riókncll
hívják. és a Toolbox paletta [)ata résún taLiUUI!6k (llid a 141. :limit).
-
-
. ..,......... ,,..16.
"'~ $
...
......... . ..' .----....
1 ,60
...... J-
-
Sil." .,._S ..
~~
,
14.1. itbnt
A \ ",tul Web Der.o:/op<:'r T<>Oibo.>: palcttdja gAlliO< adaifomls-<-'CZérlót wrtallll=
Az XML '410« otp:\ szOWI;f6jlok. .,lIIyIk ki:4öttleQes kódo l' " adatokat 00IImal·
nak. Az XMl. rá*tes b.rutatáu tUmrtat k/inyYiri. kanInI; ilii többet k8l eb "'*
l1JCÖ niIa, kernsii; MI a _.DU.!'l le. . . 'i. ~1. vagy otvI$$Uk ..
• Sams itJed6 THCIt Yoorsel XML ln 24 Houn clmll kötet" (ISBN: 0672322137 ).
A webhe/yf~ (1111 map) olyan XML ''il, amelyet 1lIIY bizonyos módon fomtiztat.
és a wabhely nevloki6s szarbnltéfOi tartalmaz inlofmklÓkat, amelyeklll aztán
.)IIC)Ildt:;", menük vfI/( IjI; Iormá~ itIIInIthttünk l118li- Az ASP.NET webhelyti!r-
....,...-
kép.kezeInI s.zoIg6/tIl6sIIl. iIetW a S~ vezéri61. 19. Jt,ezetbtn
Ebt.lcn ;I. lecké-ben csak u aWlok ad:llt:.lZlSból - konkrtall egy SQL Ser.er 2005
Express Edilion lld:nb1zisbOl- lönffi(; kioh":l5<l$l. cnleke!l;l. ~mullkr:o, e~ C!i:lk
egy ada,fOl"l"b-vcztri6\'eI fogl;dkozullk: az SqIDJcSource ve~tr\(h'el
El5l'51~éllt hozzunk 1(1rc egy ui AS.r .t\'ET weboldalt A=eu lIl9U1!o ta . aepx I~"" .
majd a lelYez6 nhetbm ~ Tooloox JXl Ieu:ír61lll-'~~unk az oldalra I"g)' SqllY.luSource
\-ez&l6t.. A ten"z6 r*zetl:>en mIIIden adaÚorri!l·'·ezér16 nilrke tfgl.ab plcém ,elenik
meg, alllt'!yben a "ezér16 tipllSa !s azono!ift6p ok".lsh:1I6. Ahogy ~ H.2 ~br1i1l 1:11":116.
az SqHbt:lSource ''e2bll5 howadlsa után;l. szürke ~pb:m ;lZ Sql Dll taSour<.
Sq l o.u.Sourcel fdtnlt Iitruk, ahol az SqIDlltaSource l a \-ez.éri.6 UOOQ6ÍI6p ( I D).
320 1111. rMZ • MIIIkI ecIItb6ziIolkll
--,.---
. _ _ _ .... • " . .... ,
-
I-~"
'--
_.- ••
.-
•
•
•
• --, ...
----
.
• •
= - -
14.2. ibn
A COnfigu .... lY~ta Source var:í1.Slólxon n c1s6 I"pb; az.1JOgr kidlas>lJUk az elérni kív:1.nt
adatbál.iSl.. Ehhez egy lenyíl6lisút k3punk. amely a Databa5e Explorerl>en felsorolt
adatb:lzisokal tanalmaz"-'l. b szt'repelnif: keU benne a MyFirsr04tabllae . mdf :>dall:d-
zisrtak. amelyet az el6z6 6r.iban ho7.tunk Iru.. V~lass7.lJk a list.:íb61 ezt az ad1tb:lzist
(U.o.d a 14.3. jLrlt).
14. (q • AdItOk ....... c iOIdui.,",\ 4 ....... 1321
----
14.3. 610
... M . . . . . . _ _ _ . _ . . . _ _ . _ . . . _ _ _
. . -.. _-
-
_-~--- ~----_ •.
IU.~
A kt>pcsoIati kumkteMtlC(J/
a udJhcJy bedUr'6fájlj<lba
"''''''Mrftll<
Mivel az adalfClfTás.vezér16 vacll3l6ja automatikus:on hozzbdja a kapcsobokulIlaerlánc-
beállitást" web.config f~ilhoz, nincs okunk cl, hogy 'lC~roIillk olt <:ZI az informlci6t.
TeMt hag}juk a ]4,4.:furán l~that6 jel<">l6oégy~~1. bekapcsülV'd. b a Next gombr:o
k::mint\.,. ltpjünk a köve\kez61éJ*$re.
A var:l15ló Configure the Sdect St:ucmcnt (A Select utasít:b bclllít55:l) ~blaldb:on vi·
bszttul,..k kl. hogy egy :odat~ZI:dbl~t akarunk-e kijelölni. '":Igy 5:lj11 SQL-kkéfded:it
~k Irru A dll<n'~d~ bejelölnl1nk 3 mcgfck-l6vtbszt6gombot. Ib tíWt
~nénk k,tt'lOIni. dbsszuk a Specify ooIulTU'I$ from a uhle or view (Oszlopok
kijelölése Lj!Jlaból vagy ~zedl6l) Iehet~1 (115<1 ~ 14,5.lbclt).
---_ -..... _
_......... ... __ ..-
-._-
_.- ,
--
-,.-- -
,
-,-- 14.5.6br1
I "d/t:uuu • .... 1Abklt, .. ~
<IZ aJajilll ., ~.... 011_1
Most. hogy megadmk. milrcn ad:nolut SZCretnl:nk kioh":lsni II IIooks tibiából. kani nt-
sunk a Next gomb.-a. hogy elérkezzIInk a v-ar.íz.sl6 utolsó ablalclhoz.
14.6. jin
II k/d'rdah ",Ind<~, sor
mi",,,",, o<rlq>6' 'U:u:amJjd
FigycljOk meg, hogy ez a SELECT utasítás k&t zjirndéJJol tafUlmaz, magat 3 SELECT-eI,
dl<'1\'e a fROM ;tjndékOl. A zjr~dékok ol)"Jn kulcsszank az SQL SELECT uta..íth1oon,
amelyek megel6zik 'ZOkn.1k aZ adatoknak a nevét, amelyekkel mO'\'elelet vtgeznek
A SELECT lltasításban a SELECT k a FROM kOleler.6 záradéko k, Ahogy TTÚr bizonyára
k 'lal~huk, a SELE("!' úrndék azokat az oszlopokat ~dia meg, amelyeknek ~ Z bt~keit ki
szcn:tn':1llc olV'~sni, a FROM zá radék pedig a:ll, hog}' melyik 3datWZJSI~bI~b61 akarun k
adatolau kinyerni.
A SEt E("!' Ulas~ásnllk több oom kötelem Z~B is lehet, 8rnt1lyak kÖlÚl néhánnyal
hamarosan meijisrntlfhOünk. A WHERE zár.tdé.l:ot példálllarra hasmálhatjuk,
hogy csak azokat a sorotal UrjUk le, amelyek rntIgf~ bizonyos felt'teleknek,
az ORDER BY zjradétkal pedig egy adon OSZI09 szvrint roodezhetjiik a SELE("!'
utasít6s ilfadményét.
.-_-,-
-
•• , ... ~ ., 'IC
14.1. libni
1,,1.=•.11 .iri " J~1Iérrtezn1
...... II t" II "'"
Mto:l" l UibM(Iul}t
I.
'"• "
"'"fl. '"" ,.. .-"
-.._--._-
~,.,..,.
~
'tl~'"
~ . ~ - !-
•
.. -'''''' ."
-
..........
0'_-
-- ' .. ...-
.--
--:..,,--.----"'-''--''-,
-- --...
--
14.8. jin
lcI.h-tlem I<'t.-..Jro%dsa hfwtaltbtl a leltén/t>W obklkból
l U. jin
A k?lib<Wz6 aM.k az eu.lod%tdr fé:Jllja/nu 'l!$freszllbh","
A VÖlÖS Jelkl6/tójelre való kattintéson kivül ugy is fultallwunk egy Jek8rdazesf, hogy
a Query Ot:tsigoer (LekérdezéstefV8ZÓ1 merJib61 az Executa SQL ISQL v/igreltajlibal
parancsot vlIIasztjul de hit jobban tedveljUk a biUentyl1p.ancsobl ~ CllIl +R vagy
az ALT +X biH9IItyúl:ombináció meJlen js dönthetünk.
•
- -
- - -- •• -~~
,~
- _. •
_. _.
0:::'= ...- - - - -
- -----
- - --
--- --
--.- -- - •• --
--- -- ,
••
--..- -
_,_o,
.- -----
••
••
••
•
14.10. Mn
Az ~ crn1""",~ ..., ~)'llblnJJ;"... Ji'knj/f ""w
Ez:l Ick~rdel6i a IIocka !~bla minden SCIIit ,·Issl.:tadia, és a TItl ... !Iletve ~Z Author
os-LIopok: I'rtékdt jelenit; meg. MJUrán beinuk en a IekbUezé:5l; a sZÖ\-'Cgmelc5be,
IUjl5lJk is végre - az eredmény ~ l ~.ll ábr.ín UtlUtó. Fi8)'eljük meg, hog)":ln \~lt()2.ik
~ di:lgr:mubbk és:l felt~r:ks:ll (q SQL-lek<:-nJtozesock rncgfelelo5cn. illetve hog)'
az ctedmén}":lbbkb:m e~111<l1 cs:lIk ka oszlop Lllhn61~ helyeit
••
.. ...
........ _.......
~
~~"
~ ..... ~. I
--- -.-- -- ••,. --- ....
4.~.
,,-"
"l.JI ....
.-
-.-....--~-_.
-- --
··......-.---
.... - ••
-
--
- ... --
- ~.
1.,lI, 11m
.u SfJl.~ wf 0IU1op~, {I(11" L"=o
AflllkOf 3ZOf1ban egy lId:l!b:izlSböl3<btok~1 olV"!oUnk kl, ~h"lában nem vagyunk kivin·
C5i~k a W.bl~k minden adllár•• o::Ik az 3<btol<: egy rb'~l're F'éküul ha az Am.. zonoom~
on az ASP.~ET-r6I szóló kOnyn:ket keresO.nk, az credmmyokbJ cs;ok a k~,
fchadelrnek megfeJel6 kOleteket .5OfOIja fel. nrm pedig az AmoIzon,oom ad:IIJ;4us;1ban
laL1lhal6 ~ kön)'\~
Irjuk bo: ezt a lek&del&t J Test Query ablak me~bo:, fos k:lnlrtt5Unk a Test Que!'}'
gombra. Az erehlé"yben a Book. libia 05sze:s O$lIop;\n;lk meg kelj jelnlme. de c;:sak
es}'ctlen som.ak - a The ~r cfnll.l könyv sodnak
FiQyvIjük hogy I Th. Number k... aktertitncol .gvszvres idéz6jeIK wszik töriil
mig,
• WHERE ~ HI Wletl&núl kttt6s ~,. ..1t.tI1runk be" Tnt Query gOmbnI
QninMl. kOvetbzd Iib·-,nnetet bpr.a: lnv.hd OUery: !nveHd, ,1..-
.,.... ''Iba N'-r',
Amim títjuk.:1 WIlKRE zárJdéklxm egy IogikJi feltétel t:iI~Jh:1!6: Tit l .. _ 'The Number'.
Az ~ mllvdeli jell!t aZO<lO/; jeJenté5ű a V"l$lIal Ba~;cnek n S. fejel.eilien megismL'1t-
műveleti jelével. Ezen kivIlI tcmtbze\e;en más oozch.asoolíló műveletek (például <, <~.
>, >~) is t~lha1Ók. amelyeket II I~.l. táblizatoon foglalwnk &SZe.
A renl, Ickérde~és Idrom köny" ..... ad V'SSUl' Crea/(' l (",rDu~1 IrdJsi/". 11,,, Ca/eher
flllhe Nye és fig/ll Club
Amikor UIIY o$l\op értékét ellY kilfakterlánc WII'f dátumlid6 trpusú ~aI hll$Ol)-
litjuk ÖSSlll, mint a WIlERE Ti t l. _ 'Fight ClUb' vallY a WIlERE L4st.ReadOn
< '2005-01- o l • ririldékokban, III áIanCI6t !Fight Cl ub, ~letw 2005 -01· 011
egyswes idézőjelek kÖlé kell tenoUnk, Ha aronball egy SlálTlOSllopot wtünlr. össnr
egy számálla!ldóval, III idézőjeIre nirICs szükség.
Szeroocsére ezrei a Iwcsa SllIbáliVaI csak akkO!" ken 1ÖI6dnÜnk, ha sai't bllileg /runk
be egy SQL-tJtasltást a lekéHlez6/1blakba; ha III SqlOataSource vezérlő varázslójában
épltinr. fel egy seLECT utasítást, I vezérlő eI'IégZi helyettilti I meqfe1e16 idézójelezést,
14. 6ra • AdIrdi:; "" f IZ ..... ,,, \ ' IIIkUI I333
!lllcM! a Booka !j!.>la SQr:I.lf1I vonatkoroan kell megntzn!, hogya WHERE :t:I.f1Idék
feltétele ig;oz~, AZ. eb6 könyv ( , is" .../ Stf"IiO lI...c.6o$) esetében azt liquk, hogy a dm
nm! '!'he Number, ~ könyv lIZOI'IOI\Oilója (I, ,kID) pedig kiM'lJOb, mint 3, elM ezt
a kOnp'rI a f~ti liUECT Ut:l.SÍw nMu~dia A kÖ>~ez.6 kOn)'" a Crofllc lou~ Own
Irros;te ennek a dme sem TIlO: Number, 61 az. aWOOl5ít6j;l is klS<'bb 3---fP1. elbt
ez. II koo)'V is \x!,keri11 az eredm61)"be.
A harmadik könyv elme lIzoooon The N\tIIlber; viUgos. llOg)' az utaJj;l;Í$ ezt a köny-
"r! "em adia vi~, mert 3 Titl. o 'The Number' fdléteJ hl ... ercdm(,n)' ad
A kö',-rlkez6kmt klérttkell könyv a 711c (Atelier ilf r/IC N)'C ez ~ kerül be
a1. en:dmenyl ... lm;ub:1, men a címe ug)-":ill nm! nw- ~r. dc aZ u.onos.tOp 4,
aml 'rem klSebl, '-~gy eg)'t.'1lI6 3-mal Al. UlaW> koo)'V (FVJhl Q,lb) ehhez h.uonl6:on
5wMn kirruor;ld, mert a 800kID érI/!'ke in IS nagyobb 3-rúl,
A renti SQI..-utasit'is Ich:!:t két koo)'V - Ils.....1 SWdw IItlelcs és CTrtlle ló"r Orm \l""cVslle
_ ,'itl. & Author ~I:KIja \-'LS.SZ:I
,= .
FROM Book.
01<[1&1\ BY TIti ..
A 1412. 1br:in I~lhaljuk. hogy.m reS! a lekérde1.Ó ablak, lu ~ fenti SQL-lekbllczl!sl
adjuk meg. Figydjuk ~g. hogy a lek&deIés a kooy,'eket a Titl.. Oltt.lop szerint
rendezi. nem ]')\!'dig a BOOklD oszlop tft"ke abpjin_
-- -- -••• --- -- - •
•
• •• "
_..=-"'_._----
!::'
•
.- .... _
- --
-
...... --
•
_--~----
.....
- -
- •
" ;;,;c.,
--
- ... .._-
- - - - .'" ._- •
••
••
••
-~
~. .
14.12. ...
" "'''J~rieI" TIrIe aUJOP szcrlnl tJbéc&mmdbe r~tllkaTl1r
Ha olyan ~9.-00NsI szeretnénk Imi. amelyben egy WHERE és egy ORO~ BY
~iIdél is Sl9fI!pIll, ~, hOQY az OROE:R BY zíndél;;ot • WHERE zéradék ,dn
helyeaiik el. fleqy érvényes SOL-IIIk9.-dszés:
''''''' "
!'ROM Booka
WHERE Tltle o ' !'ll1l>t C!ul)'
ORDER BY Author
fl azonban helytelen:
,= "
FROM Booka
O~DE~ BY Author
WHERE N&IIIe ~> 'Fight Club'
Rende.4S nöwkv6 és CIOkken6 sorrendben
El&zör 15 nyISSUk meg UII"ll ~ hxke kOf1tbbi n':<izében elk(~tl'"lt Acceuingo...t •. upK
oldali. ~ tef\'''z6 nézetbm a<.ltunk hozz.;l~' ujabb SqIDaI:l.Source \"ezCrlőt. nutc!
k:llum.5!..Irnc:, Configure 0..1:1. Source lm'alko~ a \"eztrl6 okos dmk~. Mivel
mM létrchOllunk egy kapoolali kar;lkh,rl~nrot altjFiuto...tabasl!,mdf f~jll>OL, éi
el is rdktároztuk ~Zt a welxilkalmaus w,.,b., _nf ig fájlj:íb:.on. :il \0Ir1z.s.16 első ltpbénél
ezt ~ bpoiolau karJkl~ncot Jojthatjuk:il lenyilólisl:iban. }elóIjük is ld. k kanlntsunk
:il ''eX! gOmbr.I
A Configun' the Sele<.'l Sl:l.tern•.'m ablakban iC'loIlúk ki a ac ol<. tibüt a lenyfló [j5tJb:ln,
éi kaumtsunk a " lehCl6stgn: (115<1 II H 'j. 1brát). Ahogy:ol k'Cktben korábban Ijuuk.
ezzel egy SELEI""T " FIK'M [Sonk"l lek6"dcrest iodifUnk el. ~mi mimkn n'kordot
",s.sza~d:ol tibb\.lól. a I ,klD oszIupban SZerePI6 értékek 5ZC"OnI rendo:z\"e.
go~ra k:utimva adhat juk fIl<.og, a megjelen6 Add W/1E1lli Cbusc ( V;"HERE zir~dék
hoztiad.1sa) párbeszl'dablakban (ll.l~. ábr.ll.
_---... -_
..._. __ ..
,,~". w
-_._ -
..........
, •
---._-~~--~-_
-.-_.
~
=
14.13. "
Az erre1mb!)' szií,.:w llZ tldd WI/ERE Ck",.." p6rbesz&mb/.akb(1II
-_.--
-. ____..__
. .__. ._-
. .
---
_~--_.p-
-_.~_.
• ,
--
•
--
.- -
L~ _
14.14. éln
,1 IJcokfD oszlof1m tg!" Iri.sebb mg)" tglltnW szr11ti1 tJlliJ()II,m* W, " ...CI)'
cg)' n'>(;zíWtt mikkel. a J -mal htrstmlilja r\<:rn> az h1<~
SELECT ' FROM ISoo ksl WHER.!! « IBookID] ,,_ fBooklD) AND
~ (!YearPubll alled l ~ iYearPubli8h~)
A 14.15. :ibrin L1tha!luk. hogyan fe;l3Z Add ORDER BY Claus<: ablak. mill!;!n megadt uk,
hogy eIC'lSZÖr az:ir SZL'1'Ím csökken6 5Orrendlx'11 ~l'rCUlénk n.'IXlczni. majd a cím al:1pj~n
,U>édrendben.
-
_.-
"""""""'_1 _ _ " __
1fI'W'_ o(] - _ " " " " .. tpoul u:o:. 1TtIO]
14.15. 6bnt
AZ' erfflmén)f dr $2""'"
~,r6 K!rn"uJ~ """tk='lk.
",,-azo..", "n, 1o:l")~t'4<I pedig
"cfmllJlSzcrlm s:croIjuk re
-_
de IX'irturunk mls SlJmokal b
... _. __.-
........
--
14.16. ....
III oJloaljull ""w ti WlIERE Z<fmdllloll
m1r61d!~jotclr ln."""
lia mcghag)'juk az alapénelrnt'zetl énékekct, az erod~n}' kl-! könyv..... fog urulmazni-
a I bllal St.,aiQ IIa(:kJ~ a CroolO '\WT 0u~1 1f'"eb!'1/('<:il1lűeker (lásd:l. 14, 17. ~bd!).
cs,k t'J'n':I. kl-! kÖl~ \tPz, hogy az :l.zonosI'tOjuk kisebb \-'agy egyenl6 :}nu.J fs 2OOS-
ben :adt.ik ki 6kel_ A I 'lsulll StlrtllQ I Ioch ubi jelenik meg:ill C1l'QIe ,,,,., Oln! rrebsile
d6u, men az ita m:l.pSllbb \uh
Összefoglalás
~:bben az 6d.ban az ASP "lET "d:l1forris-vezérl6l\"eI Ismerkedtünk meg. elSÓSOTb;In
az SqlO:l.laSource vezérlő"eI. amel)"t:1 adatolcn .. k eg)' .. d,:,nl);jzls1J61 valO kiol\~~sára
hanNU,alUnk. AZ SqIDaIllSoon:e vez6i6oek k~ inforrrdciól'a '"~n sz(jk.!é~ ahhoz,
hog)' ada,oIut n}'mleSl>Cn ki eg)' adat~ az atbtbómhoz ,,,ló ~pc:MJI6d:.Is
m6dj:1n. illef\'e:l "égreh:lpndó 'iQL-Iekb'tJcz~. Ahogy.U" SqlDaIaSoufCe 1Y'ZCrl6
hlUZ.liUata ctmú n'szben IJItruk, a \'ezéri6 varizsl6j:in;;r.k ~ ezeknek
<ll. IOfOl'T1Uci6kn2k a ~ mwikMll ~-uml
A v~rilSló '~gerdmi'nyk611 egy ol)':.." SELECT utasnlSl :lIii' elő. amel)' meghat:1rou:.,
hogy mdren "dalo~t kell ktn}'~mi " hánér.od:ttb;lzlsb61. A lekérdezés n}"t'h'e az SQL
(Slructured Query LIIIguagc. vagyis 5I.ruktuclh lek6de~6nyelv) - minden modem
ad:I1Wzis·kezeI6 ezt a nyeh'ct luszntlja n adatok kiolva.sj51ro. besz(j~r:I, f!'ÍS5il~re
b törl6l1c
MosI. hogy I~truk, hogy~n nyerhetOnk ki ~d:uok~t Cll)' adatb1Z1Sb61 az ASP.C\1IT Sql-
DaIllSOun:e \'eZérl6jl,,-jek segi~gl."eI, ~ kÖ\,etkez6 J~pés ezekll(>k az ",datoknJk
a ITIeJUC-'lenít.:!se: az ASP,N!:.' okIalakon. Ezt is webe5 ad:l\\"ezt'rlőkön kere.'>ZIilltehetjilk
nlC8 - ezekkel" ,~en6kkri lo$mer'kedOnk meg a kÖ\etkez6 órib:ln
Kérdezz-felelek
K: Az SQL wg;tS<!stfr.,l'/ ®~.,..,.., lőbb adatbáz;st(iblá!Jól ls kioll.rummmk a.kllfk//?
v: Igen. Mr ebben .. kön)..men C$lIk Glran p(:1~ka! né"lOnk meg. amel)'ekben
('gy~'Ilcn adatb:U~bla 51.erepe1. az adatbázisok táUl. kÖZÖlt "halában k~pc;o.
Jalok (rel.1.ci6k) állnak renn. TegyOk fcl példiul. hogy egy aZ ,\mazon,cpm-hQz
hasonló ,,-kereskedelmi w<:bhclyen dolgozunk. AdatMzisunk Orders
(Meg ....ncl.c'l"'~k) ncVll t;óhlája minde," sorban egy--egy megrendelés ad~tait
tart:llmazUl, amelyekhez h,rmészl~escn nem Co""k esy. hanem több ~ruC1kk is
(anozll,,!. ~ tehát egy Ordl!rltemft (;\k'gl"t-'1l.delt ~rucikkek) neVCi tábljnk is,
amelynek :IOr.liban az egyes mt-g.renCIelések n:,;;~ képező dkkek", rögzíljOk.
A fenti két {~bla nyil\';óflv"lOOn kapcsolatban lill C8}11ds5:d: 3Z or(i@r I t _ Cibla
egyes sorai az OrderB t.ibia egy adott ~hoz t:lnoznak. 121 a kapclOlalOl
1'*'8<m I",/<=kka/fejezhetjük ki. amelyek olyan. külön~ lipu~ =,=!opok.
amelyek egy sort egy IJÚsil!: tábla ~'g}';k wrához k3pa!Olnak. Az idegen kulcsok
tárgyalása azonban lúlmUtat könyvünk kere\ein
MiuI~n k~pcsoJalOc hoztunk l~tre kl'1. t:llib köZÖCl. többnyire nundk(1 l~bJ~b6I ki
szer.:,tnénk nyerni ad:uokaL 1'l'ldánkjyJJl Irhatunk pékUul egy olyan !ekkdez~,
~mdy 3Z elmúlt 24 6r.iban lc;;ldou megrendelések adata'! oh"assa ki, mégpedig
~ rendelé;ekhe~ !ano~6 :irucikkekkd együn. Az il)'en !öbbt:iblis SQL·lek"'rdc--
lb;ek meglehet&en gyakorikak, de sajnos ezekkel sem:ill módunkb:m ebben
a könyv\:>efl réizlctescn foglalkozni,
lb többet 5zeretnénk ludni a t~bbkapc501atokr61 k az oo>:etetlebb SQL.lckér·
dez6ckr61, olvassuk el a &..ms ki3dó T,xJ(;h )(}ll~('1f SQL in :l1IIoJl~dma
koo)'\'éI: OSBN- 067232HZ3)_
Ismétl6 kérdések
l, Tegyük fet hogy van egy ,0.1_ (Albumok) nevű ad:uWz'5ÚbUnk , amelynek
O<ZIop:d a kO\etkezók: AlOOmID (Albu,naWllO.';ítÓ), N""", (Cím). ,o.rtiol:- (EI6:ldó)
b. De.taPurchaBed (\'á5árlás d1tuma), Irjunk egy SQL·!ek&dezbt. amelr kíol-
'-a:;5a az albumok círnél. ;<,; ~bki'rendbe lC5zi a~oka~
2. irjunk SQI.--l .. kérdez~. amely kinyeri n albumok el6:ld6jil, eiméi és ,'lh:irilsi
~tumll (ebben a sorrendben). és a7. előadó neve szerint ren<.k-l'.i :lbk'ésom."[l()be
a listall
3. frjunk SQL·lekérde7.és1. amely a Nirv-Jn.:t összes albun~l adi" vissza a y:i1!!iriás
doinnna <zennl rendez"e. az utolj:lr:. megd:~roll lemeuel kt'zd"e!
4. Az al:ibbi kél SQL·lekérdez6 polllooan ugy:mazokal n ad110kac adja vISSza?
SELECT AlbuloID, Name. Artiot. Dotel'u~ctw.Bed
fl'.or. Al""-
SE!.EC'l' •
FROM Albuma
5. Ifjuk le. milyen lepbek :;w~esck ahhoz, hogy egy olyan ~datforr.is-\"ezérl6t
"egyOnk fd. amdy awknak az albumoknak "eimét és vWrI.bi dátumát adja
"Í5SZ:l. amelyeknek az aZOOO!iít6j:;l nagyobb, mint S. és amelyeket a Pa\'cmc11l
nevű eI&d6 kéQ1tett!
V~8SZ0k
SE!.EC'I" Nam<>
FROM Album.5
ORDER BY Na ....
4. Igen.
5. EMIl'pésként tervező né"zetben húzzunk egy SqlDataSourcc ...ezl'r\6( az ASI'.NIT
oldalra. és kanint.~unk ~ Configme l}~ta Source hi ... atkozo1sr~. Ez uÚn adjuk meg
:IZ aootb:izis kapcsolati aool3it. A Configure select Slatemcnt ablak lenynó 1i:;(Ji.
pból ,oílasszuk az Albuma t:lbl1t. majd a it'löIjilk kj a Name és IlatePun:hased
O:5l'Jopokal. EZ! kö\"et6cn kan;nt5Unk a WJIERE gombra az Add WIlERE Clause
p.1rbeszMabJak mcgjclcnítéséhct. Ebben a p.1rbcsz&labJakban két sztlr6kifcjl.'-
zb;! kell ffit.>g;<dnunk. Az els6t n AlbumID oszlopra kell bdllitanunk: a mt1... elet:
(Operator) legyen a >. II forr.b (SoIlrce) None. az ('!"I& (\'<tlue) pedig 5.
A m150dik mr6kifejczéM ~Z Artist oszlopra :'illitjuk be: a m('f\"ek1. in ~Z~.
a fomis $Zintén /100m:-, n e!"lek pedig PIl.vement.
Gyakorlatok
l. A következő felada! célja. hogy gyakoroljuk ~ kics,! az SQL hasWbL11. Nyissuk
meg II lektroez6 ~blakOl" [)'Ila~ El<plon.."1ben n cgl-r jobb gOf1lbi~\';l1 az adal-
bjlisr:l k:mintva. b >':Íl:uQUk:l. New Quefy leht:l6séget. IIlekl!nlez6 ablakb:m
írjuk meg alt az SQL-lekérdez61. amely awk>l II könyveket oI\'ass;. ki az acbtb:i.
zisb6l. ameJreknek:u. azonosítója ( B<xl k ID) I"&feljebb }. (Az SQL-u ... sitásl kÖ7.VeI-
lenOI is beírhatjuk az SQL ablaktil;>l::iba. de haQrolh.a líuk II diagmmablakOl b
a felt(1elrácsollS.) Fj~..,ljük meg II kön}'\listát, amikor kipróbálfuk" lekérderesI.
FUltaSSUnk <'gy IlÚsik jckéruczC!5t is, amely :uokal II kÖflyvl'ket oJvaQia ki,
amelyeknek az 1r~ m:.Igasabb volt 10,00 doll~rml. (II lekérdez6 ablakban b:Itr:1Il
kipr6báJhatunk [moibbi k:k~rdczésekel is.)
15. ÓRA
Adatok megjelenítése
a webes adatvezérlőkkel
A leckl! tartaimáb61.
Ahhoz , hogy adnl::dzisb61 szjl1llllZÓ adatokat je!erúthes5Ünk meg egy ASP.:"ET okblon.
kélftle webes vezé:rlőre v"n ~k$égünk. EI&Wr Íli. 3Z adnokat egy adufomis-vererl6n
keresztül &jűk el, misods;zor pedig.. az ad1tfomh-vezérl6 ocgl~géveJ kiolvasolt ad:.lOk:n
egy webes adatycwr16 alkalmazásával jelenítjük meg, Az előző 6r:iban at. ad:llfonás.-
vezérl6kkcl. e1s&orban a7. SqllhtaSource veZérl6vel fogblkoztunk. Ebben II Jecktlx:n
figyeJmilnket II webes ad.wezéTt6k felé fordítjuk. vagyis II vezérl6knek a7,zalaz oszt:l~
ly;lv:I] i5n=kedünk meg, amelynek II St'~<cl nx-gjeleníltl<.1jUk az aclatforr.is--vezt,.·
l6kkeJ kinyen ad:llo!t:at,
A ",ebe:; adllvezérl6kru:k az awtforr:b-ve~6khöz hasonlóan egyetlen feLaduuk van,
az ad1tok R1eg,tt'lffiítl$e. A ",ebe!; awtvererl6k tehát nem képesek aZ awtok kiolvas;\_
sám, aZ awtokat:l.Z adatfomlS-"czérl6b61 '·<:SUk. és csak leképezik azokat n ASP.Nl:.'
oldalon. A külÖflbölŐ adatvczérl6k az ad,tok leképe;tb, m6d~1ban killönbömek
eg)'miSl61 A Grid\rteW vezérl6 pl~dA,,1 az adatokat egy clcsban jeleniti meg, amelynek
minden,;om az adatfon-.is-H'zM6t61 kapolt egy.egy rekorot1:lk felel meg, de léteznek
olyan vezérl6k is. amelyek egyszerre csak egy rekordol; jelenílenck meg.
-- --
........
.-_
J __ #
.;
4-·
....
-~
...
... ' .........
15.1.6brII
" flWcs ,,,I«It,,,,,érióIr,, Ilf",,1 \Pm Dt<JoeIoper TooIbo.~ pWendjtJII
A II. 'ej8~tben megismert DfopDownlist, ChackBoxlisl és RadijoBunonUst
YelérIólet is houéhpcsollatjUk ill adatfonás·vdr\Oll.höz, Ezzel. téiMval
részletesebben a 11. Ie<:k8b8l1IogIaIko.zunk.
Ahhoz, 1KlS>' adatokat jelenjtl~nk meg egy webes "datvererl6 segí~<d. egy olyan.
3datokkal feltöhölt aWtf0rr:i5"'ez&l6re Van szükségünk. mim n Sq!D-JtaSource vez&l6.
Miután 32 adatf<J!Tás.vezérl6t az okla!hoz adruk és bclllíto((uk. az adllok megjelenitt;se
már gp:rekjála;, cgySZClik'll az ASP.NEr oIdalm l1u7.zuk ~ megfeleló "·<.obes ~datvezér\6l:,
és anrok okos dmkéj{-bcn megadjuk az ad:nfom'ist. Ennyi az egész!
Az adurneg,elcnitb qo~ $2.eITlIéltelendo:1 \qn'Ük al. eI6rO led<ébc:n dkbtiu~1l
A.ci;». . ingD.Jot .. . /!.!lp" okbh. és leg)'Ünk cl egy Crid\"ICW \·ezbl6t. (Emlékezzilnk vissl.a.
hogy az A.cce uingD.JoU . u p)C okbl két SqlJ>:u:tSoUI"CC.' veZL'rl6I. un:ilmn. ,unclyek kOzQl
n egyik a Booka t:\blJ mlnde'l rekord:jlt és oszlosXit V~;tdj:l. mig a mhlk <SIk azokat a
köny."dI:et. amelyek a~ nem nagyobb 3-<ú1. é12()()S-ben adUk ki 6keU
TOllSOk be teMt al. emlitett okblt. és v:l.I1.sunk len'ez6 ~zrtre. El: u!;in huzzunk
eg)' Gritl\"icw \"elbl6t al; okbh,l a TooIbox fUletu O:.Iu ~. II GnoJ\"It-'\\' \,,,zbjO.
anwdJ)'eI a fejezet k(,s6hl)j resn-brn. \... wrum a k""·etkez61«kében IS részJete<;ebben
fogblkozunk. egy rtc:sb;in jelenil; meg:il :u:l:nJomis adauil Miutjn al; :wbtr:k5o( az ol·
d:ilho z adtuk. a ktpem)'6n oI)1l1.mlil kelllálnunk. mInt a 152. ~br.ln
. . . . . _. . __ ._>---.,..
......... ......
•• •
_
..
_--
~.
_~ .....
ll- ___> .
..... "
:--, ~~.~
,-- ~ _ .....
-- ........
~ ~ ~
----
.-
1 _ _"
.~-
,-,-
•
~
~
~
~
~
~
~
~
~
-_....- .
._. ...
-
15.Z. ....
"
........
• "_a
- ... ._----_--. ...
"
•
..
.-
'.. - - -
\
--, ..
~
~
,
.~~
, .....
.---
, ~~
,
~
"
_. _. I L!L
'- --
15.3.6In
ti Gridi 'It!u, Ie::b1óh6z adalforrroloi'm .. z Sq/Dauú(mru 1 • ..,zh1ól knpc.rvllllll
....... '-""'" - •
.-
___ 1--
.~ ~,~ ~ ,- e
..... .-...,. .....".-
•
-- "-.,,....,_... .
....
y,~-
15.4.6bra
ti BOOI« lábk. lIIr1tJlm .. "KI' ilSP.Nf.T o/Jak", "'<'gjclc>,íl''''
15. n · Adatok ~ IWIbn ~ 1349
Gl1uuLilunk - n~ m.lr ,"Jn egy ASP.NIT oldalunk, amely megjeleníti az SqlDataSouTCl'1
által v~greha~OIt lek~rdezés eredrnén}'tt! Sz~njunk cl <'SY pET«.'I., és ~zzil k meg
az ASP.r'l,'ET oldalt a böngész6nkben is Ca!Jebug menü SUn Wimoul Debugging ponl_
j.ávaJ). Eg}' rnCSOl: keU Ijtnunk. amelynek SOI1Ii a Book .. t'ibla öl köny\'tt mUlatjik
05A. ábra).
A 15A. oibr.1n 11tható kimenet rnessze \'an az ide.11i51ól. ('..wnyák a betúk, nincsenek
színek, az oszlopok aUb:ln a sorrendben ~Jennck meg, allog}' az ad:ufoms-\'czérl6
\,;SlI7.a3di> azokat. 6 cell.szinter fOf1ll!iÚ51 St.'Il1 alblmaZlunk, (A t.a"cReadOn én~kétoen
I*ldáuJ feleslcge5 az időpont. a price oszlopOOn pedig nem szerepel a pémnem jele,
és II szolclsos k~ tizedesicg}' helyett négyet jelenít megJ Emiatt lllOI'I ne agg6diunk;
a rncsn{,ze1 lesueszab:1s:l! is t.!ilgyalju k a f,*ze1 kés6bbi részében.
Egyelőre o;.~k foo-~hük meg az adatol!: ASP,I\'ET okblon v:l16 megJClenítésének meTlClé1:.
Az ds61épés az awúorrls-vczér16 hozzáadisa, amely kioh'll5Sa a mcgfcld6 adathalmall.
Ezt követi a webes ~datvezM6 felWtele. és annak okos dmkéja>en a haszn:\land6 ~dat·
romis kl\~bszW;a . Nr ebben ~ részben a GridView "ezlorl6t t:lrgpltuk. aZ adatfornís-
"ezérl6ket a többi wdle:; adatvezétióvd is ugpnigy köth..... jük össze.
Ebben 3 leckében rmr láttuk, hogyan 3dhatunk egy Gri<.!View \'CzM6t egy ASPN'E1'
oldalhoz, és hogyan köthetünk h0121 egy adatfOfl':is-vezerll'ít. Mmdü5sze kt:! Il:pésre
\'olt szO~g ;
l. Egy awúomls-vezérl61 adtunk az olcblhoz, és 6gy állilotluk be. hogy kiolvassa
a mf:8ic1~nílenl kív:im aWlOk':lI.
2. Egy GridVlew \·~7.l-rl6t is fe]"euünk n oIdalrJ. és 610' ~l1ílotluk be, hogy az első'
ll-péIben az oldalhoz adott adatfomis·vezér\6b6l "egye n aWtokat.
A fenti kél egrszenllépés eredml-n~'t: egy ol)':m ASP.NIT okL11. amely a kiolvasott
adal0bt egy dcslxm ;elenftl meg.
A GridV-,ow k6dja
Amikor a Grid\r.ew \'~z{'fl<'il az ASI>.NET oIdaJhoz adtuk , v(-gig t('f'\'ez6 nl:Z<.'1ben dolgoz-
tunk, de a löbbi webes vezi'rlóhöz ~n a Grid\T"",' il; bclUíth3t6 dd<l:,r.uiv
módon, a forr:b nl:zeotben. (lgu, a [)e5ign nézet eszközei jó sok 8"'1".,\",,61 kimelhetnek
meg nlÍnket.) A 15.2. ~bt:ín l:ilh.:muk. hogy:m fest a t"."cUi né?et kö.wetlenill a GrielV"",'
vezérl6 hozzáadás! ut!in. A forr:iW:l bekeriil6 kód igen tömör.
<asp,ClúdView Io.."GddViewl" runat "S"rvH'>
<'up'GrldVi ..... >
MIután azonbom bdJJi11Uk II dcs adaÚorr.'i~1 az 01<<>:1 rimkc segí~cl. a kód fcltüv6-
dlk. A IS.1. !X:ldában J~lhaljuk. mi lesz bel6le. amikor a Gnd\TlCW-hoz kapcsoljuk
al Sqlo-~tlSource l ,'czi'rl6t. A bcillitjs után az oJcbh a lervez6 nl-z.etben a IS.j. ~l.lra
mutlt)'l.
A GmMew mez6it (4-11 iIOr) rnegh;o.tirow <c, l1,U111l8 .. dem" l sorban ke:w&hk
MlI'I(ien .. aop:BoundFiel,h elem egy-egy mez6l jdkq,e:t a ~n Ahogy a IS , l pél,
d:ilun Uth:u6. a rXsNnllél mez6 t:lUlható. t'g}'-egy mmden osrlop 5Z01ndra. alTllt
n atbÚ0fT2.s..\"elérl6 \~ \I,nder! <"sp, Boundf teld,. elem több ruU,duns;ISlPI 15
rendelkezik. amelyek töhbek kölbU a I11C8I"lerutcnd6 awtok:n unalm:u.6 ad:It~l'.I5-
ostkop neo.c!1 (Dottarielcl). ,lIet"e n oszlop fejl<!dben k,i,.dndó 5Wveget (H"acler"l\eICt)
IlOIwrozuk meg. t::bb"fl az elemben OS:tIopszirnO formj'cl~1 ;,úomtációk i~ lehetnek.
amint aZl ha!naros;ln Utol fogjuk
A l S I pflw célj;.o. hogy li\"iLigílSlInk a Dt.."igrt '*ZeI t'16nrcíre a \'isual Web t)(>o..('-
Iopcfbcn_ A tCn·t'ző nézet nélkfil "Grid\~...... fenu k6dj;.i1 ~j;.ot katDes kellmt' beír-
nunk. a lervu15 néZ<'lJ1ek b a end""",,' okos dmk<.,.:nek k6nOnhel6t'n aronb:ln
a fqlC<;Zl6kómrezet aUIOfIUukusan el6:i.llitp sz.:Omunkra a kódo!, aminl megadjuk
a Gnd\1CW awúom1s-"t'Ur1~
A GridView testreszabása
A 15.4 :ibr.in látOll ries ncm túl tetszet&.. t'incst.'flek bffine színek, ~ rendszer ~Iapl'r
lelme.wtl I::>ellllípusll használja, oIy~n mez6ket is megtelenil, amelyek a felhasZIdI6nak
Jll'm igaz~n érdekesek (péld1íul ~ Book lll-I), és a d1ítum-, ,Iletve pénzénékek SCm
form1zouak, riiad1su1 mtnden tntk balra igazodik, él ugyanúgy ntz ki. Szebb lenne,
ha mondjuk ~ P"veCount oszlop ért(:kdl jobbrJ ignit:ln~nk . a könyv eimét pedig d6b
betavel emelnénk kl. Az scm az igazi. hogy a cl", fcjltdl><'n lev6 mez6n"""k az adil-
b~z.i.s OS2.Iopamak nev<'t tükrözik (BoQkID, V.... rPubl i 5hed, l.!IatR/',,,dOn, pageCount
stb.), En,*1 v:ll6:színiIleg .oIvashat6bb" neveket szeretnénk, ptld1íul ilyen ... k<.->!;
Az0f106it6. Ki~d~$ t ....... Ut<lljáro olv:ls"'~. Old:ilsz:\m.
---
----
_.-
••
.-
- ---
••
••
--
•.- ••
-_....-_..
= •
\5.5. an
A Je/p nfo.1h.tr ~.ud, _,...mMsn lU Appt.wro".", oo!u 'u/aj<JotlsdlJalt"UJ
A 15.1. t~bI~Z3twn ezeket a tulajd0ru4golm sorohuk fd.rövid leír.isukkal eg)'elemben.
Ne feledjük, hog)' ezek a beálliWok:l. teljes clcs formázisár:l 11lI~s.sal v:lnnak. vagyis ha
a h.1u!l"5"t.lrU (&o.ckColor tuLai<;lonsl.g) zöldre (Gr .... n) :1llitjuk, a r.ics minden sor-J €!s
mez6je zőld MU&s>:innek fog megjelenni.
meg,. am
módunkb:m k~émi , hogy nukbu tehetjilk a Grid\'iew
99' iIO!il .ki,elöIuP
---
•
_ c
------
.~
,
'-
-. ".,. •
15.1. "
A ~ 1ipWJl.Rln)/l...... ' 't ~5fi1um,.b~
Eddig a teljes cicml'zet. iUetlle:1 sorok sz.imjl'n elvi'gzeu forrn:lz:íssal ismerkedtGnk meg.
AJ: egyetlen, amuúl ml'g nem beszl'lnlnk. a mez6:szinTŰ forrrui.cls. A GridView IICZl'r16
"",Wi a Propenie:s ablakban nem szerkesnll<."!6k, eI>elyen a vererlő ok05 címkéjének
!'.dlt CoIumns (Mezők S7.(!rkesné::se) hjv~lkoús:i"J kdl buintanunk. amely" Fiel<b
(Mez6k) pjrbez&lablakOl jeleniti n>eg (U5d a 15.7. :\br.lt).
,.... ,.
--' • --
I.i:= •
, o_ '"
" ,_
- 'o
J-
o
. . u_---
• '_0
--
.. <il' ... o
- -
. . .' d ......
...
<a ._
.~ •
:iI _ _
>- - 0-
A Fields ablak a ries mez6il a baJ alsó sarokban sorolja fel. Ha ebb6l a li$t:\b61 ki'~
lasztunk eg)' mezőt, annak lulatdonsigai betöltődnek a jobb oldali lisclba. Az ablak b:ll
fel56 r<:-:súI>en a GridVi~ \'ezl'rl6höz adhalö nlCZŐlipu.'IOk I!ilhal6k. Jelenleg a rács-
n(:ote\ mInden me«lje 8o,mdFil:Í<llipusú. Ü a mcz6dpus egy5zenJen annyill""7., hog)'
megJeleníti a megfelelő adalfom1.s·vezérl6 egy adotl oszlop;'inak é"ék~. M;is mező
tipusok ennél többre is kl'pcst:k. A Hr!:lerLinkField mezők ",,1<Uu1 miOOen !iOfb;an egy
hiperhi~4tkO~S! jcleníteoek n>l."8. a BUllonField mezők pedig egy~g)' gombol..
A meZŐIipusok közül nl'h:lnnyal részletesebben i.~ megismerl<edünk:1 16. fejezetben.
""..
A meá'I r,jIc'cébc .. e:enikonclő 5XŐ''eget hatjrozu 1TIe!t,
A mez6 l.'I'l&emek omWi ci , adp 1nl..1I.
Egy Iog,bi tntket Iu.Liroz meg, ~mely aa jel~, !>ogy a r-:ócshoz
kapaiOlás cl6n I n101t k6dolásUvl kcll-e ~lakr\:lnl ~Z <:ncket
(az alapmelmezi::f. a True). A I-f'nlt k6dol1s ja"ml, lTlCft
dl..",oIilja a <acr ipt > ~ mis oIpn I mlL-eIemeket. anlC'lyek
nem bizt.n$. hogy mt.'gf~ 1ek(-pevld6k ~ ricslwl. AI~
lIzonban.!>ogy mt.1kOdjOO.,
Viltozu..",-,k 1I'IOI'Il" Pa\l",~,,>I'''"t. YearPubl i sh.ed es r."atR. .dOn mezők H.....d .. rt'l!!xt
tul:ljdorlúg;it Pa" .. a, Publl"hed éri r."at Rea('l mékre. ma!d bon~k k, a TilOl. mt.'ző
ttesStyh lubtdons;ig;it, ~ keressük meg a Font tu]~tdons:igot, Ezt Ili bOfltwk ki. ts
~lli~uk az It/llle résaulajdonsigOl Tru" é-nékre.
Adjunk megfeld6bb f~zl~ a Price éri r."nReadu" mezők éntkeihez i5, Ahho~
~'eg)' mez6c. I'orm.i:du.ssunk. két IUbJdons;lgot kell be-.1llil.munk;,. Ht.U:neod ..
tulajdoru.;ign;lk FoOl ...... n;ok kell lennie. ,. o.taF<><1DIItStr1ng-ben pedig a kí\'~nl
fomdhol szilkségesformtlző ktlmk,..,ftlllcOI ({O : [onnoftumlelró} ) kell megadnunk.
A fOl"l1l;Ítumleiró hat:irQUól meg, hogy;on kell f~zni n a(\;olok::u, Az egy<'$ awttípu-
5okhol külOnbOzó beépíletl r~tumlclrók ~1lnaJt r=delkelbre;;o példilll
a pénztndoekhez ,-aló.;o ct pe<.bg,. wtum· fs ido5ponltn~kek:b61 CS:I.k cUrumot állit 0:16,
A formátuml~rók teljes 1~;i",1 fl"IC8UüllUk;o \'SU;O] ~"eb I)e.,.clope!- sUSÓl'Íban
(a keraend6 kift-jezés: Jomutung"),
........ -_ ... •
•
·.... ....,""""
E".. ........... - -- ,,-
_ .....,.",
""', '" ....
.,. 'c
.".,,,,,
~-
..
'", C><r_ '" .... .,..
.~., ".
" _...
",
",.
-
"i..
, .... u /H/'OO,
..,,,.,..' ' .. ,onooo
15.8. jin
- " mcs"é2cct a ~
IC5IIl$:<<1bris<o ",6"
_.-
-,---_.. - •
--
Boo~1O T,U. Aulhor
'--
-~
_.-
_._.
--
--
_ ..... r
-
lia ki"~lasztunk egy autOllllluku5 forrná:ó.si stilusl. al. Appe:mmce és 3 Style< rész
tulajdons:\g:ll közUl több is meg,,~ho1.ik, hogy a <:ies forrniz.1sa megfelel;en a kiv:ínsig~
mkrutk, l'ersze ha jó u izl~lnk, a fomúci ..i bclllíulsokat ~dh.atjuk magunk is, de
azoknak, akiknek hozúm hasonlóan nincs én(!kOk n i1yesmilJ<e'l:, hamar j6 barliljává
v:\lhat az AUIO Formai abLIk.
15. 6B • Adatot. megjIIIn/t6M • webelldItwzWt6kbI l 359
... ..~
.....
--
, -
-- .-
- '-
.- .
, « "' u ...
~
15. HI. 6bra
Az o/dol OXI' D"",j!sl "icw
-" 1"
- .nNM ~ és mmall
<';10' """tft;mti5.,~t'J1:
~"Iá"
15.11. 6bn
lU" ~·."",t.1oSIooll
~ rritt:ldJ<*ujj....,
--
,.
,
~
-
- --
T...-~Z003
,~OO
,_ ~
m 15.12, j n
......
---- A DetaIJsHro' mml ",ár lámogalja
a lapm:ásl, l!s jelc,dCS a Th,' "'" mlJr,r
dm!1 "'''J'' ada'ai! mmaljo
...
0- .
""--_ ...
l ,....... _
'-.I
~.,_' ....
.!l!ll ;
'. - ,.
15.13, MA
.'_I~ Il .... ri le< nbrI
~ ...... ! ~ kllu'n" "Y"Jt
A OetllilsViow kódja
Amikor a fqczet koclbbi ~z&en II GridView \'ez&l1'5r61 tanultunk, mcg\'I;c.,g1Ituk
!n1nd II \,ezM.,- fombk6dj'-t II V-lSlliIl web l)eo,<eioper forr.is nézet(,Ix.'fl. mind pedlg
II lekq,eletl I mIL~. amdyet ~ "'~ bp Mmden ~ben> amikor új .....ebes
~..,I doIsozunk. alinlon megnhni mmdka kódot, men igy jobhiIn rnegb1lle1jUk.,
mi áll az 3don \~&k1 h.:merroen az ASP.N"cr okb.lon &. II bo'Ing6!z(Iben.
A Deca,I5\~.e".. k6djJt :uonb.ln ln nem fésOljUk ~t ~be men6o:n; en !lÓT INgunk
is képoc:k ''3IO"Unk ehlg('ml. Egy dolSQ( azonban ki kdl emdnunk::I iJel:I,IsV.ew
Ieképez6;kor egy <tabi., HTMl-eJcmmé alakul. dc enl!cl! ~ houákapcsolt ad:ufOL'1'Ú-
vettrl6 egyes rekordj::lilUk b oszlopainak nem egy....,gy tablizatsor. Wetve t~blh.:ucclla
fdd n>eg. A DetailsV_ -br.Ln lll. acbúord$ oszlopau képvÍ!leh egy-.:gy Llblj~tsor.
a J()f{)Q1 pedig két-k.:.'!. l~bI~zalc:elb; egy lll. oszlop !lC\~. egy pedig al tn~kb>ek
Al. C1'edrnény tetdl egy kHCli5ZIopo::» <tabI.> !ITML-dem. amelyben az adtúomb-
\-eltrl611W,~ lIUJ'IdO.-n "cb,házi.. ~bb~k egy-eg)' sor fdd meg.
l, <tabi .. ~ .. lhpjt.ch'l!l-·O· rul .... · all· bord@,,'l" ld " DE!t&1hVt ... l'
_ 8tyl.~"heillht, ,. Upx,wldth, 12SpJl,border· COll .. ~,coll .. pa",·>
.", <tu
<td~800~ 1I)cftd><td~1<ft,b
.,
0, </tr_tr>
.
<l,bTitl*</td><td>Viaual Stul.llc IlaCJr.U/td>
,", </tr><tr>
, </tu<tr~
<td~ y .... rPubl i ,ho&<!< I td><t,b:2 OV,< I ld>
"
,", </tr><tn
n, <td>Prlc .. <ltd><td~l •• 9500</td>
",
u,
</tu<u>
U, </tr><tr>
15, <1d>P.~eCount<ltd><td>478</td>
<{tr>
</tAhle>
L .:
~" - •
....
0 --
~---
!lI_::. - '-e >-....I~ :1
•
•
15.15. Mn
,tz",1moII
u· "".-maJ,,, DlJiUQ
Q.r dtdd,It és
. ,_ . - "8)lb,-"I "IOISÓ
AO:S<,)........
. "".
H ahhOl, hollV .lapo.!'s mtiködjön, vinu ken 'lIlIanunk I tulajdons'oot Dataset
A képlet a kövelkezó:
Bár 8 GridView beMJthat6 úqy, Ilogv oldalanként c~ két rekordot ieienitsen meg.
az adatforrás·vezéf16 akkor is minden alkalommal mit/dM rekordot kiolvas az adatbé,
zisból, arni\:;~ a telhaszná16 la9az az adatot kiiliill, lIITIi nem túl hatékony f'OO9OIdás.
különösen nagy IIdlllhalmazok asetlHlen.
A felesleges 8ÓIItok kiolvasásét megak~dó igéf!ybe vehatjük
az ObieetDetaSource vezérlöt is, Erről 8 http://msdn .microsoft . COf'l/
libraryJdefa ult.dap ?url:/library/en-u9/dnaapplhtal/
Gridl/iewEx _up címen található, BGndView-ról szóló cikksoroutbólllldhatunk
meg többet.
Amikor ~ felh",~rclIó.. lapozó felüle:{ ,';,obmelpk h ..... tkoz:úar.o (~. okblsLimra '"lIgy
e~lra gomoo) klttull. alt ASP 'TI oldd H'i6Zacsalol;l.';t 1tlI, végre. éli II Crid\ oew
I'<oIle1nóo x tubjdon$.iga ~ulonuuku.s;1I1 fn.«sül, Ennd a vlS5Z:I<:SaloUsnJI a Gnd\1eW
kél bpou.si el.<.-rnrnyl vJI! kl. amel)'ekhe~ _álkség esctén e:.cmén)'kezcl6kct lrhalunk
A kél e;emény a kö...ctkez6-
. ,......,
megy ,égbe.
• Pa~,· I n.:'le"c .... oa, Ez az e5<:mén)' a Pallf!l~,':l~': lula;doru.:lg új enckre való
fri.'I.<ilése uWn nleg)" "':gbc
Ez nem jeIeoli azt. how lia rerldezhet6 rácsnéltltet használook. akkor az adatforrás-
v9Zér16 )RDER B1 zátadaénak semmi llasmát nem vesszük. Eael ugyanis mapár-
rmmuetr renduúi sorrendet IlatárOlhatlri:; fllIIG, ami akkor lesz érvényben, amikor
a felhaslllálO el6SlÖ1 tölti be az oldalt. A felhasználó eZl.ltán természetesen leliilblrál·
llatja a Ilffidea\st a megfelek'i oszlop fejlécében 1e"OÓ hiv8~ozáS(a kaninl\'a.
-e
- .-",_t__. .
....
...... -- - .-
, """"._0.. ...___
v... --."" .. :-
"_ ........ .... ~
~-
""~
~~
'--
"- - ,., ....... """"" " ....... PO
,.-
~
~
IS.16_Mo
AZ a./a/OJl ~bt<>, (> BooJúD oszlop szcrfn! 1'I:t"kutldt. Is ",/",Icol mcx6ftjlt'c ..
lJil'(lJ~1I képl!zó<iiil le
-
__ ,"""' ... :>o
---
.. _........,,_ .... lJ,
~-
15.17. iIra
;I "',yr""" <Ir tt.-rlfJt "",dezhl'tjillr. hit n l'rlc.. ma6!t;lecibe>' Je,(j hil.w /kozM", koni""",.
--
'.'"
i,-
=
,-
,-
''''
,- ~ r......
.
--
,-
lt _ _ ..
,--
,
,-
L>J
---_.....-
__
OoMIh.!IrrIL o!
-~-
15.18. 6bnt
A )",'rPu/)/iSJJI:d ~SortE.~" lu/ajdfms4gál /WI5IIIJk
Kérdezz·felelek
K: il Gridi ku' t's /1Dell/Ils, ';(,'11' mepJci''111istt /f!t$Z/.'I&, dc IIOfVW' I/'IIC/cm 61«.1
mER szebbtl. lu. p.<Idó .. , tllblhal1OronJJém Illirom rdllOrdOl $Zf'r'CIlw"jj lát"I,
"en, pedig <Orotll..éflj <'&Jn, mim a rr'ks"e::c/ÚI!,rl
v: A Grid\iew és a [)ccl1l~\>\...... ,'eZérl6 il. a I«k(-bI'n nle'g>Sl11O:f1 SLlt»lyok ~zerint
kfpni le .ctable> HTMl~ a tartalm;it... ami azt je\eTUJ, hoSY" Gnd\~{CV.
nundig pontosan 1'8)' rekonlot !denil nq $OI'Of>kénl, , OeaiJ!,\'iew pedig
kl'losrlopos t...ibUzallll hoz It.'tno az adalb;izo.5Ubb adott rekordia ORlop:;Iin:lk
~,e_ T~QefI mmdkl'l '·czérl6:sDne1. belűtipusa, és szegtI)e1
rggy n1éft8:bcn l~rt'SZ<lbI);l\6k
Ib:l. k"..e..eM o:rma~!Jb ~k kidnJUk :l.Li"t.'tni. m1~ webes
acbt\'~2l,;'rl6khOz kl."ll fordulnunk. A TNSIk h;lrom adlt...~ztr16 -:I. [bullsl.
ll. Repo:::llcr ts a I'onn\'~ _ sabkmol«tfha.v.rdl. ameirekben \'eg)'ithclJilk
a HTh1L-k6dol és ~ webe5 ,-e1.&I&CI. ig)' nallyobb mbl~ka 1~b;isrJ v;jn
k-llct6ségünk AhollY ~ ko.."C\kezó Ioxk8x:n (;jtm rogjuk. Jtuben:l. Grid\'iew és
a Det:I.ilsVl<"W is t.1rroog;.ol,:l a $:I.bIoookaL <k.> CSlk a rroez6k szinljtn. mig:l. Lnt:.l1.cA;.
~ Repc:;I\f:f és:l. FOfTTl\',", eI<'Iébffi SOf$Zinr(I s;al.lloook:ll h:l.szrlilllóltunk
1(: t~· IITn~ ri Grldlil'U' .-.pe. 'gn eléB .JOoIrrtor.tri IIo.Innn ludlwlCNr ""'8 l6IJbet
a Grldl1eu.' tl!Zht6r6lJ
v: A Gr1lMew , .. lóban megIeIlC"I66en ös.szJr(cU és !UR) 1udis6 vezérlő - , .. km.inU1eg
ez tud :l.leglöbbel U ASPI'IIT ,."Zérl6i k"'rul, A kÖ'l'elkez6 fejeWtl>en ~ Gnd\'jev,
~mos hasznos szoIgjlClUslh'lll meglSlnerkedUllk, po;'kLiul al arnuok !>re1'Kt."'7.lC-
senek, törlé:!ének, lalJ07J..ocln;lk és rendezbéno::k k~l. de ebhen
a koop1>en csak ~ feLszint C!rinlllCljOk. Ha niC!lyclX> I:<men"lekre vol.ID',mk
~ Grid\~oew ,·e~. oI~':I§SI.lk el a szerző Grid\'!eW Ex.amples for ASP~f.T 1.0
dmíI okk&" http:'/lIIIKtn.m1ero.o!t .. ,.....', II br"ry/def ..dt .... ~ hiri
III br .. ry lerI-u./<!nallpp/btllolIGridViewb. up <.imen, ~tyhez któld-.::t6
fom1skód is W1OZIk. b IObb mtnl 1200kblnyi pHWt un.alm:u.
l,métl6ké!dések
l. Ilog)"n kap<:.5Ollu.lunk egy :...l;.uf~","e~ egy webe adalvezérl6hOz'
2. .Az adaúorris-vezérl6k ,.cbtok megjclenilts&e is h<I.wúJh:nók." 19u '':Igy h<lmis?
3. .A ... '..-be:s adal,~llI!J16k adalok "cbtbbisból ,~16 klo/l~ is h:asl.n:ilh:nók·
Igaz ,,,gy h<l1TU.i?
4. Hog}':In k~U bcllhlaru a Deutls\~1C'Vo v~ztrI&. hogy:l. felh:!.szn.tló ,·egiglq.ked-
hessen a hOUJ lapcsott :HblfOl'T1is-,~zér\(l; rekoo:l;am?
5. Milyen fonnámmlcírót kelJ hltszn.ilnunk. h~ azt SZ(' ....'tnéTlk, hogy egy Sl'J.nuTlez6
tartalma pénz~rt;!kkbl! jelenjen meg. b hog)'~n form1Ul.:lIunk egy ilitum/id6
mez6t csak dilumkml1
Gyakorlatok
I. Houunk ~ eg)'!'] A..<;P'Yr okbl! IfyllOOkTitl ...... aspx no!-.~ Ad",nk hO.UJ
egy SqID::lUSourcc \-c:ztri6I, {::s ~UMuk be Ugy, hog} 3 BOOtI;. úbbból oak
a Tltl. (am) ~ adl'l \·I5SZ<I.;,Il t'l'edmi:nyl pr<hg a <.:imek neom ren-
~zzilk ábé.;ésorrrendbc, Ez Ulln a<4unk egy Gri<M,ew \'ezi:rI6t az oldalhoz. b
kősSilk hozzi 3z SqID:.llaSourcc \czMőC ~·omdzZl.lk a r,lCSllé7.c:tc:t 31. AUlo
form:<l párbesz&.lablak scgiLWg/!"ocl, é. pr6IXi ljuk kl az oldal! a böng(:)2:őnkbcn.
2. K{:szits!lnk mC-g egy ASI',J\1:" okl:lh, eZlinall1c8tllecentlyReadSook.aBPJ!
nhcn. Adjunk hozzi egy SqIl):II-'1Source veZérl6t. amely a Sonka tábla ÖMle;;
Of;;dop\1 viss>331ij:o. de ~ L.utR .... dOoot. c>sUop ~nt rendezi ~ rekordok~l,
csökkCllŐ~. Ez! km·etócn adjunk egy Oetails\'iew \'czérl6t azoldlU'IOZ,
~ k06sük hozti az adaÚoml,o,.-\·eztri61 A bpozá.st ne cngetloéI)~Uúk a n:..,;üetes
"'''''"''''.
M6cIoM~k a ,""z&zIIlul tulajdons;lgokal ugy hogy cs:ok ~ Titl .. Author b
'-"'''tRNdOn mezők ,eloI"I\JCfIclt 11'1<'8. a Ti t le mező tanalnu. dŐIl lJeIib.
~ LIIItReadOJ>..<.ó pedig félko-.'cr Ieg)'en_ \'jltOll:lSSUk a LIIatReadOn mem
I\eaderText tulajdons;lg1nak l'ntkét '1 n Ish«! ReadinQ 0,,· 1':1 , és fOl"Jl"Uzzuk
ligy ~ mewc. hogy C'ó:lk adIIum iclcnjen meg, majd pr6b:íljuk kj az oldalI
a böngé:wSnkben.
16. ÓRA
Az. ad:uok kiol''ashán kr.,\I1 az adaúorr.i:.-vezérl6k azonban al. adatok m6d0:.ítW ...~ il;
h:tsz.nallUltók Az SqID:lt'ISource '·ez~6t bdlhlh:tlJUk ugy. hogy úJ rekordolm _~zúrion
be az adatWzisba. vagy hogy töröl;ön, illetve módosít5<>n rrW nlegk."'\'6 rekoruolGIl.
Miután:o: SqID:naSource '~l.l'rlÓl beállilouuk a I~rás. f~tt::; és lörlés t:i<I\QS3t:isára.
ezeket a ,wJgillJtá~! elérhetjilk a GridView és DelJil~'~\eW ve7i-r16kön kere57.tii1. igy
a felh:r.-';.zn.;llók nem csak meglekInthetik egy adalblz;s adatait eg)' weboldaJon. hanem
adatok be:szú~ra, frissítNre ts lörl~ il; lehct6sl'gel kapnak.
G~"Ől6dj(jnk meg róla. hogy ~ leny~ólbtáoon a Book o t.1bl~ VlIn kijdölvc. és ,.;\Ias.szuk
:t' lehet6séget a lábl:t ö<sszes o:szl~f1:lk kiol"a~s.1IJ01_ Ezzel tJejllitatluk az SqID:ua-
Source vez~('it al. ~ rekord k oulop kinr~re a lJoaJ< .. lábl:\.b6I a SELEC'I' •
fROM laoaks] lek~zésen keresztül. ahogy:r. H I«kében is lettük. Ahhoz, hog)'
a vez~rl6 a ~Úr;\Sl. a frissittst ts a törltst ;5 timolil:lssa. n Advanced (Speciális)
gomlxa kell k~llU1tanunk. amely az A<'!.-'<lnced SQL GenernIion Options (Sped~lil; SQL-
elWllit~si bcállil~sok) p~rl>es1.édablakat nyitj:!. meg (16.\ ~bral.
_ _ T• ..-n:.~DIl.CI'I _ _ ","""",_.
_ ...... _00
_....-
CJ_..• ..... T......T~_ ..... "
.. _
_ _ _ T• ..-Tt.... tw"TI _ _ " ' _
otW:T _ _ _ _ .. , . - , ..... _ _ ......
16.1. libni
A be:<zrims. jrW(lh és lOriés /eheriiHgér
... II """" I <IZ Adr...,ICM SQl. G<mcmNo" q,rl<""
pd~/J/tlltb<", blz/QSflh<llJ".
A.rosodik jelOl6nl-gyzet (Use opl!miSlIC concurrency) cs;Ik akkor emet6 el. ha a~ els6
;clöl6oégyn"lel is bejelöltük lia eZ! is bekaf>C5Oljuk. a fri5l.ílésc:k b lörltsek végrcllajt:l-
sir~ csak ~kkor kerill 001", ha a módosit;lnd6 :«\alak TIt.'1n ""ltoztak meg:ll! utolsó
hozz:iféres 61:1 Lehe1. hogy ermek jelent~ mO:SI még nem vil~gos II sz:imunkrn. de
ne agg6djunk: ~ térIcir:lll f,*1.<:1. k66bhi résJ.ében m(1! ''issz:l!énJnk, miután Il:ny!egesen
dktl;zítet(Ünk egy ASP.l\TI oldalI. amely Jchct~ lId az ~dalok ~~rn
Egyelőr" leh~t csak:lZ eb6 ",1ö16~-zet'" bpaoljuk be. ti; ~ Use optir1Ü.Slic con-
currency ntg)'Zete! hagyjuk üresen. Az 01\ gnmhr:. bLum"" té~ürlk vissza 11 Configure
the Select Slatemem ahlllkb:l. majd 11 "'''lll gnmhh:lllépjünk a TeSI Que\"}' ktpemy6n!.
ko a Finish gombbal z!ifjuk be 3Z SqU>:l1aSource \"ezér16 ~;lf:izsl6j;lt.
Az SqlDataSoun:e vezérl6 folTásk6dja
Mm!:;n "~ge1;t(Jnk a nr.lzs16 beállilása;,.,.J, v~!lSUnk forr.ís nézdrc. és v~nk .,gy
pillantást:l. var:izsl6 ~!tal el6:llIíIO(1 kódra. amelynek II 16.1 rx'ltUban lllhalóhoz kell
lu,;onlítani.J..
A 14, f..,ez.etben <-g)' olyan SqlDataSOun:e vezéTI6 ködi:!! I:!uuk, amely csak egy SELECT
masitJiSl 3dott ki, 6; a köd j(w~1 egyszcrllbb ~ult. num a 16,1 péld:íban l~dut6 24 SQl'
Az egyszerűség azonban csak anrulk volt köszönhető. hog)' csupán kiolva!)Iuk az 3d:1-
lobl n 3d~(I)jzisl>6l- nlOSt viszont olp n kódrd van SZüksfgünk, amdy nt is Iciri«.
hogyan szúr!utunk be. frusíth~'tünk és törölh'-~ünk ,dnoluL
16. ÓlI • AdItCIt tM6M, beIBriA Mi mrbszt" l l m
Adatm6dosft6 SQl-utasftások
Altogy a 14. fejezetben említettük, minden modem 3u.ubázisrendszer az SQL nyeh'l'!
luszrdlja az adnak kin}"erésére és módosit.1s;.ira. A SELD:;T ut3sitiSl, ameUyel adatokat
oI,".lSh:Itltnk ki. már megismenük ~~ fordi1&.>k a fjgyelmOnkCll~rom m1sik SQL-utas!-
tM. az INSERT (beszúr:1s). n UPDA'l'I! ()ri.\.5ités) és a DELKTE (törl6) felé. E három uusí·
ti5l az SqlOataSource veZérlő - ha megfdel6en bclJJitjuk - automatikusan létrehozza, és
ahogy mir bizoo~rJ kltal!iltuk. :11.,.. p-OIgilru.k. hogy mi'xlosJtsuk egy !l<.bth:lzis urt;lln.:lt.
318 111. rMZ • MI.rU ~kll
Az INSERT utas!tás
Az lI,SERT uUsíth, mim ... neve is elárulj:!.. új rekonlol. <zűr be egy adaLW.list:'b~bll.
Az ulasl!.1.s :i.ltal!inos fornúja II kÖvClke7.6,
lu lIZ QU]OP!, Oul0P2, .•• , OszlcpN II tábla azon oszlopainak \cssz6kkt~ UgolL
Il:lIolia. amely... knek az &lékelt megadjuk II VALUES rénhen. Automatikus sorsz:Imozású
oszlopok ne-.·l:t ne adjuk meg, AzoItat az OIS.Zlopoltal scm kÖldez6:1Z ULll'lít1sba roglal-
nunk. "melyeknek al:ipéneJmezell6'lékC\ h:náfOllunk ol("g, vagy amelyek Null áI"kel;5
elfogadnak. Ez utóbbiak aZ alapénelmezCIL m&CI k~pják. amennyiben van ilyen: lu
pedig nincs, Null én"kCl. A fdsomh oyJopok m&dt az O&zlopltrtffk,
r;"zlw1treék. _.. , Os>llepNtctffk hel~'ére keU írnunk.
A leflti s.zabályok, amelyek arra vooatkolnal, hogy mikor ket agy osnop lirtétLÍt
megadounk az INS!':RT LIIasítás snmára. mér ismerösek lehetnek. A 13. letkében
~ttuk. hogylkl IIdhatunk rekordokat agy maglev6l1datb~st'bléhOl a VISUal Web
OIMlloJl9rben - abban a ~dáblkl sem adtLri:; meij értékeket az automatikus sorszá.
rTIOlású oszlop l l1OokIDI ~. iletve azokna« a rekOIdoknak a szám4ra, ahov'
NtAI értéket akartunk ~. ft NlAJt nem 8flgedélyllZÓ oszJopoknak azonban értékel
kellett adnunk.
Most, hogy tlszt:bluk a~ INSER'I' uosiLls ~ltaJ~nOll alakját, n"zzlInk meg egy konkré!.
p{:I~t Az 31:\bbi lNSeRT U!;l5íbst az Sqll>JtaSource ,'ezérl6 \"Jr:íZSI6).1 ~1Ií!olta e16
(~sd a 16, I péld,1 2. $Or.lL),
MegfigyeJhctjok, hogy ~Z INSERT eg)' új rekordot ~~úr be a 6< >ka Llb~ba. és mirnkn
mcz6nek mékel ad. kivéve 3 BooltID-L A BookID 3zért IlUrnd ki a7. ouIoplistiból,
men aUlomatilru$ sors11imQzású, \':18)'15 a7. értéké!' az ad:nbá?.isrenW:zer lwtározza meg
(lia mfgis fn."ket adn~nk neki. 3 kód \'égrehajLlsakor hibaOzenetee kapnánk.)
Konkrét énékek helyeit al Ins"ncccmand pa ... métereh"\ - ~Tltle, ~Author,
I!VearP\lblhhed stb. - hav.n$L Ahogy az Ó!1I kés6bbi részében litni fogjuk,
a [)et:lÍls\rteW vezérlő .segítségéve! kéThClOnk bemenefet a felha~mál6t61, é:; al ~Jt:ab
mcgaclottak alapj;ln ~zúrh:ltiuk lx: ~z Új rekordokat a h.1uér.u;btbázis tiblij:l.b:>. AImkor
a felhaszn:i16 megadja:lz adalokat, a OetailsVkw vezérl6 hozzjrendeli azokat
az adatforr.is--vezérl6 megfelel6 p~l"J.méterehez, majd meghj~"j.1 u adatforrás-vez&\6
besZÚTÓ paranwt (Inaertca.and).
A WHERE zár.lClH nem köcelcz6, de szinte mindig szüksl'g van ci, men a DELETE uta-
sítis mlno:k,n rekordot töröl a Tlbl&Név t:lblából, am, nK"gfcleJ a WHERE zjradékrok,
ezl-n ha ezt a zir.u:ll'kot k,hagyjuk, a t~b!a valamennyi rekorclj~ kő:ldé v:1lik
_o.
Ez:v; utasítis lehe!. hogy egyeden könyvet
az~. Az
!lern töröl. leher. hogy eg)'CI, kett6t, I'agy
eredmény attól fligg, m~)"en énekek ~lcrcpelnek a vellrPubl iahood
Az UPDATE Tilbl"N<!Iv SET ré<z ut1n köwlke~ő o:'>7Jop.- 6; enékHsta adja meg. hogy
melyoszlopokat milyen értékre kell módosítani. A ",llereF'eü<!ltel hat1rozza meg.
mely $(>n)kra Von.11kozik a módosh:ís; h~ a WHEIIE zjradékot elhagyjuk, a frillí[(,s
a OELETE utaSÍI~shoz hasonloon a tábla ÖMze5 rekordj:ll érinti.
'" bpozásl~ é:. rn>de~"Sh~1 h3",JonIó:I.n ahhoz. hogy:. GridVle... ~ :oJk:dll1lU$l leg)llk
az adJlok szerkeszt6itre b l~ 1>, nak egy ~1 ken bebpciOlnunk
:. \-e1.ér\c'l okos ctmk~'ben, A l"'rlb e<.cI.eben t"nyles <::<:Ik enn)'1f6I van SZÓ, de ~ w......
k~.Iés ",ár mis!6;zta. ll. GriJ\lew hagy nemi klvJnnl'-;l16f non ll. ttren. hogy miként
kq:oelJ le ~ 5Zefkesztés aJ:m <illó "'-'ft, Aminl knni fogjuk lu nan csup:\n at:.pvet6 ~d.llJe.
,'n~h kl)\'Clelmh1}'tt~ :Ilhmnk fd, \'lI~úLeg meg k~1J mondanunk ll. Gnd\~_ ,,-w-
l6ncl<, hogy miktrv. houa létre" P:eri<=hetó ~t. Ennek mo:g>-..Jn.iúsit" fe;e~
kb61:o9)[. A UL' heUJIJ fo/JJ1ct /(SI'('Ua#:ttúa és (,l jriss!1éJI JZtlbáJlo\ocfmíl" ~
U'1O'lII)Uk
,", Io:dtl-$)en" s.zerkes>:t~ él. a \örlést két Inlkln febdJlki.'nl kere/jUk. de :;cm",i ak.:.d.dp,
II<~' oIpn r:lOiné7.eI:~'1 ktS1.it....unk. ~mc!}"nek arutJI ~e;ZlhClo5k ts törölht.1ők i~; csak
kÖ\'dnOnk kell a tőr!6re ~ ~ ,zt... ke\.l'Jesre von:Hkozó k.~kCl cgyelkn Grld\'lew·ra
\'OO:Ilkozó:m,
-_.--
•• • 4
-'"""'.! • •• •....
---
--"- _ - - - . ~-
----_-. --- -
-e ----- • • • •
• •
•
•
.... -
•
• •• - - ----
...• '
--
--
-.- - _ ....... i ,,· Iii.
.~ (..ridt·i<~,'
mAr II I6rl.!sIIS
1" >nC(I<I1}n
A bal alsó s:.rokban tal~ljuk 3 rlcsb:l.n ffieg)elenite11 me:t6k li$lpt. A Bo, '~ID. TI t l e,
Author Slb, OSllopokat megreleniU5 Uoun&idd (kJpc'iolt meZŐ) tipus" mer.ökön kí\'OI
t.1111unk ,ll 1:8)' DeIe1c nC\'II p"f'\no>.neUlt (Commaoo f ield) is. amelyet ~ fejlent6kOr-
nj'czeI ~u\()JJUtikusan:t \"ezérl6hö z ad .• mikor hekapcsoljuk az Enable 0ek1m8 jelölő
~"lc:tet a GfKl\1ew okas cimkl:jj!ben,
.-
~::.
ll' ... "'
- ""
,
'
- --
,"
.
\J ...--
__.. _..........
_,,,,
r......... " r •
16.3."
[<W-J[ '._ tU !,WbIe Dr*I'''I;ri6I61J1i&yv:1
~ , 't'cdttrr:d lIII0' ~_11
poml/Ul SI <..mlrtltjel
i
* •• '. . '-311>1 . . .·' ...
16.4.Mn
...... tI _ . . . . ...
...... I _ , . _ .... A nia "'I.....
l!~~~~:~~:~:*~~.~__~:.~.~~:: ;u_:__:__-".1
sombAon "10" ~
800It JitI"..",
~ /(lIA/u "It
Felmerillhet a kérdés, hogy honrt:1n n'dj::l a Grid\ie\\' V(.~, hogy 3 harmadik sor
egyedi azonosílója J. Nos, a GridVK,"" vez&16nck v~n esl' O<>UKeyN=e1l neI-"IJ tulajdon-
.\.iga, ameire! II hazzj bpcroll arutfOll"ás el.MSdl~ kult;" oszlopá"..k (os-dopainak)
nevére :1llíth.atunk. Ha eZl II lubjdons:lgot bdlJitjUk. a Gnd\~.ew ve-zér16 automatikusan
nyomon köo.'ftl!!Undm,.". ~ ~ 05Zlopbdi én':k<:l. Amikor~' 3d1U<Jr1'b.
ve1ht6c kötünk egy Glid'"ew vezérl6höl., el. a tubjdonsjg aUlorrtltikusan:ll. ,,,Llúorr.l~
ven:ri6 által VÍ$5Z3.3dou d!l6dlege kulcs oszlop en';k~ 1uP!" (N~k meg ~ Gri<J\';~......
Propenies ablalclt: 1áth:.t11uk, hogy ~ OItUl'<ey_ , tul~,.Jon>Jg tnéke 8ooklO,)
•
••
•
,•
OJ
,
I "" "".....
11.5. ":Ira
At' E>UJbk EdIli"IJi<*'MnCgj'UI bL~"fll~' EJ" ,,,,nl ptlmnalJH'%lÓl .""",.
Exen " ponton ldúl ~lkelÜnk tg)' sz..:TkeszthcI6 Gnd\'"teW ve~·el. amdrl.'l
ki is probIo1h:otunk" OOhgéu:6nkben. Uthatjuk. hog)' II r.ks nunden .sur.Ib3n ''JIn
egy EdIt rdJ"'rú hiv:llkozh. lIme1yne btt,ntv;I:OZ lIdott 50ft szerk<'Sllhel:&.é trnetjOk
A v~dllll5ZlUl6 ezut<in Úl tTtékcket ut"'l a szcrke.zthet6 mez&be. és az l'pd:ue
hl\'lllkozh,.~ k..tlinl\-1I menllJet, a rn6do6iWolt:1I (Wd a 16.6, "bdt),
y_ _ o, ... _-
, _ _ _;_
c....
-
- ......
_
'.
Y • ~-
""~
~~
... .--
~
_.-- .---
- ~
M
J_,,_....
--~
I'<
•
•
11.6. "
AfoJluuntdJ6 fl _' ......'1wI6 r6CS>OIUf _ _/tt.oorn, DII'nIM ..,.,' ............1
NIOrr/ • törIHMI, iJ9V II Idatok ~ IS 6Mnyes, hogy I GndY_
oe.t",l(eyN_n tuIa,dor'rsigMlan mII9 keI"'lllKbI~ ~
kulcs OSZIOPM vllOV oszlopM. Ha ezt nem tesszük mtg. • SZ8rteszthet6 relordok
m6d0sítisai nem ketülnek Mil adatIWisba. Ha I GridV;ew b6ngisl6ben való
~Kakor ert tlpa~ pKIoskodjunk ról-. hogy I D!l.t"I(.-y_.
h.UjdOOS6g bÚIIdISI megfeIeI6 legyen.
A SZ8!USlIIWt~ aorok ~ beírhlt6 ~ formibmit IllldltbiZlsüllll
meg' I 16 eCIIttiIlUU lIIt6rOm m.g. A r..atR"II<.Oo ... menS miigött ~
eCIMb4l!SbeIj 0NI0p.t.ttlpuu ~ det"tl -., dr! hl ~fslor ~
iMnYteIIn M6tet Pr6IMt.ri; beIefmi. IlWlII • Yesl8fM(' (tegMp), II update
gornbnJ kettJntHkor kMlttlt kiplri..
lliI&Z ~, ha 110'( rn&Z6 nem fogadja II • NIl Mébket, vagy llapfitelmlNn
tlrtébt határoztunk meQ hold, mindenképpen bele kell !munk valamifven ok1ét;el
P'ldánlb.. ~ art jMmi, hogy ha ~ tÖföljijk I TI t l .. rn&Z6 tertllimil ..
~ pr6W!il* • módosftásl, kiWtel "" III.
A uerkeuf6 fe/ij« 11ISfraS.l.tMs.!i és I hwkhl UabMYO« cm:i mm.n l6tnI
fOg,U:, hogpn~mIIIl~t6~ mW6DIt ~
t .'1h..,,, III
il, hoqv mik6m lIIIiatlDt hnn6jIt .1.
ro5n6 ~ ~
biztosltha~ hogy I meZ6bI !TlIldInUPPIn keriiji!I'! VIIemiVen ~ iIftW II
Mék rnegleIaIjen • megklvMt ~.
o ... · j
- _..
.. ~
~.i1:;./-
.. " .• _""._,~ •.• , _ _
---0
"",,._~. __ .....
•
• -
Servar Error Ir 'jChaptllr 1f' AppIi<:.lrtOl,.L
•
...
_. _-_._...- .._. _---_.. _----
nr. OIrIrtjj .... not _~rnd v~td DoMToM n..n;o ~ ~n~"" ..n _
------_
""''''II
--_._---"
M IlKI." o.
--_.,_ .. ..
_ _ _ _ _ _ .... _' .. ,.. 0_'_ 0' , ..
___ ._....... __ - ..... -.0--" .-" ... _,.. ...
_ OM _ ._.
16.7. "
IrclJWlen
~
,_~
1/,.
, fo,.",,,,,,m,' érr~"'"
prób<Jlunlo b"."wl
<J fAjtRrt140n
"'ezó!tr, JritWdI
1""{If"'*
lia meg szeretnénk ~Imdi!yozn; 3Z iI~'en hib:ikat, telilre kelJ szabnunk 3 Crid\íew ál!:ll
IétrehoZOlI szerkeszu'l felületet A GridV.ew ,-eZér!6 minden mez6 kódjának lew=·
bru;ál megeng.-di. A Title, Au thor, Ye.o.rl'ublished. Price é!; paoeCount nle7,ókhtn
p('ldiuJ d'lszera egy RequiredFieJd\ 'alidalor veZérl61 rendelnünk, amely gondoskodik
róla. hogy a felJ\3SUtil6 nundenképpen megadjan valamilyen értéket. a Price.
t.luHReadOn, y""rPubl iehed b P"!j'eCOUIlt mcz6khöz pedig egy Compare\·alid:uor
\'ezérIŐl, amely bjztOO5ílja. hogy a mezőbe mcgfelel6 adattípusú futék kerOJjön, ~minek
esetleg az értéklartOtnány<lt is megh"táro1.haljuk (p('ldiul h~ azt szcreménk. hogy
a Price mez6be beín énék soha ne legyen kisebb o--n:l.l).
Végül, 3 Crid\'iew arr.a i5 bizlOO5íl hcillilá5okat. hogy fcleuük. mil}"en formiban kell
elküldeni a felhasználó ~ltaI bein adatokat az adalb11.1Snak. Például ha a felhaszn:\.ló
ÜTe!;Cn hagy egy karakter\~TK típu~ meZŐ! (amilyen a Title ' .. gy az Author).
az "dalb:izis rekordi~nak frissítésekor l\'uU értéket vagy 0= karakterbinool:
kelJ hllszn:\.[ni? Ezekd II hcilJít:isokat is a Fields pi,bes~édablaklx," adhaljuk meg.
Tovább. mez6kd '-' megjelölllCtOnk CSlk oI",..sIul6k~! C5;1k annrit kdllc!nnunk. hogy
a Fields plrbesz&bblakban ki,.,Jöljilk a ki~nt mez61, hogy \x:1ö1tsilk ~ lul~~fPit
,. jobb okbJn. mor.;d a 1l.~hav;c.-("isoI.'lk«li'!l) ,obzbc:lI rnegk~k a il_dC Ily niliIt-
donsáp. él Tr, "..r:a :illitjuk (11<!d a 16.8. oIbcl.t).
"Nr'I'.
..
--...---a;:
'.....
--
.- ----
".
,-
ill ..... ,
'.oL l - •
, -----"'--"'-_#"
-
[-- ... - ( -..." •
16.1.1itn
If.. Il Rcado..I)' lultJ"""""ifloI
Tn .... ,... Milj"•. a lPHI%d"
,,,,,,, lesz ~11tt'fŐ
Enn)i az egbz. "'n\lkor egy mez6t C5;1k oo.-ashatókénl ",Iölunk meg, a !lOt' &lii ~rn
karuruVöl :o me~ ntm szerkesztlk'l6 ~~ je'IenilC rtlqI
AJ.. eI6Z6 6r.I.oon ~IIUk, 00gY:m forrtúUl3t]uk a GndYIC90 ,'eZ.éM melOil. ~ld;íul a price
meZÓl pénUTtéldtm, a lasIRo:adOn mez61 pedig diorumként, id6pont nNkill A GOO\ie'l':
mez6ire alblmazou ~ abpértelrnezCs ~ , _ &\'.;nyesülnck az alapétcl-
mczect szerkCSl:l~ fdiJ~
Ennek sv:rnItiI....6cre fornV.zzuk a pnce ts a LutReadOn
mezóc a pénznem és a dlrum formiw IwnkterLincávJI. az aUbbi Iépeso..-kd kÖ\'et\'~
A [.,nú ~jllil1isok megadisa ul:1n a Visual W~i> JX-,.·clopcr lervező Iltzet{~n megfe-
lelően formholI mezőket kell l:irnunk. M06I IltUilk meg ~z oIddl a böng&.z6nkben,
é kauinl5unk ~Z egyik sor Edil gombpm (I~sd a 16.9 :ibcll). Anunl I1lhalJuk.
~ f>I'"m szerkeszthető $Of"Okb'ln a Price k a La*tReadOn m<:ző formil.lsa megmar~d,
de az tppen uerkesl:lk ~lat1 ,,116 'lOfban a s:dNegmez6k e;:eket az tntkekel nem
form;i7.ou :illa[)OlUkban mutalJák.
........
1,~,_
--
.. _ •• _" .• ·~".
.......
. ..
_- •
•
-- --"
O--O .!l.iiO,-
. ~.
-
~
,
--"".. -- -- --..... .......
.- 1_ ..... ~" m
-- • -- ,,---
_.- - ••-- -- .
o-y_ ....
~ I" ..
,"' ,,, '"
"
~
k
• no.,..." .......
~~
••• ,,, .,
.~
~
• .,~.-
16.9. 6bnt
A r!Ícsn~ cg)~ mez6i alt ad:Itb:íZi$:ibl~ oIJ"ó1n ~~!opa," ru..:.puJll:Ik, ~me!yek meg-
engedik a Null énekeket l_, A L.astReadOn oszlop po!l~ul nem követeli meg egy énék
megadását ha egy könyvCI még nem olvastunk, az oszlopba Null ének is kerillhCI . Ha
a felha$Z:lá16 urest"n hagy egy mem, II GridView ve~erlö abpo!ndmeres szerin! egy
l'u1l éneket próN.J al. ada!b:íZISÚbla megfelelő oszlopában elhelyezni. EZI szemlélte-
!end6, módosil5l.mk egy ~n . .amelyben a LaotRe... <tOn mező valamilyen ditumol
t3nallTl:l~, és töröljük ezt u énék<-1 II !nez6b6I. A m6d0sít~s mentl!se ut~n nézzilk meg
31. ~da!~zist.ábl3 ada!:!.;! - ~th:ltjuk, hogy U adot! könyv LastlleaöOn oszk>p;1.oo Null
énék kerill!..
"'éha azonban arr~ Y:ln sZl1k.ség, hogy Null énék helyeit a Grid\r!<!W üres kamkler-
l~flOOI[ ha52mllJOn. Tegyük felpo!ldlul, 11Og)' a r!Ícsnézetben '-~n egy mez6nk, amely
egy nvarehar típusú oszlopon alapul , és nem engedi meg a Xull ént<kekCl.
(Emll'kezlletilnk cl, hogy az nvarehar tipusu meU'ik karokterlán<:<.>ka! tiirolnak.)
Ha a felhau.n;'i16 a liO! S7.erkes<:lésekor üresen hagyja ezt a mezőt, ki\'l:Ie11ép fel,
men az ad:nb:ízi&l~bláoon 131~lhat6 O5.lJop nem engedi meg a l'iu!l énékekCl,
A problbn!! ugy kOsWbölhCljOk ki , ha.3 GridVie .... vezérl6c arr~ u\.;l$Ítjuk, hogy Null
énék hclyt,1t ilycn esetben I1res IwmklcrllmcOl h.3szn::Ujon. (Az Ores kar:okterlanc oI}":!n
kar.\kterlllnc. amdyben nincsenek karokterek.) Ehhel. a fields ablakban
a ConvertEmptyStrinq1'oNull !ulajdon1lágot kell False-ra áll1t:1nunk,
• ItemTempbu, • H~';;lderT(.'f11pI3te
• Ahem:l\ingl!emTemplale • FOOIer1'cmpbte
• EdithemTempbue
....,,---- --
--
,..... n "l<
,- " ,u· ..
JI _ _
,-
[' .....-
-- •
--...-__'-..._-,-.....-
'O' ... _ _
--- ",tI.-1
16.10.~
1\ ~16 feW",
_I'Cl:WMloTIIC>Z nt6dosiu".
/1 IJOImdFieIJ m.mSIM
r""IfJIa"'F/i>Id m~
16, óra • Adatok tWu, beSZCriSI Ih taIk...." Im
Abkil.SUk nlO't a Price mez61 ~bIonmez61.x;, majd az OK gombb:d :clrjl.lk be a Fields
ablakOl, A lefVez6 nézetben .!iefnmilyen ního:clst nem (;\,unk, és lu az oklalt kipról:dljuk
~ böngés26ben. a viselk,,'(\ése is ugy~noIyall ~, mim a JnCl.6 sablolllllelÓl'é :d~kitáSll
el6u. Ennek oka az. hogy amikor egy BoundF'tdd mez61: TempLa[cfiekllÍpusö'~ alaki·
tunk, egy ké! SlIblOlU tart:llm:ll.6 sabloomez6 jrön Il!tre. Az egyik sablon az [temTe11lplate,
~mcly egy label "cztrl6b61 ill, ~ misik pedig egy EdJthcmT"",plate, amely egy TextBox
vezérl<'.ibm. A GridVlcw "czérl6 kódja' a Pr i ce mez15 sablonnlClÓI'é ~I~kf[;isa u[~n
a ,6.2. pt<1~ban Ulha'juk. (FotdílSUnk különös f.gyclmel: a 10-17. sorokl'dl)
_ ~utoGener.teColumn.o·Fal&e· OotaKeyN~s"BookID'
~, DataSourcelOo'SQlDat850urcel ' B8ckColor~'Wh{te'
_ Bord"rcolor='IDEIlFDB" BorderStyle, 'None' Bords ..... idth.·lpx·
_ C~llP .. ddi"ll=·4· ForeColor='Black' GrldLlnetor'VHtic81'>
l: <Columns>
4, <asp,c~ndFleld snowEditButton.·~e· I>
~: <asp:BoundFlel<l DaUPleld="BookID' flead .. r'I'ext.·800k tO'
_ J:nsertVi.ible=·pslse· ReadOnly' 'True'
6, SortExpreulon.·SOokID· I~
7: <UP,BoundFleld Daufleld-''I'ltle' He"deflext~'1'itl,,'
_ SortExpr""810n~'Tl t lu' I~
8, <a.p,BoundFleld DataFleld= 'Author' Heade~xt.'Aut~JOr·
_ SortExpre8Bion."Author' I~
9, <asP,BoundField DataField.·YQdrPublhh"ll·
_ lIeader'l'ext~'Publi8hM' SortExpression"YearPublhhed' l,
10, <aup,~l~tePleld He~de~xt='Price' SOttExpre88jon~'Priee'>
ll, <Bditrt~late>
12, <8~p,TextBox IO~'TextBox2' runat='aerve~'
_ 1'ext*'"U Bind(·prlc.. ", \~'></a8p'~tBax>
lJ, </l!ditltemT_late~
14, "'!t~late>
15, <a"p,Label lOo'Labe12' runu." .. erv"'r·
_ Text·'"," Bind(·prlc,,·, '(O,cl'l b'></asp,Label>
lli, </Itsr.....,late>
,7, </a8p:T~lateFleld>
18, <aSIl,BoundField oataField~'La8tReadOn' lIe"d~~xt, 'LastR .. a"""·
.. SortExpr"BBlon~'Laot Elead' ApplyFOrIMtlnBdltMOd ... ·1'ru .. •
_ DataFormatString<',(I,d)' IIt,.IEncode,·Falae· I~
19 , ""8p' lIoundField DataFIeId.' Pagecount' Head<>r'l'ext~' Pellecount •
_ SortExpreuIM~'PagU' l~
20: <IColu.n8>
21, <FooterStyle S./OckColor~'1=99· I>
22: ",RowStyl .. S./OckColor.·fF7F7DE· I~
23 , <Se l ected!!""'!:ty l e s..ckr~l ,rr' tC'i'5D5A' Font -110 l d~' True'
_ Forecolor. 'Whit,,' "
24 : <PagerStyle I18ckColor. "'F7I'7DE· F"recol 0< a 'B leck'
_ llorhontalAl III'" "1Ilght' .. >
25: <Head ... rStyle aackColor"'I6Bt <B' Font Bold1'~e'
_ Forecolor" 'White" I>
26, <Alter""Ün\lRowS~yl" BackC lor.'I<Ihlt"" I>
~7, </a.p,GrldVlew~
Megfigrelhetjiik, hogy n <Ed1t:lt.m'l'~late> (11-13. sor) k <Itern"l"~l .. te>
04-16. sor) rn7.ek egyetlen webes vezM6c unalmaznak. és ezek Text rulajdonsiga
a(/fll!lapcso/áslm kereszt{ll bp értékel. A~ adatkapcw!is fOll"llája <ti sind(o"=lepNo!!,,..,
"emk"tel"z6"FonMtll.llLe!r6") b. ér. egy adotl ().QIopbték Itio!\"~$ási", szoIg:il az
adatforr.h.. vez(-rl6b6l. Az <lt~l .. te> úgy 1\a(~rol.Z:J. me-g a benne 1....-6 Label
..ezérl6l:, hogy a Prtce oozlop ért&l:t pénzénékkem ({ O: e) fonni;w.l jelcnítse meg. az
<Editltem'l'emphte> TCXlBox \~k ~xt tuJa;dons"ga pedig a Price oszlop
61 ..kl:t kap?
..........
• .,WiI.
_------- ... •
.,
-"'"
- 16.".6bra
JI funplmeF//'Jd sa/>ictljai ÍI"
~I,~" 'err.n 6
~-" '
nbPIlx""
figyeljük meg, hogy az elemsablon egy L4be12 azon~ít6jú (ID) label ,·eÜ'rl6t ur..
tllmaz. Ez aZ 3 címke, amelynek kódja a 16.2. példa 15. soclban ~zerepch. KaninlSUnk
erre a ,·ezérl/5rc, és vizsgjljl.lk meg a tulajdons:jgait a Propertiel ablakban. ~zrcvehCl ..
jük, hogy a Text lUlaidon~g mellett esY Im lemez;kon l:tlálhat6; el. jelzi. hogy ~ tulaj ..
don~g adatkapcsol6 kif"",zésen kereszn11 kap (,n~kel
Al, hnnTempbte dnnr61 most ,-jhsunk az EdltllcmTcmpl3le sablonr:t Ekkor egy Text·
Box '-ettrl61 kell ~lnunk, amelynek Text lubfdoru.;ig.:> melleu szim6! egy lemetikon
U!1~16:il properues abl~kIJan_ A Price mell! m:rlceszt6 felületének lelresz;lbb;iho~
'~ZZlik el :il ki"~nl m6doSllhobl az EdiUlemTempbte sablonban;
,. Teg)'Ünk egy p6unern;det :il TQl80::r '-ezerlő dt. hogy jeleZZük, holn-
M""t~n v~grehajtoltuk :il fenti négy l~. nl:uilk meg az oldalt a bönglm6ben. és
~ljuk módosíl:lni a Price mcUít. láthatjuk, hogy ha Oresen hagYJuk II mcz6t, vagy
JlCIllpénzénl'ket, illetv.: olyan pl'nz(,néket próWlunk bdmi, ami nulljn.i1 kisebb,
értelmes hiOOllzeoctet kapunk. 6; al trtlik ad:lt~ mmtbére nem ketill ~
(ljsd a 16.12, b 16.13. ;ibl'.u).
AlQn kivül, hogy ellen6r'l6 ,'e~616ket ,'ehetünk fd, és m(xI05i'th:lljuk :il 57il\'cgma6k
megjclenl'sl1, a s;zeri[em6 fdülcl: ug)' ts tesll"t':!iZabl~t6. hogy a TextBox veúri6ka
egy núslk, jobban meg(t'Icl6 webes "ezét16re ocrél)uk. Ib ~ d~zetben ptld;iul
a kOnyvek ~nek nemél. is meg $lerelnénk jelenileni. t<n:Iemesebb egy lenyil6
U:dt bIztositani a nem k!v~laslt<4;lr~, minthogy nt v~l]\lk eJ a fell~sznilÚ(6I, JlOg)'
beÚ'\:l 3 Male ( FM.) \'agy FI'IlUIe (1)06):QÓt, A f~~t'l '-ég61l:1151h:it6 gy:lkor1atok
kOzött t..Wunk egyet. amelyben ~:u: k= a feLadat, hogy a w:rkeszt6 felület
~'egmez6it egy rNsik be-.ltell "el~ C'Oeféljuk
-0
--_.- -- - --
." .. - "","",
~n
, ' .....
--
<>-r.. o..
--...... --
m
.. -
, ..
,,, ,..
- -
, ., '"
•• ~-
.n
Nn
•
16.12. libni
H"" Prlt:" " JeZ6I rI"""", IIt'l{'juk, I"b...l n""" jmm'il,fK'II
--
• ,
~
.... ...... .. -
'-" ,. •• ~
-
••
•
16.13.6bra
;\ Grltf\1L"'. addiS ".,,,, Jouiitjtl ei " ,~"",/QV<SI....mrS" Price ",cz6b<:r, .........,1"$
pénztrt&ect,JCm ad",,' mcg
A Coml*eV81idalor Type tulajdonságát aZMt illitottuk Double-ra CUrrency
hef'{ett. mert al adatbálist61 kapott adatok alapértelmezeIt formátuma 8l ár esetében
l'Ié!N tizeOesjegyet tartalmaz. a Cur~ency adilttípus azonban legfeljebb kéltiredesre-
gye! enged meg. Ha tehát a CUrrellC'Y tipus! has.má/tuk volna, az eIUn6rnI VeZÚrI6
minden esetben panaszkodna. ha egy sor sz81bm6sKor a Mgy tizedesjegyet saját
bnileg nem csökkentenénk legIaljebb lenár• .
Eméi jobb megoldás, ha módosltjuk a PT!c' - mező TelCtBo~ vezérl6jénet; Text tulaj-
donságábao IIMznAlI 8d&tkapcsoló kifejezést. ldeélis esetben az aredménynek
két tiladesjeQyet kelklos tartalmamia, iIm~ a (O, o . 00) foomitumlllifóval ímetiR al.
Ha kiváncsiak vagyunk, bMrM kipf6báMlalfli az adatUpcsoló kifejezés módcsltádt
a lenti értékre - ha sikerrel jMmi:, nyugodtan vlÍ'IDnllSSut a ClmlpBreValidator VlI~
'!YPe tulajdonságát Cunency-re.
11. ........ 16rt6M, '-z(riu" grt- t' 113IiI7
Optimista versengés
AImkor az SqIDaUSou~n be:illítpJk lIllNSERT, UPDATE ts; OELETE p:ir3ncsok!.im>
~sjl. arr~ islehetőség..1 k:lpunk. hogy u optmlisU ,.~ hasomllal:l meUeu dönt-
sünk. Ez kúe,ezetten III acbtok szerke!!Zl~ és tÖrIbén> \'onatkoZlk. eh'n &do=es
meg'o'l7~lnunk:l; ml1k~ dv~ fI'lÍI:'i(I(t r::1témomk 2fT1l. hogy mikenI wirlurunk be
2<brolw a Iktalls\~~' VtttrI6 ,seg1l5("gt\'Cl
_ .. _ _
:::-...--
' _ _ '"
~oI.
_---
.-.......-
' ...
n
___
e ; ... . . , -
_._Oooo_ ...........
_ ot
U:O-~
1;;; ............... _
__ .A _
....., , _
16.14. in
4u
"l)m4r módosfkUau
.
I/n "8)'Ídrft11es ..., foIhos:m4/d
~~-" /
akm!' '. fo/ül/rMI,.u.
Tegyük fel p&aul, hog)' egy oIy~n ASP,r-:ET oIdlllt készíletnlnk , amelyen" felt=.:n.il6k
a Il001<,, t~blában szerepl6 könyvek ,.rutait módosíthatják.. Kl:!. fc!h:aszroI6 (roondjuk
Jisun és Sam) egyllz= liitog:11 el aZ okblrn, e~bt ugy;mazok>ot az adatokat kapj:lk,
p~ldául 3Zt.látj;l.k, hogy a lís,.m Swdlo /lacllscímú könyv sl.CfZ6jeJames Aw:ry, 6;
a könY'·et 2OOS--ben "dúk ki. AmennyibenJi",n m6dosítaru szeret.n~ az adatokat,
ptldául rögzit.~, hogy a könyv szerz<'ije ~:ocnme Dave Yat.es, az Edit gornbrn kaltim, és
az éTttkek szmeszlhet6 SZÓ\'egmez6ben jelennek meg. Ha Sam ug)"dnekkor a könyv
kiadhi dit.uncit abija 2OQ5-r6l 2OO2·re változtatní, 6 is az Edit gombr.l k:mint , és
n éTtl:kek rola is sZL'1Kentha1'5 szöVegmez6kbe t.ölt6dnek be.
Jisun lehát ntt'xlo/;ítja a S7.eOO, és "7. Update gornbra k:;ltlJnt, A Books t:lbla sikeresen
fri,;sOI, és II I 'i!;IIal 5wdio Ilacks S7,erz<'ije f)ave Yatesre váltOZik P~r pillanat.tal k6óbb
s.~m is az Update gOlllbra kallint ,\1ivel1'5 az Edil gomlxx az d6tt nyomta meg, hogy
Ji:sun m6d0sítOlla volna a sZCT'l6l, az Sam képemy6jén továbbra is James Avery, e~n
amikor Sam vi'gleg<.'Siti a s;aj:\t !ll6dosításit, a Jisun állal megv:llloztatoo adaI feliil1ródik
A probl~mit a 16.14, ábra szem/tIteli graftJrusan,
-
- •- ---- -,
- •
- ,
- - •
'-- - --. -
- 1 '__
n .... ~.
AM r~--
••
r.: _ _
.- ..... ...
-- ~
lS.15. Mn
A l)r!/Q1/Sl'it"I" ""'11/TlmR
" t.>-uniJ """"""M.J....
400 III, r'-:l • MWIk.I aclftbúirih.
Ha megn"ufIk eZ! az AS]'.I\'ET oldalt a böngbz6ben.I~thatjuk. l.agy az cls6 könyv
(I'lmal Smdio Hacks) jelenik meg. a lapozáshol szükséges hj,.,uko;Wsűkkal, valamint
egy New hi\'~tkoz.:issal, amelyre kaUmlVa ~ Detltils\1ew vez['T\6t bes:1.iir6 rn6dl>OI kapcool.
hmJuk (I~ a 16.16. ~br.í!). Besziir6 m6db:!n a felhaszn:\16 é-rtékekct irhal a killönböUl
szerkesnhe{ő mez.őkbe, k az Insert gombra kl!IUfltv.l llj ,,-,kordot hoz/tat It:tn:.
-- 16.16. 6bra
II M!u.' ftO"'bm ka/tilll'" a lJt>I<>ils\ KW
,orzerlóIle::Ii'!l módba iIt'fXSOIfi.k
Összefoglalás
Ebben a lecktben azt Iltztük rnc'g, hogy mik~t szt.'fkenthelOnk, Iörölhetilnk ts wir-
hatunk be adatok;,u egy adatbázisba egy ASP,:"JFf oId::tlon k~l. Az adaIOk meg.
ielenll~ hasonl6an az ad:ub1J:1S wtalminak ~ egy webokblr611S tg)'
ada~,~z&I6I. vabnuOl egy"~ adat"eh:rll5t igtn~'eI, Ahhoz. hogy a<blObt
wrha..unk be, fliMil.hessunk vagy törölhe:ssünk. az SqIl);II~Source ,~úrl6t úgy keU
bdllitanunk, hogy el6tUil$a a n>egfe1e16 INSERT. vpWt.n ts OI>U'I"E uta.\iti5ok;lt. ami
o;Ik eg)' je1öl6ol'gylet beiu.pc:soIb:It igl'nyli a '''~Z5lóban
Az Odl :.wal zfinuk, bogy n~k, hogran stilrtulUnk be uj rekordokat egy adatb1-
J:lSt;ibboo a Dt'lails\"oew n'zbt6 ~_ A heRur.l:!l t\rnogalÓl)a;;a,I5\'1e'I'-
~ ugyaruwbt a ~kct ,gm~-elle. llUlU a ~ és törlés! timog.aIÓ
~ze\C'k kt.':$zltt.sc. é$ a bC'$WrÓ felület is ugy:lnligy sub!13tó teStre, m,r'il a Gnd\'........
!Zerkesn6 felülete_
Kérdezz-felelek
K: II lórlbllámogaló GridI ie,,' ,'CZérl6k eseté/)cn mil lllwmUyell lehl!lÖSég am>.
1108}' '-'Kl' ab/akban megerősítést Ilbjllllk, am/u a fel/r.aszrnlló a Dele/e gombm
kall/m?
v: A GridView vezl:rl6 be:illíthat6 úgy. hogy .. ~ ügyfélcldalon mcgen'lsí[~ kérjen.
~mikor a felhaszrcil6 .. Delel" gornbr~ kanim. hogy megbiwnyosodjon róla.
hogy a fdhaszn~16 valóban [öröini szeretné II rekordol (1:isd II 16.17. .ibri[).
A2 IIzt'fK.'t:tblak aZ oldal visszaCS<ltol~sa elótt jeknik meg - h... II f.... Ihaszn.i16
aZ OK goml=. k.mim, II visszacs,uol~s megtörttnik. k a [örlés pontosan
ug)' megy v~. nunth... ~ jelenít"nünk volna meg megeros.ítést k615
üzenetet. Ha azonban a felhasznil6 II Cancel g<:>mbra kattint, .. vlSSZ;lcsat~SI':I.
nem kerül:;or. igy II rekord tör\esére sem.
Ha meg ~~nénk t.:mulni. hogyan adhatunk ü8}féloldali üzenetabbkot
egy GridView minden Ddete gornbjához. olv;lSSI,Jk el II httjl: I/NM. J1\ir:ro-
8oft.r:om/lib~~ry/de!~ult.~8p?url~/llbraryfen-u3/dn~8pp/html/Grld
16.17.6In
JI n.*wd ",rltsdor "It)' ~I ,l:umelabklllllb "'~Ié$J "fo/luu,,"1JJ6I6I
...
.. rec .. ntly INde • cllanll" to thla u,cord lUld youf updat"
.. ,""uld hAv .. ov........ ltt"n t""."
,",nil".,'
Ismétklkérdésel<
I. .Az opumisl2 vcr'JCngb, ha bek:lfX'SOl,uk, az adatok bc:szU~I'lIo, frissrl6l:re ts
törit:st .., lesz lulhs:ll "Igaz vagy lumis?
2. Milyen feh&elfoknck kell fcnruiUniuk, hogy az SqllnuSou""" vc~ v:>.rú:sIój:;o
ktpcs Icg)~ aulom:lldcU$:l.n clóoIlliClni az INSERT, UPDATE & D!LI!:'l'E
pIIr~naolm?
3. HOg}'lln .Q.;lbhaljuk lestre ~ ncrkeszthel6 r;ianttClell: Merkem6 rdilletél?
4. Amikor egy ,,"cbokbll~tog:u6p em· Gnd\~oew ~'lIgy D=.i1sVr\'> Odctc, EdI!
,,,gy lll$el'l gombJ;1l'l1o k:.J1tIIlt. nUJ~ csemen)'$OI' jál$lÓ(bk lS
5. Melyik ká ~yre kerti] WI' 1000ésc;kor>
Gyakor1atok
l . AZ Ada/ColJ lórl.'sh/l'1I t!11ged<'/)on~ u foIl"unuilóktmk dma rtszbm Liuuk.
hogyan teszi 1ehct6vt a Gnd\"iew veztrl6 a felha5zn:ilóknak. hogy töröl;mek
egy rekordot a r:iC1b61 Akkor mWletttJk. hogy amikor a fell\:UW16 a rklct:e
gombra brunl. ~uszacsllQÜ5lÖ!'1mik. & a GrxW!e90', mICI6n 1l1llSi~n.i az
adalf()f1':\5..''eztri6j& az adatol< !örl6;:re. kl'·.1llj:1a RQWDelet 'no;! ~)1,
lia a tÖrI&t bizonyos relt~elck fenn;ill:\s;! est."Ien V\SSZó! szeretoénk vonni.
oc:m.mykezel6l hozh:l.lunk I~re ~h~:t az ~yhe7.. amely ITIot'gáILlpi!)iI,
hogy .. ~ kell-e ..onni a 1ör1á1.
Ebben a gyak:orlatl:xon az a feladatunk, hogy egy oly:m ASI':>.U oldalt készítsünk,
3~1y égy törlbl !;lmogaló r.1csntzctben f~ ki a lIOOk9 ad,nbá7.isúbb kőn)"'e,t.
Ezen a GridView n~2hl6n k!V(]! n oldalhol adnunk kell mtg egy ubel \'ezb'\6l:,
amelynek ro 1Ulaidoosá~t do'letel'ailed-re. vidble lul:ijdons;ígiu r .. lae-ra.
Text tubjdor't5Jglh p«Ilg a "Why oh ...1ly would you ..... nt to delete thi.
book?" (Az l5len szerelmtre, mom alarp törölni ezt a koo)'\'eI?) tnékre oillillUk
(A VídblIJ rulajdor't5Jg I'als..no :dht:isl\-al a \'e~ nem fog Iekqx:z6dru,
lehit a felhaszn:il6 bÖn.gtSZ6Itben addig nem jelenik meg, amig "tSSZaes:alOUskor
-rrue-r1I nem :illitfUk ezt a lubJdonsJ.8O'-)
KÖ\'etkez6lt-ptskomt írJUnk escmÓ!n)1tezel6t a Grtd\"oew R" ... Del .. ting
esem&1yfhez. Az esemt-nyk~zek1 m.i.\o(xhk p:mn*lerektnl eg)' ar-iclVi_Oe-
leteEvenUrqa típusú oo,.,krumQI k~1l ~ladnunk. amelynek van eg)' Cancel
ne\"\llUb~1P A f~I~1ó ~Ital kezOOnén)'e~ törlés vis5zll,'onásJ.hoz
csak ann)'jt kelllennOnk, hogy en a tulajdonságot 'l'rue-ra jllilruk Ezen IciviU
eTlnek az osnJl}'IUk v~n egy Valu .. úpuS\i lula~!I'I is, amelyt.'! az aUbbl
fon~ban h;l.5zn1lv~ klolvae;halunk egy értékt.'t abból ~ :;orb61, ~mel}'et a
fell~J6 törölni ue~1nc
H •• Valu, <·"uth>~·'
Listavezérl6k - áttekintés
Az ASP.NET webes vt'zérl6k széles viilaSZlélcll kimUj:I a fdhaszn.116i ad::ltok Ö:SSzeg)"ll~é·
§ére.amel)'ek közül többet is meg..-izsgáltunk a 10. és 11 fejezed""n. Eze~k a vezér-
I6knek egy kil1önJe8"" c;oponját jelentik" uocbe1l1.sUl/'I!Z<'rl<5k amelyek a v::Uawh.:n6
Iehet&égek lisdiit krrúljik a fdha~16nak. A II leckében n'>l.'gismen DropDownList,
amely egy lenyí161i50:b6I egy elem kiv:llamását cngedélyeJ::.i, is ebbe II c:;oponoo wr·
t07.ik. A CheckBol< h II Radio&uton vezérl6k egyetlen jelöl6négyzctet. i!Jeto,-e ":'ílaszt6-
gombot hoznak Ittre, lehál nem hstavezérl6k. de ezeket gyakran csoponoon haszn:'ílp.k,
és az ASP.NET kt!. killön lista'ezl:rl6! biZt05íl a Jl'lól6néID-~et- és ,':lIas-~t6gom1xsopör·
tokhoz: a Chedc:BoxUst és a ~<hoBunonList vezérl6t..
A loovezérl6khöz azonban nem csak .$llItiku.$:ln adhatunk elemeh1, hanem egy adat-
forr:\s-vezét\6n keresztill is rendt'lhetiink homjuk énékekct. Adjunk egy SqlDaIll-
Source vezérl6t 3Z okblhoz, 11lítlluk be, hogy kiolvasson egy fekordhaJmazt egy 3dal-
bi~i$l.1bl.iból, majd kössük 3z :ldlIOk~lt a list:l\'ezérl61IÖ~, és 3J; SqlOataSource 1JIllI
vL«SJ;3adou minden egycs rckordhoz Jétrqön eg)'-egy IiStllelem.
Ezen ~ [lOntOflawnoon nem kel! tör6dnűnk a Text (!s a value tul~Jdons;lg közötti
különbségekkel: ~ példlk sod.n minden vilo'ígoss:l v:ilik majd, Egyel6re g)'"Jkoroliuk
azt, hogy mik<'nt kapc;olhatunk adatbáz.isb61 s]jnnaz6 adatokat a különféle
listavezérl6khöz.
,-
_. - . .JJ
.• .
,-
..,.-
-.-.--
,.-
--- _.
11,1,~
Az oldal 'XY SipDmaSource
-0:, ....
Mmdh1rom Il!IIa\'e~ér1/1"
ok"" dtnkéjtbrn t;llllunk egy choose I):!,t;I Sour<:<: (A<büorr:j,s
kJV;ilaSZilsa) nevU hivalkozbl. amelyR' k~\\lnt'";I elindul a I):!,t;I SouI"C'C eonrtgUr1IlÍOfI
Wizard, A var.iz:<l6 ami k&, hogy adfUk mcg ~ '~~bnd6 :adatfOrr.iH't'ztrI<it. lUnvc
az eg)·esli5r.lvczérl6l< Text o!s V.lu. IUbjdolu:\g:dhoz kapaolni kl~nl OISllopolut
Állitsuk be Il\II"IdMrom "ezérl6 adalforri5al Ogy. hogy a Title oszlopo( jelmi~k meg.
az értélc pedig wrmazzon ~ BooklD oszlopból A 17,2. ~Irln aZ! l;ilhott,uk. halil' miktnt
kell briJli\;l.ni a [lropDov.nllit ,~Zérl/I" lKbtforr:i.dt ebben a p5rbesz!<bbbkban
_ ...... -_ -
=...-~~!
...
-_.................--...
-
--
17.l.1itn
\~. h II liSlO"eziil6h6J: 1tnpaoI.. , h, ./m nda/fomú-i'tth16l b. ..... /tp:>fIPI
-
11.3, . .
It '-~ flt 61 ritrIOft klJ'ldJ_:naJI, <VU''W'"''' /bQIfS ~ m/ndtm ...",,,1fIINz
" 11 fejezetben ptltl1ul ~lIkus módon fag)'l:r.ltokkalIOhÖltünk {d egy lenyfló lisclt, &
:Ifelhasznil6l all'll kmilk, hogy v:ila.s.Q;:l. ki a ked\'~, A:J. trlfkeket IchJl 5ta1,kusan
adtuk meg. ele en IIlCglchctJük dinamilru5an is, hll Iftrt'honmk egy lceCreamFlavou
nL"VIl tjblál az aWIb!lzbban, amelynek II követkeZO: kl:! os.zlopa vlln:
....._.
--- D.......... o.._
...""'_"'r.,.
,
~
-
t> ,_
$ _
' .. _
0 ..... '_0.._
(,,.,_ .......
. .~
~-
Ha a lenyíló hS(:1b6l el6!.:zör a 7he NumberhelyCll a t'islta/ Studio llada, m:ljd a Flsht
a"bcímú könyvet v:llasztjuk, majd a Cikk Me gombr:l kattlnttlnk." SeloK:UdInd",,-
Chllnged eseményre akkor is csak egyszer kerOl sor, mert a webkiswJgáJ6 slcmpom-
jib6l a lenylló lisclban kijClölt elem csak egyszer 0!tozik meg. n,e M.mber-r61 F/g/u
a"b-r:>. Ugyanígy, ha a lenyi16 list~ban kijelölt elemet nre ,v"moc,..r6l I lsual Studio
Ifacks-re n>6<Jo.o;iljuk. majd vissza, és így kanintunk 3. Click Me gombra. II Sele-cted·
IndexChIInged esemény nP,,, indul ..1. men ll. webkisrolg1ló szempontjib61 nt'm
tÖlténik wltow" lenynólÍ51.:1 illapot1oon (hiszen amikor a weblciszol~ló el05sz<>r
I.. ké-pev.e az oldal!. a DropDownUS( \.'ezérl6ben II 77", Num~rctm(l könY" Voll
ki0IamV3, és II visszacsatol~skor is ez ~Z énék \'lln érvényben).
Egyes esetekben iIITiI IahIIt szükség, hogy IIlOnnal tudjunk róla. lia egy ~staveW16
aIapota megváltolit. Egy oldalon példMlllahllt egy Ouick Links (GYGl"ShJVlIIkolások)
nev(l1eny16 ~$\W:;, amely a wl!bhaly nép~ertibb oldalait tátalja, és azt SZ&retnénk,
lia a Selec:t.edlnd.,>«:h4nljed eseménykezeló a felhawlálót! megleleJ6 OIdaIrlI
irány(18ná, amint kiválaszt egyet a l&nYiIÓ W$\ábó!.ltyen esetbeo IIlOOnal üjlll akarjuk
töheni III oldalt. amint megváltozik a kijeJölk - azt, hogy elt • viselkedést hogyan
éfhetjiik e( a listavelérl6knél, a követkero részben ta-gyalju....
MMkOl azonban nem bIZtos. hogy számit, lia a ~t&Velé!l6 . . .ta maqválton"k, '5
III tirtélre cm akkor vagytri, kiv6ncsiak. amikOl visSl&Csatol~ keriil 501. Ilyenkor
prooramlogiUt érdemes ehlyezni a Button Yezé~ Click eseménykezel6jtlben.
am&ly III oldal újratiilté~OI fut le.
17. ÓIlI • Adltkaped IInyIóIltik, vB. Ir$gorrb:Ik" JaWI"'''uTarb* 1415
Az 6rd h~tr~lev6 rész~ 3Zt nézzük meg, oogy:ln has.zn~lható az emlitett liJIrom
bst:lvezerl6:1 mindennapokban A kÖ\'Ctkez6 részben egy oIy:m péJd:lt n~.tilnk meg,
amelyben ~ DropDownÜSl. vezl:rl6 seglt$gboel szűréS{ hajtunk '-égn.' egy Goo\'"I(......
vezérl6bcn megjelcrútend6 adatokon. A péld:1OOn ~ DropOownList AutoPolltBack
tubjdonságit Tru~ra ~llítjuk, hogy az adatok önmOköd6en frissiiljenek, ~mint 3 le-
ny061i5l3 megváltozik. Emellett ~zt is megvizs~jllk, hog)'lln gyí'Ijthetünk aootok:lt
a felh.aszn~I6t6l,l:s IK®-~n dolgouIlItjuk fel uok:lt a RadiolJuUonUst él; CheddloxUst
vezérl6lc: alkalmaz.1sivaJ.
Az eredmény szíirése
a DropDownlist vezérlő segitségével
Az e16z61úrom f~zetben:l Book!i adatb:lzi5táblával dolgoztunk, és I~truk, hogyan jele-
n,thctjük meg ~zö&zcs benne tiroIt könyvet egy GridView veztrl6bcn. A 14. leckében
megni'zl!ik, hogpn adhatunk .bed1ÓlOWtt" 5zűr6kifcjezéieket az SqlD:na$ource vedr-
16Mz, hogy megsubjuk, nlCly könyveket adja \'ÍS.5Z3 az ad,nfOfT'h.\'ezérl6. Konkrét:m
k(1 kifcjezb.t adtunk meg, alllel)'ck azolmJ a könY"ekre koflátoztlk ~Z eredmén)1,
amelyek azonno;ít6 érteke (BookID) legfeljebb 3. kiad:\sl ~e pedig 2005 volt.
416 111, ráz . MRlIdaIlWiwkk.
Ennek :w:omléltctésére el6:s2ör adjunk még egy os>.lopot a Books t:\blihoz. amelynek
alapjjn egyszeruen sZl1rhetfOk a rekordokat. AJ; oWop neve legyen Gen"l! (Míífaj),
tipus;! pedig n ...... "c h a r (~O) . Mh'el a \k>Ok e t:lbl~ban n"lr '",lnnak rekordok, \"'gy
alapértelmezeti értéket keU adnunk enllCk az aWOf.'n.ak, vagy úgy kell beállftanunk.
hogy megengedje" !';ull ém'keket. Egyelőre maradjunk az ut6bhi megoIdá5n~1.
Ha át Sltfttnénk tsmételrn, hogy miként kell rneghatMOlI1i egy SQl SlINer lOO5
adatbázist;\Wt a Visual Web Developerben, Iepouook vinu a 13. fejezetllez,
Akik jártasabbak az adatbázisok használatában, tadják. hoqy nvarchar ( 50 ) típusú
Genu oszlop /!elvett iDbb lenne egy új. Genre nevű keresőtáblát létrellozru, és
a Genre lD idegan kulcsot adni a BOok .. tIIbIáhOL EmeIIutt a mugoIdás melkttt ts
döntIletiink, ha jobban tetszik. de ha ez kínaiul hiWlglÍk, nyugodtan rTIiIIlIdhatunk
I Genre OsMp létrehoúsánáj,
KÖ\'etkez61':;pésként hozzunk l&te egy üj ASP.NET oldalt OropDownl,ist. " Gp", ~'en.
amely egy Ienyí!6list:l.b2n felsorolja 32 Ö65zes elérhető mUfajl. és egy GridView vezér-
]61; is umlma2, amely megieleníti 3:rok~! II kOn}"'eket. amelyek mOlaja megfelel
a lenyí!6listából kivllasz!ounak Ehhez k& SqIDataSource 'ezérJ6re lesz. szOkségílnk,
egyre a műfajok lisCijinak kiolva.sás:lhoz, egyre pedig a 1i5táb61 kiválasnoll műfajú
kön}"'ek kinreresehez.
.... _- _... .
egyet--c:gyt."1 -. blr a tábla csak h~rom különböző műfajt tárol.
l"""",'_~·~.,,",·~,, _-)(
"
17.5. Mo
A w",)iM liSldba" .. B!JOkS uI!>ia
m{",/cr, rriorrljdhor larll>%1Ar
"RJ' el•.".. ,rem (sal, "",!"Jtmkt~,1 <®"
A hiba kijavf~ho.z ügy kelJ bt-:Ulitanunk az SqID:uaSol1rce vez~, hogy csak az egJrnj
(kO]önböz6) mlIfaiok:1l adja vissza a 800kH t1bL1b61. Ehhel: nyissuk ~g űjra
aZ SqlDataSoun::e veztrlő var:izsl6j:'il, 61 a Configure Ihe SeI..a SCUl-mcn1 ablakban kap-
oojuk be a Retum ()flly llruque ruwS (Csak az egyedi.sorol< ";ssZ3adi",,) jclöl6nég)··
lelet, ahogy a ]7.6. ábmn l.~thatjuk.
_._
--_ ...... _........_--
-_....._.- _....
-
_~
11.6.6bnI
.11051 .:salt a k11MnbőztJ miifajoknl OOft" ,,,=,a
_.--__.._---
--------_ . -_._--
.. _------
-- --
-. ~.
--
17.7. an
lqo,l".tfo/ <:!lY WlfERE :ufrrufAot pttmn~l..té",. ame()"do ~ a gen""
kn),il6 II<MbIln W"VaulOll ,,",.. /onMrozzt/ '*ll
l'óéuilk meg ó;r~ III ASPSET oldalt '" bön~ Etilttll az okbl d$6 betöltésckor
a rkSMU'ibm csak egy kOnY'iet (The Nu,"~ fogunk I';:tni, mert csak et ,. kOn)""
fdel meg '" Busines:s miJr"'JlUk (U~ '" 17.8. <ibr.it), ~ljuk ll106t m6doI;;i!,.ru '" miJbil
'" knyM l!$Úban_ srmrru $Ol'1Il lOO ..-..uk! A rio ~ nundtg,. nil!' Aumber dmiJ kOn)'v('(
mutatja. Ennek oka az, hogy rnl-g nem ~lyeZlOk lZ aUlOm:llllru~ v;ssucs,noUSl
" DropDo"."I\Wt ,~ú'rl6ben, elén a lenyíló Iwoon kiiclölt elem megvJlt07:!<lt;\$;I
ÖIlmag:lh:m nem okot v;ssz:;ocs;.tohlS!. Ehhet a \('zérl6 AutoPoIltBacl< tulatdo-n~gal
True-nl kell :i1lÍ!~nunk. J~vilSUk ki telót ezt 3 hibill, lI\;;lid töltMlk be újnl az okblt
H~ lT1OO9 núsik múf",jI \"~l:l.wunk:ól Ienyfl6loob6l, ",zoldll Ólnltölt6dik. b" r.I~zet
frissOl (Usd:ól 17.9_ .1bril),
420 111. r6a: • MIIltI ecII'Mzisokh.
..... _-""'-
l,···, ... ·,·.............. _" .. "" • ~ •
.) !lJ!. --(7'
•
•
- -
............ ...... J ."~ ...,,. • ... 1 _ C,o"
,"'4flOO>
iM .... ,,,.,,.,... ,.,. 17.8."
A DropDtm">llJsl.aJ(l.~
oldal az első ~t6;"",
-- -
_- .. ,._....
......
\
- ... ~ ,. '...'.-
.,.
17.9. Mn
AZoklal miiI/d "
-
" feiJUI$!L.tAJ6 " /enyfM
, r_ c. _ _ l/SIti/xw Idjdl.lll i!Ii.-met
Bu.sín=rol T<'Ch "~m
m&/osl/Ol/ft
1'(:U\ik meg miodkét ~1.enl EI6szőr ho:aunk létre egy \Íj J\SP....U okb1t Ch_ ,It.>.nd-
Radio. up)< néven, amelyen elhelyezünk egy SqlDauSouIU'. egy Chc<;kBox~ 6 egy
RadioBul1~ ,-e.ztrl6l:, Á1hl5Uk be \Így n SqID'JtoLSoUlU vezéT\6l:. hogy II Book. tábla
nunden oWop:il 6 .... kOt'dj.l.! \'1SSUlIdja, b lu.pcsoIJuk ~ nund II Ol«klk»tllil.
mmd a IbdioBunon.L.iSl •. C'ttrl6ho.z 6gy. hogy a h,st.lVC'zerl6k a Title (QJOPOI
jdenít'18: meg,:;IZ éft",kGk pedLII a BookID o.szIopb6I.szjtm:lZZOl\. \'i'gUl adjunk tS)'
8onon h egy ~I .... efx,s \"f:.zérl6I: aZ okbJl~. adjunk aZ d6bbihe~ eg)' ct kk
~n)'kezd6l:, majd \öröltok a dmke """t IUb~g1nak &tékét. h rendcljilk
hom a UlIlIlts lIzono:':16i1Ó1.
Súnjunk rá egy PerttI, til nt7.l.uk II"-,!! n okbh II bönllés.z6ben Jelöl6négyzetek- liOn'it
kell l:ítnunk, amelyek a ú~ban taülhal6 öt kooyvho.z lar10ZlUk, lIlalluk pedig v~lasz·
16gombokat. amelyek ug)-'anezeket II könyveket !OfOIpk rel.
-,
, " CheckBo"Lht el_lnelo. f .. borolt ...,b ..
ror b,-"h l i AI; LlIt I t . III li.t4V11z"rl/l'lll.lr_
, ... '1 lists@l_ .1yf,o;J~end6 lIllvele
422 11.,. . ,......"'1 ... · +tol
... "
A kód els6 SOI'3 törli II Label ,..,ttr\6 '-'xt lulaJ{lor>5lg:ina k b1ékl:1. m:ojd k,irj:l
J~·hecl<SOxLlnl 3ZO<lO!iit6jú Checklk:l~U51 '·elérh'5 elemei!. Hl! egy elem k!\""~l;.Lmoll
JlIapotú - v::I.gyts " l i . Sele,ted éntkc 'true -. II clmke Text lullljdocutg:iho~
hoaifLlzí1nk egy kar:dllcr1~ncot. ~mdybcn jelezzuk. hogy az lIdott lislllel"m(.1
klvJI3~lou.1k. (A ka",klcr1Jndxln nerepl6 <br '> egy IITML-clem.lImc:ly!lOrlörest
Iktat be. Igy II kil11t"nel oIvaWlóbb lesz.)
• - --, -- - "
G-
- • :-, , , o
• ,
,
.,---
--
.... '
00.-,_0.._
_c-. ......
t'1'oloa.o
•c ,_
I _
h. _
0 0 . - ' .. 0..._
.~ -
" .... 0 - ......
"',.
----
, ~~
_--
.... c-. ...... _~-
....
,-
__
,
-- 17.10. "
A cl",. _ _ér <lZ /wIlarott.<l .....
, I'I*,
MIO.- """'I'i ..... I ~ . ...nyJnItII<f,..<g)%I!ri« ~ ~
Az ASP,NEr oldalt ~ 17.10. ::Ibcln l::ltiuujuk. Figyeljük meg, twgy minden bejelölt
jelölooégyzethez tartOzik egy-.egy üzenet az oldal ~[iin elhelyezeIt cimkében.
CA megoldás II ~laSZ16gomblislll eseta;.en is ugyanígy maködik.)
Az alflbbi kód feltélek: gondoskodik róla. hogy csak akkor lépjünk tOl"ább. h~ a fel-
hasudl6 \'alamelyík elemel kh':í13sztolla, Teh"t ellen6rizzilk, twgy II Seloec t edlt_
rulajdons'íg értéke nem No thin\l"'-' , bo ha nem, akkor érjük el a S.. lec t edltem bo
Sel ec tedVll l UI! II.Ilajdonságokat (1:iMI a 17.11 :ibr."ít).
"' ...
o .... · g
_-~ ...
]".. " ..._ .... '_rl"'.. ".. ' .. ~."
.
_ , 'x
,- •
J ee _
t 'l .. •
O_ Rodu
0 0..1"_0-"_
.~
O ~c.Io. . ... .".
o ,.. ~
I
I ck". ow I
8, -</tr><tn
~, <td~<input 1<h 'Ch""klloxl,htl_3' type"checkbox'
.. n_='CheckBoxU.tlSl' I~<label fcr _ 'Ch""kBoxLhtl_3'>
.. The Catch"r in th" Ry<></label></t">
Tulljdonsígn6v Leirá.
CellPadding A lek"'peZet( I~bl~z:.t ccll1i köZÖlt. illetve a beL!;6 unalomhoz
haszrutlandó k;lő1~b;c lut~roZl:l meg.
C.llSpacing A ~blázat.:;ell~i közöni t:h'Ol~gOI adja meg.
RepeatColumn8 Azt hatlirozza meg. hogy holny ~opnyi jelöl6négyZetet vagy
vilam6gombot kell megjeleni!en;. Az aL:.pértelmezetl Oérték
egy01izlopos megjclenÍlés( eredményez.
RepeatDüectlen Azt jelzi, hogy milcént kel! elrendezni az elemeket. Az e!tende-
zb v!Z;$7.;nte:. (Her! tontsl) '<Igy fOgg6Jeges lehel (vertleal;
ez az abpénelmez6).
RepeatLllyeut A RadioButtonIist ,,,gy CheckBo:dJS( vez&!6I-f1'ML·1é való
lekl'pez6iekor haszn.ilandó k&lot adja mcg. Kél értl'h't vchel
rel; TabIe (ez az alapéltclmezb) "'SY Flow. Ha a Tabh
bdllrúst választfUk, a jelöl6négyzetek vagy vilaszl:6g0mbok
egy IITML-tábltiz:.tl;>a kerülnek. míg ha a Flow mdlen döntünk,
<span,. elemek jönnek létre.
A vez&ll'i v:11:l$Z16gombj.linak, illetve jt'1öIl'inégy2!eleinek lekfpez6éhez használt
HTML-elemeket a RepeatLayout lulatdons:ig ha!:lrozza meg. Az alapértelnK'Zeu l:rték
~ Table, amely egy HTML-~bláza!OI hoz létre, 3hogy ~ 17.1. :lbmn l:1uuk. H:a ez!
a tulajdoru.igot azonban a Plow értékre állílJuk, 3 <tabI b helyei! <~pan> elemek
jönnek létre. Egy ilyen bdlJítással elJ!iIOC! CheckBoxliSl HTML-k6d~1 a 17_2 péld~ban
I:Ith3!juk.
l: ~span ld2·Chec~~ietl·>
2, <input id_·CheckBoxLi~tl_O· types·eheckbox· namr.·CheckSoxLlttlSO· I>
), <label for~·CheckSoxLi8tl_O'>Vi8ual Studio HaC~8<llabel>
(, <ln- I,.
"
10, <input id~'CheckBoxLi8tl-2 ' type."checkbox" ~~·Chee~90xLi.tlS~" I>
II: <label tor~"CheckBoxListl_~'>Tha NUmber</l~l>
12: <bt: I>
ll:
14: <input id='CheekBoxListl_3' type_ 'ch8ckbox" ~o"CheckBoxLi.tl$3" I>
15: <label tor'"Chec"BoxListl~'>Th8 Cateher in the Rye<fl~l,.
16: <hr I>
A <tabla> hd)'dlleMl eg}' <apan> elem jön létn:. ~n kívúl minden )elö1<'lné'gyZeI
utJin 5Zl"rept'1 egy <br I> elem. amely sortörést idéz elő a böngé,zóben. A 17_2. p.::1ct.1.-
ban IJhruu6IffilL-k6d mllidncm pontosan ugyanaZt eredm~nycli a böngész6ben,
mint ~ 17.1. p.::ldáb:m I:i!Olt <tabI.>.
c___
_f___ 0. . _
0100_ ~"","""
0___
( I _ t_ _ _ O'/Io~."",
11.12. ....
~ RlJdlt)8m/Or1J.l.<llis 41)' Ch«1IBuxIJsI ,>tthI6. tUttJI .. 1/x'pMlCclumR$ 1OTt.... J
Összefoglalás
Ebben a Ieck~ n ASI'.l\'ET hsavezérl6,,'e1 tSmerkedtOnk meg: a DropDo\OmUsl,
a O)cc:k80~llil és a R:ldioBunonUst "r:U:tt6veL fu: 11 tdror:n vemlő lis\JIclemeke!
t;lnalma~ amelyeke! megadhatunk sutikusm, progl"lltnowltan, illetve atbtkapaolb::>n
krreroQl. A Idrom vezb-k1" li.1aeJem..k Iek4>e~ rn6dJ:1b;an külOnbötik: a Drop-
Do\OmUst lenyi1ó IlStit 00.: Ittre belőluk, "CheckBoxI ig ~ekk&u k~b le
3z elenlCke!, a Rad,oButtonU)I pedig v:i1al>Zt6gombok:u k!szíl
421 1.. r6R .......Wh'/ "'UI
Kérdezz-felelek
K: A~ben IIorábbo" <xr 01.11"111 peMtl<'ltt,,,,k. aml'l..l'be,1 'ltY Gridlieu· alla
/I.""xv DropDou."lhll~ $CJIIIS<'géI-l'I SZiímllt, ~ RmllOlJlltlOflUU
'~Msnllil"j a Drop{)Q'''''UsI hl'I.I'etl~
v: Igen. 3 RadioBunonUst Ug)":InoIy3n jÓ, lA gyakorlau f",hdlt tppen at Ieooz.
hogy eg)' olyan ASP.:-rET oIdtll kblilSÜnk. ~mely a rno..'gjelenitett adatokal
egy IUdioBunonl.ist ....gilSésé"·el mlri,)
Amikor azonoon egy R:.tdioBu11onUst vez':"T'I&.el mlrjl1k n eredményt. qn.. dolgot
l:szbcn keU unanunk: a K.~dioBultonU5t alapén.elme~ szerint nem rendelkezik
kijelöli elenunel. Edirt amikor u oId.:.Il cl<'Jsz.ör betölti a szúr6par.mllken,
az SqlDauSowcc ~ runcs jelen, & klv6e11ép fel Ezt. a probl6tút l\gy
~k ki. hogy abpbtelme1.ell 6téket adunk 3 param& .......... k. anukor
&6;z.dIlÜjuk a WHEPE úr:>dékOl az 'iqIDataSoun:-e ,eztrl6 '·::lIú"Iój.lIJ<ln
Abp;:rtelmezett érttkként h:tszNlll;,tjUk a Comre oszlop <"g)ik érta:6, p&.Llul
a Bus_, dc egy 010 lur:dcterlinrot is. Il;, an SZJefCtnénk. hog)" ke7.dctbc:n
qn'Ctlen rclcord se jdcllfC1l meg,
Ismét16 kérdések
1. f"evel.zunk meg ni'Mny szempontot, amely nennt a fejt:zetben \";1oSgáll wcbcs
1íst.a\"ezérl6k hasonli13nak egynl:bl'2l
2. Ne-ezzi:lnk meg nth!ny s1.cmpontOl:. ~mely .zennl ~ fejezetben \"izsg:ílt wdJe5
IiSLi\"eúrl6k kOJönböznek egymiSI611
3. Mi a ne\·e annak 3z esemén~TlCk. amelyre akkor kcriil !lOJ. amikor egy
li.sI:;IW'zfrl6 kiJClóh álbpou meg\l1lto:dk kl:! \"iS$Uc,.::uoIis ~t?
4. "lIIyl!'fltub~gokat kU be"JlJitlnunk, hogy ~ RadlOBu11onl.isl ""gy
OJeCk80xUst \"Cl&t6 ,·iZ5Z11Ut'Sefl, tObb oszlopban képezze le ~ hsuclemeket.>
5. A Dropno..."1lWl. RadlOBunonWt es CheckHoxl.i!l ,.ez616k cgyar.i.nt
rt'ndclkcznek egy ""toPo.ta.,ck ne\"il" tubjdons::iggal. MJ történik
ll;, eZl a tub~~ Tr" .. -ra fllitfUk1
Válaszolt
l. MII,,~ik 11SUclemekb61 ~II, é$ a;wnos alaplUlajdorl:dg<>kk;ll- It_. SeI8<'-
toedIt_ selectt'!dVlIlue sib. - n:'ndelkezik. Mindr>ek van 5ehlctedlndex-
C:h.lnQed esen~n)'e. alllC'ly ~ indul el. h:o" ycZi'fl6lllapou
megv11wzoo.. ~ kn"m mmdeg)lk eset~ haromfelckq.pen h:ltjro~h;;lljuk
meg II lisUelCfIlekl"l; Slalilrusan, II l..iSlllem Collection EdilOr p:lrl:>e5Ztdablakon
keresztill; progr.o.mbOI; vagy egy :ld:llfQm1s..,~zM6n ko"re5Ztül
2. Muxiqnik ....'ebes list3\"t'zbi6 m1skq.>p kqxzi le II l~kft. A DropI)o9.~
'"Nérltllx--n mtnchg eg}1:tI~ kijelölt elem l:Il1lhat6. mig a Ibdio8unooll'\l
ve.ú:r!<5ben nulla vagy cogy, II Ch«kBoxllit \'ez~rl6bc,n pedig null;! ,-:Igy több.
3. :;electedI"l.. xC'han9ed..
•. A R"P" .. tCol .....s tulaidons:ig h:lIJ.ro~ rTN'g, hog)-l\Jny o..zIopoI tusznáJ;on
II IbdioBwlonUsl vagy Che<:kBoxUSI vezérlő, II lIepeatPirect!cn pedig :lZt.
hogy:lZ elemeket filggólegesen ,-:tg)' '-illlZintesen kell drendeVli
5. tb al; AutcPolltS.ck rulajdons;lgol True-n .illitjuk. II vczl-ri05 á[bpotin;lk mInden
ügyféloldal! rn6do!;ít;l$l Y~(:s:noL1S1 indít el lb p&l:iul egy DropDownlLst
,~AutoPoAtBack rul:itdoruoi/P11lhljuk 'l'nle-llI. akkor allUkor a fdl~
uj demeI: dlasJol II leny96lJs1jb61, az okbl aUIOC1lóIlIkusan úJf"lö1t6dik. é$ riuxlul
II DropDownU'\I veltr16 Sel...::t.cltndexCh.on'led c'>C11lén~"t'
Gyakorlatok
I. AZ (lft'dmbly w1ré$l> Q fJropDot4't1lis1 ~'eZérl6 St'8,lSt!gefdcirml ~ t.itgy:ib.
m6dszen>ket :I.1lWm:I.Z\'a nol.l\1nk létre egy oly:," ASP 'TI oIdIlt. amc-Iy
..gy G,;d\~ew ve:rerl6bt'l1 megjeleníti :I. Books tábla könyveit. egy vál~~/Jógomb
lisl:ll;Qn pedig az 6sszes szerW(, hng)' szílfl1e\SOk ~ megjeleniletl kOny,: .. ket,
(Ne fdepük el 1'rue-11I oiUítani J FbdioBunonLi$l " ..:teM Aut, stBoo< k
lul1)donságjl!)
Ahogy a kor~bbi ~ldlnkban, Ill<>'lls ~odjunk róla, hogy ~ ri.bs.zI6fJomb-
lisUb;r.n <"8)' surz6 I'oC\'C C5:1k Cg)'5Zle1' sz.erepeIlCfI Ezen kivül, mh'd:u: <>kbl eM
belöll~kor a v:ibszl6gQmblisúban C8}~ elem scm lesz kijelölve, :l.lapfrtd-
mezcu ~éket keU :;IUnunk :I. Grid\'iew \'eztrl6 SqlD:ltaSoun:e-\"dr:1zs16jlban
Iétrehozou p:ilnm!'!:emek, leg)~ ez; az; abpfrtelmezeu par:l/nél:('I'énék egy üres
karaklaUnc. Euel a bdllillíss:l.l n okbl belöllésekor a rú:sf1tU1 addig
ncm jelenik meg. amil! ~ fel!U$Znj16 egy sl.en& nem ~~laszl a vábsZl6gombok
~I.Ségt>'eI. mivel u üres k3raklcrUnc egyetlen ~ l'oC\'ének sem felcl meg
új nen6 v~l;w;ús:l.kor n okbl úlnlöh6dik,!s u:Klott ~ kOnyvei
jelennek meg.
Az oldat klprób1l1sakor Ogydjünk :lIrr~. IJOg)' :ll 800ks LoiWban Ieg:aUbb k&
könyv unouon ug)'Ifl:llhhoz a~)Öl, b m6dosílSUk:ll IlbLi\ ennek
megfeld6en. Emclleu :1.IJítsuk a Gnd\lt.'W vezérl6 _WDilt"Text \ula~g:át
egy megfd el6 OZCllC1re, Emlékc71M.'tOnk r.i, hogy aZ ebben:ll \ulajdondgban
mo:gadou tnék akkor jelenik lllCg, ha:ll Gnd\"oew \'ez..érl6l. egy olpn acbtfOl'Tás-
,'C7.érI6hÖZ bpcsoltuk, amely nem ad \'155Za cgyetkn rekordol $eIll - E$ r*ldink-
ban pontoAn ~ :ll heIYZeI :IZ OICbJ eM ~bekor, nUd6n :ll fdhawú.16 ~
,-:1 lacztana.
18. ÓRA
Az adatkapcsolás és más,
adatokkal kapcsolatos témák
ti kcllle /ar1almából.
Mind a GrldV1C"'. mind a Dctai!s\r,,,,,, vel.érió meziJldJ6l~lI. Ezt.-k ~ mez6k kél d'1
"ID~két szoJ~lh:lIj:ik:
AI. elmúlt néhlny 6f:íban rnegisrllert ConunandFl<:kl oIpn mező. amelynek az a d'lj:I.
hogy felületet biZl06it.>on ~ felhaSln.116 sz.1m~rl! a GridView vagy a Det"LsVlew szolgálta-
tásaihoz. A beszúr:ls. szerkes:lt6i. kijdöl6i vagy tör\6; ensedé1yezése egy CornmandField
mezm-el b6Yíti 3Z adat\"ezérl6t. A ComnlllooForid az. Insen (Beszúr:ls). EdJt (Szerkes2:lés),
Select ( Kijelöl6) 6i Delete (Törlés) gornbok Mrmilyen kombirdci6jlt mt.-gjelcníth..·ti, és
a Showlnse .. tButton. ShowEdi tButton. ShowSeleetButton és ShowOeleteButton tu-
b~gok beilli~\;d jdezhCi,uk, hogy mdy gombolGlI alGlfJUk szetCpdletru, Amakor
a GI'Id\ _. \'28)' a Deu.i!sVICW oIt:05 cimkéjét haslmljuk a 1le57.lir:is, a2efke<ZlÍ'iS,
"",,'jön
a kije1ö1é5 Volgy a törlé:! l~rllo8;n,wn.ak bebpa;oLig1':l, a kkor ~u[o'llatiku!;an
cgy ConunandField meZŐ ~ rnegf~k-l6 LuJajdons;1génékck nlCgadou bcilht.:is!.lVolI
;"~"""":"'''~!I'J;U6 a bit
~. (Em!a:euOnk vis&z:i, hogy a bit
1"""-
--
.-,-,-
.~
-_
,-
.~-
--
....... , -...... "
\ ..,
.....
I L"'!"::J
lB.1. 6bnI
A FICkh pdri>csddabiak Ils/ál
~nfll""8 a lI~m adawf'%hi,J
ma6ita, ""Iam/III a foI,oeIWl6
mczOfpt4()/mJ/
Adjunk ll105t egy bit oszlopo( II Bookll tábt'inkhoz. A \T~ua l Web Ikvelopt'f Datlloose
Explorer ablakloon ke~k nlCg II Books t:\bI.1t. IWtml5Unk 3z egé< jobb gombj:l.V31
a Sook$ tábla nevére, és ,<:1lasszuk az Open Table Ddirution (nblameghatjroz1'i
megnritisa) parancsot, amely ~ db!:!! alkOlÓ oszlopok listjj~t jelenitj nlCg. Ez u!:in
adjunk egy J{e<;:~nded nevíl új oszJopo( 3 Iá~hm, és vilasszuk a hit Dala Type
(Awnipus) bc:i1Ji1á\.t. Mivel a lábla mir taltal!lI3Z adJtoka!. ennek aZ oszlopban vagy
el kell fog1dnia !\ull frt~kekCl. vagy meg keU adnunk egy alapértelmeZett "'n"'ket.
kL utóbbi mego!(Üst fogjuk alkalmazni.
EI<lQOr lapcsoljuk ki az A11ovo "\"ull (SuU ~~z&e) ~et. Ez uUn meg
kell adnunk egy ab.ptndmezea tnéket az OtIzIop .stillÚra_ A Column Pn::>pen1t:S
(OWoptula~gok) abblWbIa Gener:1I (Á1tlliOO$) ~ keressük rrJeg
a Default Va\ue or SIlKIing (AIlIptnelmezeu énl.'k vagy ad:lllapcsolis) tulajdonságot.
~ lT)uk be ide az alapéndmezeu tntket. ami legyen 0_ Gy6zódJi1nk meg anól. hogy
. .... _-
• .1#,,,
- ,... ',
_.._ ' •
.---- ---- --
-- ~
•
....
-- -- •
- - •
,
--
•~
.----
-- ~ -
-,----,,..
n . . . . . . . . . . . ".~~ . ." _
•• I ~..
• 11 .~_~-~-'•
...
.-"
• • •
--.,
,._,..... ~.~..
•
.
•
- ." -_... -
-.,..., ......
~.
~.
•• • , •
... "
~,
Most. miutlin rek·ettilk ezt az (ji oszlopot. hozzunk létre eg)' ASP-"U oIdall,:undy
_.-
mno1 J<:#M6I'«r
...... sortmUollhof
Meg tudjuk ...:oUII, h..lg)''' Re ._nd<!'d mező \':l16han CheckBo>:Field h:l:> Grid\~"",
okos cimkéjében .u Edll CoIumns tuHtkOZhr.l bujntunk. 31TlC.'1y megj<"leniLi a F...-kk
p1rbcszédablakOl. Ahogya 18.-4 ábcln Lilh.uő, a Grid\~ bal:ll.'l6 '!o1Irokban fdsoruh
ITlC.'zói között a bon_ .... ,.-d mem O>«kBoxFoeld. A Rece_ondi<! m.::Ul kJ,'a\:m:tás:l.
belölt; a mez6 tu~jdoru.ig;lIt" jobb okbl", Ahogy II BouooF...1d ""-'Icben. 'II lS
tCSlreszabhat6 a al<.'CkBo~ Field mel!iel<:tl& a Sty1e. (Su1usok) 1"k7.ix'n Ulj!luló
lulaido~so«kJI
..• ,
"
- ...
- "
- - ,"
•
-......-._-. _--....-
~-
-"'- 0 -
'" _
•
......... -
'" I[:~
lU.6bn
A Grid i ",-"" mu"", ..ul",s<'" Ch«1UJo.~H".d mer61I!llCIJiJl " 1IN:G""m!",ú..t mn6h6%
MQ5t lesztdJÜk ASP .... t.., okblunkat egy IXIfIgén6ben. Amikor n~.llogatJuk az oldalt,
a R.c,*-,11ded 1TlC.'~ minden 5Otb:tn lIlakh\' jclöl6nég)"C'I'-"'I 1.:I.1~lunk. de "mikor
egy 50f! .szeric:emünk. al. adon sor ~'zele l ....'rt>elŐl'é d.hk, fo! lehel6\"é teszi
"feUl:lIsznJlt'Jn,;,jk ~ ~ énekmek meg.·~1t02;l3t<Wt Ezt a wg;llclla'-l
" CheckBoxroeklt<."W IcheIÓ'o"é
Ha ez még nem teljesen viJágm. ne csOgge<ljllnk, egy példa biztosan segíl. Mi\"el egy
!luy hivalkol.á.s1akal\lnk adni ~ Grid\il:w egyes sor.lihoz, amdrrc k311,nl'"a a IJltogal6
egy U"ltemcre5 könyve..boltba jul. el'i6 dolgunk annak IIWghat:'roclsa, hogy ml:lrik
online könyvkereked6l hasm~ljuk. ts hogy núként néz ki a7-011 ~ webhelren egy
adon kön)'\" adalainak meg«'kint~hez szüks(,ge:5 URL. Ebben a példában az Ama-
Wn.com imemetes kön}'VesboltOl fogjuk haszo11ni. Az. Amazon.rom t.-st.'Iében
~ http: , / .......... araa~on.eom/e"'ec/obJdo./ASUIl ISBNI URL jeleníti meg a megadotI
/SBNszlmmal rendelkező kön)'" részletes adm,jt.
A kiiftyYtM ISBN kódja Igy 10 vagy 13 számjegyb61 álló szám, ama/y egyedileg
aronosftja a k~. Az ISBN általában il könyvek háuó borít6ic'n található.
---_..........._--
- -- .-.- ,- - -
..... _ _ o : ........
I'
,.
--
-------"" --- -
---- .-
.-
-
_.
-, -
-
--
-
-
-
- -
-
-
-
- -- - --
~-
~
,_o •
•• <
- - - '"-
",--==-::"'='='='~_______________-.J~
18.5.6bra
..u- 61 .I!():"W ISB....
L- hl&..
az bci«?nUl
adrltbáztWa
Mout!ín megadlUk 3 Book" tábla minden n:kordl~hoz az iSBN értl:ket. térjünk vissza
a t!íbla·nqhatároz.is szerkesnéséhez. 6; kapa;oljuk ki az ISBN oszlophoz tanozó
AUow :"uUs jclöl6n~gyzetet,
Hozzunk létre egy ASI'.:..n oldalt egy SqlDataSour<:C \'ezérl6vd, amely viSS2;ladja
a IIOOkn tábla ÖSSZes sor:'it 6; ""zl~t. maid adjunk hozzá egy GridVICW vezMa, b,
kapc:!Oljuk az SqIp"IlISource vezérl6ltöz. Ezen ~ ponton 3 Grid\"oew az ISBN oszlop
tnék~ egy BoundFleld mező ha.'iZ!1áb~1val fogja megjeleníteni, szÖ',egkffit mu!3tV"J
az ISBN k&b , Ezt a Boundfiekl mezót egy H)'perllnkField mez5re akarjuk cserélni.
Ehhez mcnjiink a Fiel.b p.irbe.redabl:.lkba a GridView okoo dmkéjét mcgjclenítve és
az Edit Columm h;vatkods,..~ katIInt'...
A Fiel.b p;lrbeszéd:obt;,k bal al5ó sarkában l;'ithatjuk a Grid\'iew meZ6it, amelyek egyike
az ISBN BoundField_ Tá\'olimJk el e7.\ a mezőt a GOdView \'l:7.<:rl6b6I oly módon. hogy
kiJelöljük, 6; 3 li5t!ít61 rögtön jobbra elhelyezked6 Deletc (Törlés) ikonra Ic1nintunk.
amely ~ 18.6. ábrán is látható.
Törölll<->tünk b:irmely ncls olyan BoundField mezót is. amelye!. nem 5Zeretflénk megjele-
níteni. Enn(>1 az ASP.r-n oldaln.il ne foglalkozzunk a SookIO. a Ye .. rPubli~hed vagy
a L<OstRe .. dOn BoundFiekl me~ megjCleni\é:it'.'el.
-- --
..O.-- ._-
.."
~:- .. "
I: -".
-
-- .-
-
- -
- --==
...!!!!.. I
..
'"
.- .....--_.. - -
,-
>-
fiij'
•
r _ ... _
•
""
_,o
,-
_~ ...
........ '!
lU"
'" tI.- }<!4'iJj.a ld b I6roIftl.
AZ ISb,,\' lIoundFfitld -=til
Ha egy szwteszthttó GndVieW W<étI6 .... V89Y egy új aCIatOIr. bIWíriUra ......
miii DetlilsV_ 'O'IátI/l .... doI\r'n .... nem tWthIllri .. ~
BolnFIIId mIl6bt IZ adarVel6ri6b6I, nWIIll. SqlOataSoltte Wl'érI6 IS nwnti
mket az 6n~.t.
Ha azt aklll)lJ:;. hogy btronyOS mezők l11f9ieIe!l,entk INIkaméskOf vagy adatok
beSlÚráSakOf, mmdeoUppen úgy álNtsuk be IZ adltfOfTÍs.vezéfl6t, hogy 1141 •
vissza . zllbt III osrlopMt'Dbt.
MOOil.mr készen ;lillunk II &.ly IlyperLmkr.cld mez6 reh'aelm. It. b:al reM $lrokbcln
taUJh:lló A,,,ibbl,, Fidd5 (Reoddke*-"", ;illó ..,.,z6k) lisúban gt'loges.sOnk fd(~, és
!dóIlÜk k':il Hyper"'nkFoeld demel:. majd k:.nlmlSUnk u Acid (l-Iozú:Idhl gnmhn
EuelllO~3djuk a HyperLinkI'"K"kI..,.,z6l II bal abó s;uokb;;m &IU1hl1t6 ""'~L~I~
Motgassuk eD. II HypcrUnkFleld n\l"U>I a liS/a lClt:jére. hogy II GridVlew 001 szélén
jelenfCn meg. MOS! be ken 111,t;munk II HYP<'rLinkfil.old lul:ljdo~gajtn mCH/C'öh'e,
hOg)- mi legyen a leképezel! hi\'~lkoz:ls szöve~ és URl-1e
lia Sl3likus btékre ~h.;uk ~l1a~ni a .szöveg vagy lTRL btékcl, akkor haswjljuk a Text
vagy a NavigateUrl tuJajdonsagoltat II Text tula~g a lula)<ionsigliSl~ IIppC'lll:mce
(M~) d:sz8Jm ulálh:u6,:I. Navigat eUrl pedig a BeI\iI"ior(V',,;eI,,~d&) ,ésI;be".
,\I"'eI an akarjuk. hog)' a hivatkmis SZÖ'\'eg<' 6uy Ieg)"en al. &ne'> ~J.111iU\Jk
a H)"pC'fUnkf"1dd ~x t tub~g11 t'fTC' az o!rtékre
Ahhoz. hogy dlll~mikl.15 énékCl adjunk meg szövegk<"m V'~g)' URL-kém, ki'! lulajdon·
~gOI kell haszrullnunk. A $Uh'eg ~ében ~ o",ta'l'ext,leld és a DataTex t,Onnat
String IUI~jdonságok31, az URL esCI8>en pedig a D.otaNavigateUrl Fields és
a o".CaNav igateIJr l 1'0."..,tSt ring lulajdons;lgok:ll, Ez ~ né!)Y rulajdonság ~ Hyper-
UnkFidd mezők lulajdofl5.'igainak Dala (Adat) ré$zében tal~lhat6. A lulajdofl5.'igok a
kÖ"Clkező módon makiX!nek együn, a DataTextField és D<ltaNavigatelJrlFielde
tulajdonsagok hat.1rozzák meg. hogy aZ adllb1zis melyik OS1.Iop;Inak értéké! hawúlja
a leképezeu hiVlllkoz;\s szövege ''ag)' URL-je. a Dat~Textl'ormatStrinq és D.ou-
N.. vlgatelJrll'o...atString lulajdons:lgok pedig az én<"k statikus szövegbe fogla-
láslr:. haSZfl.ilh:uók A Dat ..TextFo....."tstring és D<ttaN"vig"teIJrIFO,"-tString
lul~jdonságok esCI8>en a (0) ka ... kterUnc szolg11 a dinamikus énék beilleszt(,"'-~
Péld:ink!Ydn an akarjuk, hogy az URL dirt:lmlkus legyen 3 könyv ISB" kódja alapj:ln,
ewn lillí(suk" DataN ..vigateUrlHelda tulaidonsligol az !SEIN énékre, Mi,'el azl
akarjuk. hogy az URL a http://www . ....... ~on.e()ln/exec lobido .. /AS1N/lSIHII !egyen.
haszn:iljuk a ht tp, I 1-.. . "",,"zon, coml exec I obidos IASI NI ( OII kar:lkter!~ncot
a DataNa",igateUrlFor_tString tulajdonság érlt'keként. Ez az l!rték arrJ utasítja
a HyperlJnkField v"Wrl6!, hogy az 3ktu:lli$ sor ISBN t'rtékl,( szúrja be 3 {O} pozíciÓf'a.
ami helyesen formilt !tipcrhiv~lkoz1st eredményez.
""""_"' _ _ _ 0- __ ..
•
•• •
---
'''' ,_ ...., ,.,.c_' _ ",,---,-
H_ o
~-
h_ o
k_
--".
o
" ,
,
", • o
18.16tn
.-..... ,-
""'"
..... ; • G!V' IIJ'fJN'l.(nkF/Nf
mez6 """"lll" Grldn.,."
=""""
Nézzük meg azASP.NET oldalt egy böngész6ben. A lek",pelClI GridV;ew minden SOf"d
tartalmaz egy Buy hiv:ukoz1sl . amel}Te kalUllIVll3Z Amazon.com kllnyvesboJlba julunk,
Ha péld:lu] a Crealf: Iburo..., Wcbsilf:cimű könyv Buy hiv::nkoZás:íra kaumrunk,
a http : 'I"""" .lIIIIuOIl, c_lexec/obldos/,t.SIN/067232S:<671 címre jutunk, Figyeljük
18. ln · Az . . . . c................ k' al 7. . . . 1441
meg, hogy ennek 3 kOn)··..I'It-..... az 7SS", 6to:..... e (0672328267) pom~" arr.> 3 hcl)~ kerU!
3 hiV3tkozás UJU....jt:bm. ~11O\':i a IO!lwrakter1Jr'oLUI helye;etlik a HyperLinkFldd
DataNav;l/ateUrl f"Ot'ftlllt St r Ing tllbjdons;ig:lb:an,
A könnyebb meg.;nb étdo"kl-brn képz.c!jtik el, hogy O."!IY (dhasznil6 ("lIöh "SY ~
a kutr;ij;ir61, é:< a n!'IXbl"''' a wd>k ....:wIg:lló f:ijlren<lszereben a Picture.'IIYOoo. J pg
e~, uton ~rolja ~n, Ennek II k!llnt:k a felv('l.ele egy (lj rekorddal b6vftl a2 ~d:ltlXlzis
úbl:h. ~melyben 3 Ti tl. ~op o!-n!ke mondjuk OA kuty&m'. Description ! n! ke
°Ez e<;Y k,;p /10 kutyÚl~61. Olyan /IOnmyo.t'. Pb, ' ,Path tnéke pedig PIetII'
re~ MyPog. ipg Iesl. Ib egy GrXI\iew vezbl6t je!enitünk meg. ahol a PietUUI
~li1:)k m,ndeg)',két eJJ)'-q)' Boundfield kép\"l5el.J.. akkor a PhotOPlIOt!. mutbe..
3 Pictllr_tMyDoq. iPG ,W)\'egft fogjtlk l:itni, \·i!zont::unil Umi akarunk, n a Pi,
tureliMyDoq. jp<} elcrtsl UK,n urok kép A BouooField. amdp\ek egyetlen <:tIp
a iT1t."gfeldl'l adttblzi~ énékének sro.l'gk':'"11t,~ rroegjelroíttse. nem al kalmas
~mI. hogy ~ képel: ~leníL~"11 ......g egy szi.>\egc:> elérési út alapjin.
Az hn:lge Ficld olyan képek megjdeníLé5ére szolg:ll. :lmclyeknek az URL-je egy adalM·
zi5b61 s~rmaz6
érték. Az ImageFieid egy Image webe5 "e~érl6t ilk-szt be. amely
<img> HTML-clemkém képez6dik le. II HyperLinkField mez6höz hasonloon :LZ
ImageFieId mez6 ís rendelkezik egy olyan tulal<Jonsisplirr-~I, am<:lynck haszn;llaLíval
megadhat6 egy 3datb.lZ;~i1op ob "gy fonnb.6 kankterUnc. fu: a ket tulajdo~g
3 D4tGI ..... geUrlField ob a DaU,Im<llIeUI"lFleldStI"in\l. II kép URL-je mutathat
egy ~ webkiszo!g116n LlIJ1!hat6 hel~i képre \"~gy~. ~voll kiszolgjl6r61 stirmaz6
képre. Az Amazon.rom miniatűr képet t~rol ~ webbelyen meS'd~rolh3t6 &s7.e5
könyvről a http://Íllla9e6.ama~on.~0/Q/w9e8/P/ tSaN. Cll. THUMBZZZ. jPII címen,
ahol az 15BN3 körl)'\' ISBN kódja , Ezért haszrciltwunk egy olyan lmageFicld meZŐt,
amelynél a DatallU\leUrtFleld IUla;dons<\g értl:ke I51111, a DaUI"'\leUTlField·
StT!ng tul3ido~g beálJít1sa pedig httll: I l i .....\le8 . ...... ~on. """,/I_\lea/PI
(O), Ol. 'MIUMBZZZ. jpg.
Ahogy 32; ell'kő resilien a CheckBoxField·p(,lda ~~n tetTÜk. vegyilnk fel egy
ImageFieid mez61 a következ6lépé5ck \<égrehaitjs:\vaL
l, Ilozrunk [(-= egy új ASP.NEl" oldalt. ..... adjunk hozlJ egy SqlDat:lSource
vezérlŐ(, 3mcl}' \'i~dla a BOOklll:ibb Ö5:i~ rekordjil ts oszlopát.
2. Húzrunk aZ ep"l egy GridVoew vezéri&. aZ oldaln. és kapcsoljuk
azt az SqIDataSource vezérl6höz.
3. II Grid\7"", okos dmkqH,t"fl kattintsunk az Edit CoIullm, hi\'3tkoz.'isr.t ~ Fields
p:;Irbesl.édabbk megnyil.tsihoz..
4. nvolít:;uk el ~ BOokID, a Yl&arPublhhfN:1, ~ r.aatRoeadOn ~ az ISBN
BoundFicld mez6ket.
5. VegyGnk fel egy új ImageFieId mez6t a GridView "ezén6be, és mozgassuk
3 mez6liS\a tetejére.
6, Kattintsunk az Inl;lgeFtdd mezőre a tulajdom:lgai betöhbéhez. A DataImaaltUrl·
Field tulajdon.'<1gn:lk adjuk az ISBN, a o..ulaIageUrlFieldStril>\l tulajdons:\g-
Mk pedig a http'lli""'ges._zon.c_/1 ....ge"/P/(0).01.'n!UMBZZZ.jPII
&léket.
_.-
,.
.-- .. - -
.- --- - "
,,
--
f:: .. .-
==
..!!LJ
- '" !~i
ÁI"/Juk hi> az ''''''R''FIC/./
1"Ii'.i<b~it .. Ftdds
,.-"
........ ---,.
l ,e. . .
.:.i:I.--f!
"' •• ~ .... • - ..
•
E •
- ...-
III
--- -- ,--
.
_
~
,~
O-~_Ooo ___
"-~
,
~-
... c -......
--
,,- .- - .~~
.- iii -~
~,-,.
•
- 18.9 jin
......
'\/mdc.. _1>'18
"""""
...inúmir lIIPe
Helyettesftő karakterek használata
a WHERE szarők~ej9Zésekben
Az el6z6 6rákmn l1nuk, hogyan haszn:!.lhat6 az SqlDataSouIU' '"r.izslója WIlERE szO"r6-
kifqezések feh-.!1elcre al. :u:btW~1S :1lwl vL«SZ:Iaoou I."redm61y szffi(!Il!se (:rdckO::;bcn.
A 17. leckében megtanultuk. hogy,m lusln.1Ul.<Iló egy DropDownLisl. kidlasztoll
értéke ~ ~;wrókifejezés ntékcként. a!l\llehet6,,~ testi a felhaszru.l6nak. hogy csak
a7. adoIt nn1fajba !anolÓ k6nyvekct jeleníL<e m.:g. Amikor szür6kifejezésl hozunk létre
az SqIDataSource \"cztrl6 varául6j1n kereszt,i], [",rom dolgo! kell megadnunk
Az egyJk mol\'ek1. amit ~ nem néztünk m<"g, a .,lJ(E. A I..l:KE művek1 hel)'c«csi!;:;
karaktereket h:,,-zrcll a p"raméleren';k körül, és ~k Ic'JI"'Jk(erl:lnrokkal ,"Jgy ~tum/id6
tipw;íi OIjzlopokkal működik. A LIJl:E hasznJl.:u:h"~llélrehozh:ttunk t-gy oly:m fcliiletet,
amelynek ha$W1311",,1 II felhas7.niló II Sooka l1bl~tx.n k~>reshet, és visszakapj:l. az
összes oipn $Olt, ahol a Ti ~le O/idop é'fttke tart~lm:tz v-~Iamilren II felhaszn.116 ~1(aJ
meg:.dou kifeje"z6t.
,--
--- --
-_.
-
-
--.-
-~._"
-
~
18. 10. ~
1~'ÜMft~ ~'LJKEIónlriiltifrje:ésI /.I Tllkoukpm
.'>iWn frt.·euük e;n " szt1ró1ulejele$. e. ..·;"""I&1,;nk ~ \-..r~ ConfIgllTe the sd«t
St..t.emenl ~z.. a v:u:\z.516 jJu,11'l~ SlLECT uUSitÁSmk a kö\"C~tkez&(,..
~kdl kmézme: SELEt"T · ~ lBooksl WHEIl.E (ITitiel LIKE ., •• ~lt.l ••
• "I l'ig)-el/Ük meg, hog)' :o Wl!EIU; l'lr:,,:S8, a LI!!:! m(h..."icI: to!; helyeltesit6 k;I",klerek
(,) se8í~-eI:odJ>, vissZ;1 a~ m'<l'.e'j olyan rekordoc. ~mdynek TilOl e ~ntke
l:ut"hn:u.2.:l a iTi t le p;LrlUl~er bltkét. Ezt a ~Tlt le 1l:iI"Jm(1l'ftnékl1. a t i t eSN.rch
TexlBox \-eZérI6ben !b'6 &tékre fogjuk bdUll:lni
_. -....... - -e ... . :i
• •
..
-_ . --
......
...... C - a ..... l l > _
~"
~
,...........
...... ,.
......
'. ~ ...
-
la.1Ubll
A .u,,' tifojeds lIh 66<tJ'l' dmlbnr 1<IkJIJra1d-w
- - '"
... 110' . . . . _ - -
_ ... -
o-·v •
•... _~
• _ _ • Ol· •
18.12. MIn
Jk! "I,/CS flII'.s::lIrd6l1tm.l'.'C;m, Q Gndl'/no Emptj-J)uIQText I"",~'IQII. ~ jt'Ii'tlill. ""3
Adatkapcsolás
Az adallttl{'CWhisn II fol~~JJrulI. ~mikor qn<"''dtr$ "'CZ(0rJ6 ~ rubp:lon.oágll egy
a~d:d.z~ egy.k ~k ktaéhcz kÖljOk. El II folyllJrult nundig ~ulOffi:lulrus:in
lÖfI&uk ~ we\:.e5 ~d:ol\'cz&iőli; ~n_ Anukor BoundHeld, OlC'CkBod'iekI V'Jgy
IJrulgeField mez6ke'l haszrúlunk, teljes egészében II GodV"",' ''agy a Ikt:illsVoew
vez&16 kczcli helyo:ttunk n ~wtk~poiOláill A BoundField pél<üul egy Label vez&16t
haszn~1. és a l:iIbel ~" t !UI~jUon~git ~utOmal1ku~n a megfelel6 ad:ll~ti5ho~ kOli,
II Q)(!(;kBoxfield mező Che<::kBox vcz(:rl6t haSUl~J. ~ ~ Che<:ked tulajdon~8" b
a megfele16 aWl~zisoszJop között V'Jn ad,lIkapcooLb.
lia SI!'ÍI keZ1lleg \'eszilnk ft'! l'g)' sabloruneZÓl. \0Ig)' cfni :1lalakíwn TanplaleFicld mező
Label v:lg)' Texúlo" \'e~ nl'iSlk \'ezérl6re akarjuk cserélni, akkor meg kell adnunk
a Tl'Jllpl;l.leField meZŐhöz adott új veztrlők :Id:nkapCloLII:m (igy azt is, hogy ~z adatlt:lp-
~5 egyilinyíi 1'38)' többtr.in)'Ú), Az adatlapaolis eg)"$len1cn csak egy"~ vcztM
egy adon tubjdons:l~1 a lDClI5hÖZ WlOZÓ a<btWmoszIophoz t;j.r.lftja.
AZ ~d:ltk:ipc>Ol~S531 és az egyedi T~mplateField \'ezl'rl6kkel \fa16 munk~ gy:lkorl~nak
érdekétx.'TI hozzunk létre egy slerl<=helő GridVicw \'czérlő! egy egyedi s;:erkesZlőfc·
JülelteL Konkrét:ln egy olyan CridV.ew vezérl6t fogunk létrehozni, ~mcly ~Z aditWzis
BooklD. Title és Genr .. oszlopainak I~jit fogja megjeleníteni. Alapo"ne!mt.oz& szerint
~ BookID mező csak ol\"..mató lesz, a Title és" Genre mcz6k :;zerkesz:tőfelületekbu
pedig <'8)' TeXlBQ:o:: "ez;<r\6t használunk majd. Minda;w~hal II Gridview 5Of'~ll1:lk
Sl'.erkeszlé;ekor taLin eJooy&d>b. hól 3 Genn mew egy 37. ~es léte7.Ó műfaJt
felsoroló Icnyíl6listaként jelenik meg. Ennek mcgvJI6I;ítWiOOZ3 Cenre HQundField
mez6t TL-mplatcField mező";< kell alakítanunk. "Z Ed,tJt<.·mTempbtc Tc,;tBQ" vezér\6j('l
p'..dig SqIO:l.laSOurce és DropOmomÜSl \'ezérl6lue kell c:serélnlink. A OropDownUst
\'ezérl.:'l S.lectedV",l ue tula~g!inak a SzerkCSZ1CU kön}'\' Genre OS2Iopihoz ,-aló
kapc>Olását adatkapcwl~ aJk:>lmaz4'ival fogjuk mcgokbm.
oe ne szabd junk tiJlságos:m elóre, M,"]611 léuehozn:ink ~ Genn nleZ6 egyedi. ad:ll-
kapooh .5lerkesztőfelillel6, el6ször hozzunk létre egy szerk~'SZIhet6 Gri<Mew
vezbi6t. amely az alapo"nelmezeu S7.erkCSZ1ófelüIClet használja. EmlékezzQnk vissza
a 16. leck~ tanult"kra, hogy ehhez cl&zör egy a frissítés t1mogatás!ir~ belJ!itOU
SqIDataSQurce vezérl6t kell az oldalhoz adnunk. Mi"el azt akarjuk, hogy a rcltwsZlt~16
csak 3 Titlo! és a Genre me.l6ket 5r.erkeQmes.",. ftgye!jünk oda cl. hogy az SqIData-
Scml'C(' "aclzslóOan csak a Bookro. a Title és a Genre mcz6kel adjuk vissza. ahogy
ez a 18.I3.lbr:ín Ls !áth:u6. Ne felejlSÜnk el az Ad,."nced (Speciális) gombn kattintani.
é:; bekapcsolni a Genc,~te INSERT, 1I1'DATE, and f)ElETE Statemcnts (INSERT.
UPDATE é:; DELETE utasit1sok Iro-ehoz:iS::l) jelöl6ntgyutCl.
_.- .... _
---_ _--
- .....-.-
---
~E: !:
--
'-=- - lB.13. ~
II eo"fl8"'" lhe SCJOC' SU1Jcm",,1
1.éf>en.J6.. jMljrlll nH'8 a JJooIlID.
a 7l1lc ~" Gen'" n<rl<y>okal
Ez ulán adiunk egy GridVICW vezl:rl6t az oId:11hoz. kapcsoljuk a:t SqlDataSource "clérl6-
hö~ 6; bpcsoljuk be a:t Enable Ediling (Szerkesztés engcdélrcztse) ~utel
a GridVlCW 01100 dmkéjében. SZánjunk egy percei. ana, hogy mcgnt'zzQk az oldalt
a böngész6nkben. 6; m6d0sítsuk ,.,.bmclyik kön}'\' adaL'tit. figyeljük meg, hogy "mikor
az Edil gombr:t kattintunk ... szerkesztőfelGleten egy szövegmcz6 jelenik meg mind
a Title, miJld a Genre nlCT.6k esetében (Li5d a lR14. "brit).
18.14. "'"
Mmd II 7I/Ir. .,ind II em,......,.
az Il/aplnrlmnm .... , .....t6frf'I'-
llauiiáljtüt
MOI>I ...,~~(jk ""'g, hogy nukbu \'~~hetl'l el aGenre mezl'l teslreszaWsa ~nnak
trdek&en, hogy egy lenyíló l~ban ;eleni~ meg a t;1bliz:u aktWlis ml1fajér1l'keh
t'IIY $zŐ'.egmezl'l helreu EI6SZÓr is II F"1dds p;ttbe$zedabbkb:;ln llbki1SUk a Genr.
8QundFiekI mezót TempllleF,l.'Id mez&.'<!, El: lIUlom:I.I,k\lSln 11'1....t.cn. egy ltemTempl;;lIe
s;ablonl egy ll<bik;,pooIt l:obel vezM&,'el. és ~ EcbtllemTempl:ue sablon! egy ,.wl-
lapc,ol! TextBox ,~·eI. \";o.I6pban. Ira. ezen II ponton Úl'"" kipr6blil,uk;lZ okblt
II ~. nem tapasruJunk ~.re\'ehetI'I kU~ II IS, 14. ~bdn látható
szerkes;;o;thel;ó felillcdlez k~
AZ EdIIJtcmTempL:l\c sablonl» moot fel k..1I \ennOnk egy DropOownIist ve:zM6t, amely
fdsorolp a BooIuI ~bUlXln ~erepl6 mtlfajolcn. Ennek megval65,~~ eI6!:05r Il'tl'l"
kell hoznunk qo' SqlI>.ltaSource \'~ amel)' 1un)'e"111 rn\Ifll~istáL A \'ezM6t felvehel-
jOk k&-.:tJo,nülll Genre mezl'l EdRlternTempb.te sabIonjába. \.1iul:1n az SqlDabSouroe
v..ZIM6t ll! E<htltemTempblt' s;l1Jk,nhoz ad:uk. ;\lJibuk u::) tub,donság:lt :l1I...nr~
DiltaSourc:e Mékre. Ez uUn ~nk "égig a ,~, C$:LIt aGenre O.SZIOPOt lIdjuk
VISWI. k jelöljuk be a Rerum Only l'ruque Rows (Csak egyedi sorol< ,'~d.15a)
jdöl6négyzetet. ahogy elIllZ e16l1'1óriban 1l.'II0k. amlkOO" egy DropDownLisl qil~
vel wlnOk az eredrrenyt a m!lfajok alapján.
-
. . . . , . . . _ ... _ _ _
•. "" 4...
c_ _ _
.~~
,-
18.15.iItn
_. E&:I' SqiDa/aSoun;e él" "SY DropDo.mlJsl
,,,,,,l!rl6I t"f11If1 ..1l fcl .. ee.,re stJbkn",,,,r6
EJ/Uli"", r ..>mpIo,e Jabkmjáoo
MOS! pr6l;óljuk. ki :LZ ASP.i\"'ET oId>ll a böngélZÓf1kben. Amikor egy adon son nerl<es>:-
tünk. a Genre me.tó lenyOó list:Iként jelenik meg. és felkínálja a BOOka (jblában
~erep16 különféle murafokat ( Bus">es5. FkliQIl és Technology). ahogy ez a 18.17.1ibr:\n
Iithal6, rlg)'eJjOk meg azonban. hogy mindig a DropDownUSI els6eleme a kíjelöll,
a =r1<esztell kön)"" Genre értéke hel)'Clc TeMt h.. II I 'lsr/tll Sllldlo lIad:skÖl1)"" adatait
uerl<esZlJÜk. amelynek a m(lfaja Techl1Ology. II lenyíló li5úban a Busmess müfaj lesz
kíjclöh allapodXln. Tov-lbb;\, ha az VJXlau, lFrissilés) gombra katlÍntV:l mentjük
a módosítások.u, ~ kön}"\' mO"fajil a lenyil61isCiban kíjelöll eJemt:61 ffiggetlenOJ Null
~rlékkénl mentjük.
_t __ _
".~"""'''''...
_ .. _ ........ _ , .. _ ....... _ . _ _.Y"" .......
'.
--~---. -:::.:--
-- :=~=:
--- -- 18.16. "
.....~ ti ~I<dl Wil<! lUlIJjdon ·
l"~
__
"''"',.. " .........., .... ....
,'""~,'".~" _-x
••
-'. , - '-e
• • - •
... ,
.
__ o •
. 18.11.. .
ti Qon,... ml'ZÓ "H)'M1. "'/"II."p<$Ol1
sz«llentófdliJetel bUtotI"
Mmdig érdemes ~z.ni. hogy a tcrvez6 nézet mllveletci nul}"en hatissal vannak
a f~SflI. ezén .'>Zinjunk egy pert:et a fomis nl!ZeI "izsg:í1atára " 18.1. pl'ldíban
l"thmjuk a GridView kódját
Összefoglalás
Ebben az 6r:\lxm kűlönféle 3d:nokka! k3pcsolalos ltrllákkal foglolkOZ1unk, a webes
amtvezérl6kkel \.,.16 h:uw:il!llrn alkalmas mezők \'ir.sgil:ltáV'dl kezdve. II h3rom ",elŐ,
amelye! megn.'ztOnk, a CheckBoxField, a flyperllnkField é$ az ImageField \'011.
1\ CJwx:kBoxField haszrt1lal:J ~ulomatikusan tötttrtik, amikor egy 8it típusú 05dopot
egy GridView vagy Det::.~sView \'ezérl6höz kapcsolunk, II HyperUnkVleld hivatkozás-.
kénl, !IZ lmagd'ield pedig képkénl jelenik 11)(i!:. Mind:. HyperUnkl'ield, mind az Image-
fkld rendelkezik kél oIydn tula~ggaJ, 3mely lehCl6\'C, leg; 3 ~munkr:l egy adu·
txizismez6 értékének 3 mez6 megfelelő Hyperlink '<lgy Image vezcr\6jéhez Y:116 kap-
csoll~1. KonkR'un megnhtiik, hogy mIkénl :ldhalUnk egy Sur hil':ltkozist nUnden
könyvhöz úgy, hogy a hi\'"JtkozásrJ kanint\':I. 3. relhaszn:l16 az AmaZO<l.com webhelyre
kerüljön. va13mint azt is l:ittuk, hogy::," ;eknilhel6 meg a könyv borit6j1inak képe
3 GridVICW egy~ ~iban
Mqplo!oztiJk, hogy:an hawdlhatók helye«esi~6 karakterek a IfHEIU;: z;lr:t<kk 5l11t6kifeje-
l.bébCil. Ez igen haSUlQS, ha lehet6>"~ akarjuk lenni II felha5ZJ1ál6knak egy adoIt
kaT:lkterUnc·resz ke~ egy ad3tl:d:tl"~mc7.6n lx:h1! Ez az ó'" az ~d:tlk~pcsolás
vizsg;ilat~\'~1 Zárul!, A ",ebe!; ad:ll;\"ez~rlők ugy-~n 1IZ ~ek lc"lbbségNlI.'n n~tív
módon
kezclik az arJ:ukapaol.15t helyettunk, dc ha TemplateFldd mezőt has:r.rulunk, VlIgy
nem TeXlHOJF: vezMt'lt ~kalUnk II szerkesztő- b beszúr6 felületen ~Inl. akkor ~
keU tudnunk oldani II megfe1e16 O5ZIopérttkeknck a megfelcl6 \'e7.trMcula~gok
hoz .....1ó kapaol.bJ~ Ezt II TempbteFK'Id sablllnoon 1é\"6 '"eztrl6 ok~ dmktjének
Edn DataBm.Jmgs I",'~tkotis;i", kaltIJll''a \'1~gezhel.jUk el.
Kérdezz-felelek
K: ,'II'JlCrhlmlkm:ások megJck",jt~ u "J'fM-"U"kFic/d h=""'/al"'l~tI C(",i1
réu:b<m m('8'mm/wk, hogy a lIypcrLI"kFMlI URJ.-hlékc (J$u(o(J1/11lwI6 16bb
adi1Ibdz/strlCllbc'fl, 00 D Data,\'D'Vl-a/ct'rll'fdds wlIljdo,tsdgoI osVOf",,·,.w
tl'SUÓtd c/ui/aszlollli.Sl4jdm d/iltJ..1t ez
D utJcqp-tékrc (f)muTextUrlFleld)
is 1.'fm(llliKnilt?
v: Sem, 3 ~trperUnkF!cld 1llC7I5nek csak az l'Rl réwe úmog:l1p a tl>llb ~·et"
A lMta'l'l:"Wr l I"i e 1<:1 rulajdons;lg CSlk "SY oszIopne\'et tud fog;orJru l'gy:migy
az ImageFlCkl f1lCZII:'l DataAl t.,z:-nat.-r."t p lel <:I k Dltarull~ örll'! .1<:1 rub,..
<bld.gai l~ csak ~gyetlen oszlop ~'éI bphatjik é-ndcl1l
K: A Hlof.l'CfICS(ld /tiornkl<?l"l'k has:n"Ual(l " 1'(1 'ERE ",irl5ldj<'jczésdW.m cilmi rész·
bet, Id/wk, 1f<lR)"(m jclcrlÍlhe/o "'e.!I' UZ Ó$U'C$ oIJw, "'n)'t', Dmt4)'"cIl D címe
lanalmllIrl' Djel/uu:m1í/6 Ú/fai "'I'[/,adoll keres6ltif<'jezésl. t.cIlCf"e lJ/talth'OSDbb
Itwcs6mo1ort 4éJ;z(lcr'i, aM)' tal u "")1'" (U1jD ,Unu, amel)~JeI! u dme,
D s:er::6}c ,"Qt)' II műfDjtl.Jelft mes Dfdhas=áló állaJ bei,., ~ftjuh",eIt?
v: Igm, ''an ri m6d_ TObb WfmtE únodékfd,t'lek kellene fd."enn(lnk, mmdt'Sytkre
Ug)~ 3 rtW'IÚ, ~h-'a" Amikor nonwn az SqlDauSourcc ''a~
ConftgUre ,h/, SeI«t Sutemer'll k~)~ kereo.ztül megadunk egy SI'U!:CT
lek~zkt" II WIU:RB ú",dék megadon !oZIlt6lufqezéseit AND mllvelel kapaoolj:l
össze. Td~1 ha a1 M!:>an koribban lein ll:pt:oscket kÖVetjük, 6. hirom szílrőkife
je:C6st ,-eszünk fd II TItl .. , n AUtl\or k a GenTe ouJopokt:il, a LIIIB mllvelt'lel
haslnál,'a "SY II t !.tleSearch 5ZÓ\"'SfIl"ZÓ bt8:bI alapuló ""t:ilrnHffn'I, akkor
:ll: eredmffiye~"n -];l.ECT lekérdezé Ig)- nelnt: k,
SELEC"I' •
FROM [Booh[
WIlERE I[Titlel LIKE 't' , • "') AND
~'l'itle
I IAu~horl LIK!! ". • , "') Alm
IIAu~hor
I IGenrel LIKE .,. • 9Gt!nre • "')
Figyeljilk meg. hogya WHERE l!ora~k ldn)m feltt1elM AND mavelet kapcsolja
egynúshoz. Ez 31); ~Li, hogy c5:1.k :uol<;it ~ sorok~t fogjuk v~k3pni,
amelyeknek ~ Title 057.lot*l1ékc és ~z Author oszlopéTtéke ésa Oenre O6Zlop-
értéke is urtalmazza a keres6kifejezésl. Mi azonban mirKkn olyan könyve! vissz:l
szcreln6lk kapni. amdytknl'l ezeknek az OIIZiopokmk />1rmd);.Ioltanalma7.7l1
a felh"szn:!Jö ilul megadott keres6kifqezésl. Ennek n"'!I'"~ IÓ<$itis!ihoz magunk.
n;lk kelJ ős&7,dIli(;[nunk a SELECT utasitlst az SqIOataSoon:e '"arnzs16 Define
Custom SlalCmenlS or Slored Procedures abl:llclban. (Err6I a képemy6r61 el6ször
a l-l, 6rliban volt SZÓ,)
K: MI vall akkor, Iul m<'8 <lktJrok jeleníteni 'ID' llIéPet ('\'Ig)' hlperllimlkozdsl), de"
kr:p val{)' hifJI-Tfu'mlkozds I~ rom" lóbb betll/í/ásl khd6Wgct uerelt/ék.
",/,,1 DmeJ"')11 az lmngeFicld '1'If{)' allyperl.hlkFicld /clu.'lfftVi lesz? Ha péld(jll/
ktJt llIéPet nktJrok U''ftPC!U.'IOI/ t I "~/, '1'If{)' aZI aktJrom. IIOSJ' t>wlnmflj'f!>/
IIcm 1tI"lIIlzozásk6/1 .",1k(JdQ u6vegjelcnjrm "'C8 a hiPcrhiwlkozás ulii.1!
v: Az egyszen.1 képek és hiv,ukoz:i5Ok e:9CIében a HyperUnkr.ckl és az Jmagel'lcld
CS<Jdjlatosan mIlködik. de ro rogyobb rugalma.ssigra van szilkségilnk ezeknek
~ mez6knek:l megjelenilí:se term, akkor a TemplateFickl mez6t kell hawclJnunk.
EgysZenJen dvége1.hetjiJk a HyperUnkf"leld vagy ImageFicld mez6 TemplateField
mezővé vaI61ulaltitis1t, Il);ljd az ItcmTcmplate ig&ly szerinti te5treSZab<'ís:iL
Ha új weUcs vez6'll'5ket veszilnk rel, ftgreljilnk oda cl, hogy a szükséges
a<latkap,=btokat is beoillil$Uk.
Ismét16 kérdések
1. A HlverLinkField melyik tul:l;dol'lS<lg:it ~Jlíl:ln1l1k és milyen énékre, ha
egy auy cf..,~~övegú hipemivatkol!o& akarnlnk megjeleníteni, amely
a http://W.<IW.buybook ... com/RuY.II!JPx? J SBN= ISBN lJRL·re visz, ahol
a Ci", a könyv ome. ~z ISBN pedig 3z ISBJ\'?
2. Ha a DatllNavil/llteUrlF'ields tulajdons;igot több oszlopnévre :\lIítjuk be
(pó'ldául BookIO é; ISBN). akkor min' ~lIiunlnk" DatllNavigllteUrlf'oOllllt-
StX'inl/ tulafdons;ig«" következő (O!'IlÚl\.lmú URL létrchozásához:
http://W.<IW.book ... ca./Detail ... aspx?BookID_Bookln.lSBN_IS~
3 . .A W1tERE :clrdd{,kb,.m szerepl6 I..lKE mÚ"el", bármilyen ,,<!auípusú oszloppal
hllzn111);1!ö." Igaz \'1lgy h~m(Q
4. Melyik hét mez6(,pus vehet6 fel egy Grid\~"",' , .... g). egy OetailsVlew ve~<ibe?
5. MIben kOlÖflbö2.ik egym:ist61 az eg}'lrnnyú é; a kt1irányú adatkapcsol1s1
Válaszok
1. A hiperlliY.ltko~b URL re,:Gének bcl!lit:.i~hoz ~ DataNavlg/lteUrlFields
tulajdort5:\.got rSeN. a D<tt"navig..telJrl FOnMtString tulajdonslgot pedig
a hnl': l/www.buybooks.cO<I>ISuy .aspx?lSBtI-.\OI éntim kell ~llit:munk.
A $zövegrész be:illíiá$ilhoz a Dat..,1"extFleld IUlajdonslglUk a Ti tle, ~ Data
T.. xtFormatStrlnq tulajdo~nak pedig 3 Buy (0) énéket ken adnunk.
2. AI. adaMziS06Zlop els6 05rloptnékénck (aookID) beszúr1sil a (O). a második
énékél (ISBN) pedig az (11 haszn::\Ja(~val v(:,gezheljiJk cl. Ezért a lulajd~8
értéke http : //,,,,,,,, . bookll. t'OII/Detaile .... "px?BookIIh I O)USBN~ ll) lenne.
3. Ilam;", A LIKE művelet c.o;ak kar:lkterl~nc vagy djturnlidó típlL5Ú OQlopokkal
haszruilhat6.
4. A hét mez6: JIOundField. ChecklloxField,lfyperLinkFiIIld, l_geFieId,
ButtonField. COIIIIIandField ts Ten;>lateFh,ld.
S. Az egyir.1nyú adaoo.pa;oI:is ('8)'szenlen cs:..k \"o:s<:i a JIK'g:ldou adatb:\ziso:szIop
<"nékél. ~ Ö5SZekapcsoljol egy webes vc~6 megadou (Ubjd<:>rW~\'al. A kl1.irin)'Ú
adatkapcsol.1s nem csak <:gy vezérl~ulajclolU<ll!nak (ud iwdn; egy onlopénékCl.
h.aoem ennek fordil()(l~r:I ls képes: k~ 3 (ulajdons:íg énék6"e bdllí(3ni
egy adatf<>rrM-,..,:lér!6 param&eréI:.
Gyakorlatok
1. Ebben 3Z 6cl.ban ~l1ünk egy olyan pé1t:U(, amely egy IlyperUnkField mező
haszru\larjvaJ egy Buy hiva(ko:clst. és egy mjsika(. amely egy könyv boril6képét
jelenítette meg. Hozzunk létre egy oly,..., Gj oldalt. amely megjeleníti 3 Books
tábl100n taláJha(ó összes könp-CI egy GrkMew vezérJ6ben, és rendelkeZik mind
egy Buy IlyperLinkFtdd mcz6vel. mind pt.'(\ig egy 3 könyv borfl6jj( megjelenítő
ImageFieid !Tl("z6ve!. EU'11 kívül \'ál102t3S>-uk a IlyperLinkFi...ld szöv<>g« SUy c áre,
ahol a eim a könyv dme. és hdye7.Zük középre a könyv boritójinak ktpét_
('lipp: 3 könyv borit6képének kö zépre helyezéséhez haszniliUk az ImageFieId
mező I1:emStyl .. tulajdonság~JL)
2. Ebben a Jcck&cn egy ReeCllflll<!nded mezővel b6vílettOk a Book. tJibláL Mi\-'eI
a felha:l1.nilók ~ csak a ",vasalt könY'..,ket ak:orjik megtekinteni, hozzunk létre
egy oldal(, amelyen egy Drop[)(m'nWt "ez(irl6IálhaI6, és II Iis(a Reconunendcd
e\eméhez az I, Not. Recorrunended e\erno!,hez pedig II O 6\t,k t:lnmik. Ez után
adiUnk az old:dhoz egy SqID:uaSource vezt-rl6t. amelynek ROCOiII!Iende<l me#re
egy WHERE :clradé-k szar6kifejezésé1: ~Uitiuk a DropDownList énéke abpjin. VégOl
vegyünk fel egy GridView "ezérl6t aZ oldall""d, kössük az SqID:naSource vererl6höz.
és pr6b:lljuk ki az oldalt egy bön~n.
3. A:L. 6r:1ban It l'l!ZiJrl6ll ad(j(ilt/fJCSOlatáll<lN beállítása dmú részben létrehoz(unk
cgy olyan Q<-'fkeszth<-'1('i GridView ve~6t. amely egy DropOownlist \"ezM6t
használt a Genre mező szcrKesztl'lfelö.lcteké-ru, Hozzuk Il:'trc újm ezt a:t oldalt,
de ezUual használjunk RadioBuuonLisI. vezérl6t a Drop[)(m'IlUst helyet!.
IV. RÉSZ
A webhelyek szerkezete és
navigációs lehetőségei
" kclrc /aT1atmdból.
M",e! mfg llém késZilettilnk több okblból áll6 webhe!yl'l. ill az idefC. hogy ITK:gtcgyOkl
l'ie '':!;rjUnk uonbatl el56 prób;:ilkoz!sullkt61 túl sok:.It! e1.ek a wcbold1bk nem igalin
tesznek 5Cnllnl /u.sznos:I.t, CSlk egy webhely $ZerkeU"ltnck u~nz;i$ir:;a hozzuk ~
őket. E rclt~lc:k melleu aronblln n)"\IgoW!n QahodJlr:;a engedllftjlik a farúzi:lnbL
KI'p~ll,ik I~t el, hogy egy ,nI(!ffietCS kl)nY'....sholtot kéQilOnk
Új mappa elltuly8llÍséhez kattintsunk ill 89" jobb IIDIT1bjával a projekt nevére a Solution
ElIpIoferbefl, é$ Yála~ a New FokIer (Uj mappa! men(ipontot. Ib pedi'l új weblapot
Sl8f8ménk ~ evf mappábal, kattintsunk Bne a mappára a Solution úplorl!fban,
é$ válasSl\lk I kapott menü Add ltem (Elem holláaclisal pont~l
A f~'fui mappák 6; weboldaJak elhelyezése után II Solution Explorer ablaka a 19,], ~brán
lithat6ak szerim alakul
19.1. éln
tIl:"'i} projc.Wt,ll1ldJen clhdft"Z/,lnll
pti, mapprl, és u>eboidal,
-----
.~ .,~. ,~
.---
.---
1 - ......
~:.
--
.j---
lU. an
IkI)'tttII,JJI ri EgI' lij oIdi,I"-~ Q u-«>lwlJ't'ln"'n
Az oId.1l!érkép Iélrehozw után nyissuk;~ meg II Web.lit..,...p fiih, duplin k;lumt ....~
a ",",'be;l Solution Explorerum Az eredményt II 191 pékUboon I1thatfUk
lu okblt&kép egy XML fJ~ (~gy, mini ól web.conf 19), amely webhelyfinj( 1OgOOI,
szcrkcUltt IiroIja. Amcnnyd.K-n cn ;I szcrkc.l:elet meg ~ hataromi. nincs nW
mCgOkUS, $;lj:2.t kczfllcg kdl.swi<CS>;lenünk cll a f~~t. "... fdcdjolk, hogy u. XML f~jIok
s1..igorú f~z1sj SL'Ib1tyoklal rendclkeznck - az egyIk ilyen, hogy érz&cnyck a ki$- &;
rutg)1)Cf(1k kü~ Ez azt Ielcnti. ~. ha ~ <dt......,pNode~ IldycIt hibisan
;I <SlTl!:H4pNode> elemel ~lfUk, n:I\WÓÓI> 1",7.d16ink k,,,l1elt ,,~Jurl.;lk kJ,
Egy misik tgen font~ ,;zab1ly, hogy mtnden elemntk rendelkeznie kelJ n)'116 ~ úro
elemmel figyeliük 1IlCg. ól <lltwc"poo elem n)'il6 rlcn'tc;l 2., mig úr6 eleme a 7. soroan
I:IJ1UI:ol16, A <Ii teMapHocs.,. t.4em n)"(Ó CICmCt ugpn;lkkor a 3. 5JOIban I:II1Jll:I.lf\lk meg,
mig ~demc a 7, ~ ~U A.j és 5. sOfhan tal.:tUutO uiteKilpNode> dc:mrk ncm
rendelkeznek .5Z'Ib1.I)"OII" ur6 dcmmd _ in ól I> tÖlid ",!:okOl használtuk.
Amennyiben XMl·elemilnk tartalma iires, I *6 elemet kétféleképpen is
meglIdMijuk: a hosszú VIiItolat 8 ~DmaoyO$ <elem p.,raméeerl~·"rr"kl·
.. _>< I elo8llt>, míg a riivid változat az < "l..., paraméter1, • énék 1· ... I>
alakban áll.
---
- -- --- --- ---
. '- ~-
. I•
,
-, , .... , ,
li
.... "-
/'
" /'
- --
19.3. an
--
, , • . , ut,
, , . ,
)od, '
r±'_
ii kl
Ahhoz., hogy eZl ~ szerketele! egy oId:llt...... kqx,en IS rög2.íl.5!lk, nyissuk ITI(.>g az alapér-
telmezen okb.lLérképOnket, és töröljOk bel61c a <siteMapNode> elemeket (VlIgyi~
a 19.1. P&Ia 3-6. .\lOI<Iit), F..-; után haladjunk végig a hier~rchián, fcntr61 indulva, lTÚndert
csomópontban clhelyeZ"c egy <siteMa.pNOde> elemet. Ha egy K-sz egy m;\.sik alan
11. lIA • A "obi............. _n..... Mt ..,WutI I465
,elenik meg a luer:u\:tu;jban, be a hou;,i tanoz6 <llteMapt;ode,. demCI
~g)'azzuk
a felette 1ev6be. Áubve a grakortati megv::.l&icisr.l. a Home réSU>e~ tanoW
<II UK;lpNode> elem Igy feM llIajtL
Ha folytat ju k ezt az eljárási. 3 19.3. ábcln !~lh316 össza rt.s5zel , okblttrl<fpünk vC,giI1
II 19.2. pél~oon láthat6 abkot veszi fel.
• d""criptlono" I"
10, <.it~pNod" url.'Piction/Default ... "p,,' title~'Piction'
• description ... I>
ll, <.iteHap!-lode url.'Technology/Default.lspx' titlQ~'~hnoloqy'
• deBcrlption~">
12, <Bit~p»ode urlm'TechnoloqyfCOmputer./Defaul t .aspx '
_ titl,,~°Cc:llllputen' dftacription.·' /~
11 , <.i t~pNode url.·TechnoloQy/KlectronicB/oaf .. ult.a.px·
_ title.oEl.ctronicB' description." I::>
14 , </siteMapNod,,~
lS, </Bit_pNoda>
16, <".1teKap::>
.- 1!I.4. . .
JI _WOCIóf,~ ti Toolbox fJl'ktta
Naltl&<lIlo .. """,.rton, I..IIiIj.. k
'-''''''--
.
-
"..1'".:= .... .. , "'" .....--, • .,
., "
19.5. 6bra
-
A SsreM"PPmh az ,.k1uá/1s oItkl/hoz .is:ro")"",, mon;sulllWtUJim jCiet,;, '''Ql
I>Uris elhel)'enOnk hfil'Qfll SiteMapPath "ezérl6c ASP. NéT webhelyOnkÖf1! Noo, ez. nem
voll '':11ami nehéz feladat. Prowljllk hll kl oldalatnk~t egy böngész6ben -I<'ilhalluk,
hogy a Si'-"~l3pl'alh vewrl6k pontosan úgy festenek, mint a tervező nézetbcn, a mor·
zsaut,-onal hivatko:';\s:lirn kauimva pedig a megfelel6 oldalakrn julunk. ( A 19, 7. ~br:in
a T."hnology/CotnpUten/Deh.ul t .... p" oldd SiteMapl'ath vcWrl6jét l~th.oljuk.)
• Grnenl Node Ultal;ll'lO!> CSOm6POnI) -Ide al. ek5zó ktt úpo.ub:l ~ sorolható
aom6pontok tanollUk. amelyek s:clnu "áJtow lehet. anól fagg6en. hogy
az akluá lis csomópont milyen nlély"n helyezkethk cl ~ hierarchi~b:ln
A TechnologytCOIIIP\Iteuto..fault. aBP" oldal Si\('!>1apJ'alh \,czl,.I6j8:>en
egyerlm ~h~l~nos csom6ponl .':ln: ~ Te<:hoology
Sotc'keolor
lIDr'derStyle
tanaImaua.
pathDlrection A7. t'itvonal ir.\n~~1 ~d", meg. Két én& kö.till ,'Jlaml",·
tunk:,. RoolToCun~lI bclUi[jg ese\bl,. CIOITIÓpOnlok
~~nd" ROOI; > :>Cunent. mig" CurTll:ruToRoot
0101',
. Font
I
470 N. r6&l: • NIYig6ció, feIlIaZn6I6k h, 'ill" az OkIIIIIk .... • .. ,1
-=-"- .::..:..- -
19.6.6bra
.U Au/6 Form", ptlri>ettr<ddblalt
nagy S<'8j~ tI)"jl"'" Sltdl<lPPa/h
,01%érl6l"." //1U'I!SZabdsában
~- -0
Tegyilk fel, hogy egy Jjlogat6 é-rke2.ik imemetes könyvkcreskedtsünkhc KC'Pzc1jük el,
hogy aholll106l eg}'~ szöveg áll. ou kmönböz6 oldalak - üus;nesslklok$ (üzleti
könyvek), Fktion Books (regények), Technology Books (műs:z.aki könyvek) - hivatko-
7..isai SQr.Ikomak. Képzeletbeli Utogatónk mO<\l a Technology Books lehel(i<;égre kattint,
19)' a TechnologyIPef ali l t . aspK okblrJ kClilI. Már itt is tallllul maS"Laki könyveket,
de tcw:jbb 5ZI'lkitheti a tém:lkön., ha a Computer Books, illetve ~z ElectrOClic:s Books
kateg6ri.1t választja. Tegyilk lllOI't fd. hogy az előbbi mellett döntött. igy a bpon old:il
SlteMaphth "e~ allame> Technology > Computer$ úl\'OruIlat mutatja, ts
megjelennek a kerc:skedb S1J.rnit;1stechnik:ii kOO)'\'ei Fell\2SZIÚlÓn.k awnban ruf1elcn
ITIe!!JJOIldolja mag:\t, éli r:lthred, hogy ink~IJb az elektronik~róI olvasna. 5<'l egyszer CS3k
(jgy (,ro. I:lege ...."n II tcdllllHb6I, éli lnlclbb egy regtn}1 venne, ViMzal(:pdelhet
a mon.<;:IuI\'Qf\aJon. ~agy n)'QtIlkodha,p II böo~ Back gornl>j1i" majd a megfelek):
wn,r6I Újra e!indulll:lt az egyre :IoZIlkebb k:llegóri;ik f!:lt. A k'nycg, hogy ~ SZólmiWtedl-
mia; kÓfly... ek oIdab1.r6I egyctlm ugr:lssal képlden t'lbni az eleklJOltikal könyvC'ket
"'8)' a resmrekl"l.
lia ezt a Iehct~ ls sze~ntnk b.ztosít;anl:a sdndra, egy oIy.ln f\lI''ig1ci611 VC'ltn6t
ken haszn.1lnunk. amely megreleníti a teljes "'ebllely ~eretét. Az ASI' t>.'l:." klwctke-
l.6kben ~ut;a,on ,'ezl'1i6i - l l TreeView k a Menu _ tppen en teszik
Sz:1njullk r.i pir perttl, &' ntzzük meg új old:ilunkat a bÖllgts.l:6nkben (l1sd a 19.8.
ilbr.ít). Pr6bIoJjuk ki a TI'<'eVI<:\\ 1o:he1<'55égcIl- a f~I)Q1l nerepl6 hiv.!.tkoz.1sokr~
k:m;nMl VlIl6ban e!;Ulh:uunk wC'bhe!)1.lnk Wrmdy pontjira. Azon ~,ok bal
oldalin. amelyek rmdelkeznek grer~kekkel. qy., ilIet"e - jelet ub1.lunk. amellye!
mC'fIIclenithl"!Jlik, ~Jet\o't' cllIlnll"lhetjiJk a gyrnnek....!oOlnóporuo1aL VegyIlk &re an i5,
hogy a Sne.\l:I.pO:ilta.Sou.n.'t' pe~ffio:k .semouJyo:n közvetlen IitJulÓ ie\& nem u~-
talh:ujllk II böng6z6ben. Ez persze rend~n \1;116, hiszen ez a vezérl6- hasonloon
az SqlDalaSour<:e-hoz - CSlIk ~(L~tobt olvas ki a megado!l forrlsból (ese\unkben
n oldall&képb6D, és nem ielenik meg 3 JiTML"k6dban.
; \ "... ,~ .
0-· .) ..'!l.t'.,
~.,_"" .. " ••, F.... " .
lOti "'"
- -eo
_ -
.
'll(
.-.-...
.... _ ..................1
--- ~~
_.
"- e ..
19.8. 6bre
A 1h>eHew sn>rllezer" talmlzl .." oldtIIICrlIép laOTaJmm
A Properties ablak Styles rész~n t:ll:1lhatunk még egy !.evelStyl", f\e\'O tulajdonsá·
goto amely lehet6vé teszi, hogy a megje!ené$ SlCilu~t a f:I nint;eit6l fiigg6en illí!5uk be.
Az els6 szint a gyökén:som6pomoké, a m:í.sodik ezeknek a csom6pomoknak a gyer-
mekeib61, a harmadik ez utóbbiak gyermekeib61 ~II, és igy tOY:ibb. Ha szeretnénk
különböz6 stiluSl adni a szimeknek, kanintsunk a Propenies ablakban a t.evelStyl".
tulajdonság mellett;, Mrom pontot. t:l.nalmawgombr:l. így 3 TreeNodeStyle Colketion
Editorhoz jutunk. aool meghatározhatjuk 3 szmtek stJ1usail.
Az Acid gombr-J kanintVlI új szintei helyezhetünk (1 3 baJrn taUlll:1.l6 li,;tában, a jobb oldali
1~b6l pedig a rnegje\en6;hez kapcsolódó tulajdonságokat v::IJamh:ltunk. A baloldali
lista Icgfels6 szinti" a fa cls6 szint;álek (3 gyökércs0m6pontoknak) felel meg, felOlről
3 niliodilr. a fa misodik szintjének (3 gyökércsom6pontok gyermekeinek), bo így tovább.
/!. 19.9. 1bcln a TreeN'odeStyle Collection Editor p:l.l'I.locsz&bblakOlI.1thatjuk egy olyan
Tret:Vj.,w '·"n.'rl6ve!. a,,~lynél aZ eb6 kél szint stJ1usait ~Jljtot.tuk be.
A Properties ablak StYIeS rt5zének tulatdonsigai mdk1t jó ntlúny említtsre (:rdemes ru·
lajdonsiigot tal:ilhatunk az IIppearJnce részben is. Tennés:zetesen felfedezhetjük a szoká·
SOlS elemeket - ~ckColor, CssCluB, Font Slb. -, de ~-.l!l iu pár oly::m IUlajdonság is,
amely kifejezetten a TreeV-teW vezérlókhöz kÖl:hetö, Ezeket I:1thatjuk a 19.2. tlbljOlóltOOn.
474 I rv. nh:z • NIvig6ci6, fIIIaZMI6k kr.! If n az OkIeIek ... ....,. ' 11
" .--
D
•
19.9. MIra
~. T",,,,t 'Iftt. ,ezb{ó Slílusa;.
co II , .... ".",*",8 CJtll< ftZ eiSIJ IM tt;'"
b<JáIli.tfs<./t ad",1l "'''8
Tulljdondg"'v
CollAp~elmageTooltip
"',.
E.l:rel a ruLajdons;tggal egy It'beg(i leíclst ailllatunk meg,
EXpnndlmageTOoltip amcl)'eI 3 felhaszrúJ6 akkor l~t, amikor a~ egérmutatÓI
egy <:oom6pOIII melleui kinyil6, illetve l:oez:'ir6 ikon feleli
unja. A lula~g tnékében szereplő (Ol karJklerl:\na:>-
kal a rendszer a kérdbes csom6pom f>E'\'évcl helyeuesJti.
Igy ha aZ ExpAndllM.g<>TOO] tip lulajdoosjgnak
az ExNnd l O) tnéket adjuk, a böngl:sz6ben az • ExNnd
Hane" buborék jelenik meg, ha a felhasmál6 a Home
csomópont kinyil6 ikon", feleu Unja az egérrnutalÓ(.
(A buborék apr6, sjrga h:\ut.'fiI mez6, amely rö\id leírásl
ad II wcboIdal 3zon leriiletér61, amely felen 3 feUllIszOO16
az ~t6t t:utj;l.)
CollapselmageUrl Ez II tulajdoo'>ig adp meg a gyermckekkclll.'1ldelkez6
e:<pan<HMgeUl"l OlOOlÓpontok kinyitás;thoz o!'s /)ez:'il'á.'>ihoz rendeli ikon,
NOExpan<1ImllgElUrl V2laminl a 1evt:I~m6p:)fuok kq,f:ójlj!inak 1JRL1é1:.
A kinyith és bez:'ifás ikonjolt 31.: IlII4geSet lula~Wl i:i
meghaúlQZhaljuk.
Ez a lulajdonsig Iehelő...é teszi , hogy magunk határozzuk
meg, illetve ~laSS2Uk ki a TreeYtew \'e~ haSUl1l!
képekel. A Custom énék beáIlMs:iV21 (ami egyébké-nt
az abpénclmezés) magunk adhat juk meg a képeket, illetve
vilaSZIhalunk az el6re meghaúroZOll képös.szclllí~
közül.
NOdeIndent A Trt.oc\"IC\'" ...ezérlő szimjeinek behú~llllltároZZ<l meg.
Alapénelmezeu énéke 20 k41pont
111..
. .w.. ,*..w.c." !W. Ii I " 'st gC . .
• A·u~ ',"'1",
- O-
0-
19.10. ln
Az JI,,,O Formm pdrbesúdahW/tIraJ
lIórrnyodcn mddosiJhQ1jr4
7m\,...., ""....161,.
~
Ilouunk létre rnoo;t egy Menu ,'e;:érl61: a Fi,,~ion mappa Default .a"px oldal:'!n.
;>iyissuk meg az oldalt ~ Visual Web Developerben. helyezzünk el mp.a egy Site~bp
!):llaSűurce vezérlŐI. II13.jd ('gy menüt, Ez ut6bbin11 adatfomisként jelöljük meg a Site-
MapD:IIaSource-1. EZI a lépésünk~1: követ6cn a m<-nü tan~lma a tervez6 nézetbcn az
oldallérképnek megfelel6en alakul. A1apffielmezk szerint II menüben a webhely
hierarchi~pnak legfels6 nIntil ek'fIleill:ithat)uk - esetünkben egyetlen menüponIOl
kapunk, el a Home.
B_._ , • •
-~~
T..-.,..'i.c:-.
'I'l00 . . ' ' ' - . . ' ' ' _ _ _ _
19.11 . ~
Az Imldmto.y" 1/0_.
lehet~g!lnk ,,"dn alT'J is, hogy meghactrozzuk. hogy n oIdahéTk~ tdny szimi<"'-
tekint5e ~tikusnak a rendszer- erre szolglíl 3 menil StaticDispl!l;'Levels
tula~ga, a melynek alapbtelmezen érreke l Ha 2-re v~llOZlll.ljllk. a böngész6ben
$l;atikus cJemként jelennek meg az 1 6; a 2. &zin! elemei, vagyis 3 HOIJle ml"llet\
1:!t1L11Ó\-:1 v:\1ik az About. az on Sale, a BU5lness, a tlCtiOfl ts a Technology menüpom is.
A 19. 12. ~br:in ezt a helyzetet !~\hatjuk a Visual \l,~,-ob Dc\'elOpo.!T t"rv" 2/1 nl'z('lí-ben.
18. n · It. .. .til..,. ..... "III'tiger.WWf 'gli Im
18.12. ...
._._-_. •
JI ....",11 <oz oIditllCrirp
hifmm::hidjd"all .>to6 lIéI
sz/mjl1 m,ulUjtI .,,,,;11"1""
• ,.. 4il
_ _-
zeL
19.13.6bnt
........ ... AZ ItllAlitalcl. I.of=(mes
;mtl)t>a" luUód<j ......."1f"(>
amomaflltol$ formiJZ1J51
aiIMlmtlrl''''''
StatiCEnableDefault:~:"",:~,~,~~::,:.-;--~~~~:~"::,,,,~.~,:'~~:gjelenjen-e
az almcnOk mellett v:!l amilyen kép (alar>-
értelmezett értéke True). A 19.11, ~br1n
a lIome mellett; nyíl ikon jelenlae ~nnak
kÖSZÖllhet6, hogya StlltiCEnllble-
Oefaul tPopOutlmage értéke True, míg
az About és a Technology melletti nyilak
a DynamicEnllbleOefllultPopOuUmage
True értfke mi.:m jelennek meg.
DynamicltemFormatSt rinq Ezek a tulajdons:1gok hlturozzik meg
Stat;cItemFo~tStrinq a menüpontok növegét. A (O) $egftségé-
"eiu in alkalnlltzolt feliratban elhelyez-
hetjak az oldaltérk~p megfelcl6 r{~k
szövegét. Ez "ZI ;elen ti, hogy II ViRit (O)
megadá.sa t:$CIén" 'Vidt Budn"."
feJir:llOl kapjuk (a "BusineBB" helyett)
a llusinCM mcnüpontrdl.
19, 6rI • A .... abhIIywk R8!Ul8te " lIIYig6d6I ~ 1479
,
mellett;
lala ,I
Sblikus S1lnl is jelen wn, ezek egyntbhoz
képest. ellolva jelennek meg a képernyoo.
Ez:l. lulajdonsjg hal<'irozza meg a sutikus
menöpon(ok és ,. stalikus almenöik köZl;
elInUs mérték&.. Alapénelmezeu énéke
16 képpont
Orientation Megadja. hogy a menü \'[j:sz;mes
(Horl .0ntaL) ''agy függ6"'ges
(Vertical) irá nyban híiWdjon.
DynamiCHori .ont"lOff .... t A menöponl jobb .~léle ts a hol.Ú tanOID
DyruunicVert !c"lOf f set ahnenö bal szegélye közti tivolsig<J(
adja meg ( de m.b h-jny eselén lehet sz6
a menöponl al56 és az almenü fe~
hallrán.ak (,'i\"OI~g;j.r6I is) Mmdkél:
lubjdonsiig abpénelmezett &téke O.
Logikai érték, amely megtla[jrozza. hog}"
a menöponlok sorai törhelnek-e.
Ala péne1mczffi énéke Fala...
••
Osszefoglalás
Ebben az 6ci.ban megtanultuk. mik("'l építhetiük fel webhelyilnk szerkeze!.d (,$
hogyan biztosíthatjuk a n3v'g::ld6s lehet&égeket n oIdallérk(,ppel és az AS1'.NET (jj
r"I:l,·ig.1ciós vezérlői""!.,u oldahérk(,p egy XML fomútumu fajI, amely leírja 3 webhely
SZérkeze'!(,{. Késri(~l ('TdenleS elóbb rcJ~zoInunk a webt.ely (e",ere« 57.e-rkezeld
(en lC1tük a 19.3. ~lrln is). és csak eZ u!:ln nekiesni az XML-k6dolMn~k
Amim elkbllteuük az oldallérk~, has;:n:ilalba \ehe\jük a rulvig.1ci6l!; \'ererlőke\.
A SileMapl'alh egy mO'7.:S,U'tVOfl:lI3\ ~d, amely megmutatja, melyik oldalon tart6zkodik
II relhaSl:n:i16, lov:ibbi v;irol;" a helyét II webhely hier.m:hiájioon. A TreeV"tew és
a Menu egyamm a leljes oldaltérképet jelenítik meg, mmdössze ennek módj:iban
lérnek el, Ahhoz, hog}' ezek II vezl'rl6k \'lIJóban jól működjenek, el kelJ hdyemilnk
egy SileMap()ataSo\!rce adalrorr.i5-velérl61 Í.'i az oldalon.
Kérdezz-felelek
K: Miérf k6t'f!ll!li ""'8 I'Z ASP.NIT. hogy az oItll'll&I«fpcr ('g y biumyos, megfoIcl&t1
fom/aZOfI XMLfáJflxm hdyr:zzrlk el! Mjlleg).l"illikJiJor, ha ezek az mUlloA!.
eXJ' adat~tx", longl' qo.' ~Jál XMLfdjl/xm laltjlhalók. t"'R)' exJ'SZ<'1'Űelr
"'Chlle/pl,,iI mappáit 1iZf>1'Ct"hrill'lapul ~l(!Iml, 6s "em aJmnmil az oIdalrérilép
fdjljál/ak /éfl1'lwzil.5Óml bajl6tll/i? E..."l:k szerilll Nyel/kor lIem haszná/I/aljuk
az ASP.NET "al~gáclá5 t'Czérl6il.'
v: NO/i, az ASP,'1ET lehaő\'é t=i a fe)les.zl6knek, hogy sa~1 fonn~tumú olda hér-
k.-,:.eka h3sználjana.k. Ahhoz 3W1loon, hogy ezl megteg)'ék, el kell kb,zíteniúk
egy oldalti'rki'p--s7-'!lgáltatÓl, vagyi!; cgy ol)'lln osztályt, amely elmondja az
ASPJ\' I:,-nek, mIként juthat how n okbhl;rkép ~du~iltoz. A7. abpénebnezell
oldaltérll:ép-szolg:\ltal6 a kor:\bban bemulalOll XML f:ljll ~ fonn.1lUmot hasz-
!Úlja, de semmi ncm akad:ilyoz mcg abban, hogy saját szolgáltatÓi kén;t~iink
Az egyéni oldallérkép-srolg:lltat6k k~zí\ésénck b, hasmál~~n:lk m6dszercir61
nem sz6lhatunk ill bővebben. Ha azonban érdekel Cl a L':makór, n:lg)'szenl
oh'llSnt\'lIlót tal11hJtunk a ht t p, ! l lUdn,micros o ft. com!l i brary / en-u a!
d""spp/html/ex tnds i tenv , asp b a h ttp 'l/m ad n .lItielCoeott , eOfflJ
l i bra I)' I en- usl dm. spp / htm l l <:Ull t s i t _ p , a .. p dmeken.
K: A fejezelbe>t I1'ngelt'g t'ezérliJl helyez//ll/k el a u'Chhel)11/1k oldalain Ha az/
szerelnb/k, hogy mf"derl tt'l.'bolt/"Ioll szerepe/ftm <':!ll' .\fe" " tlU&;' SildlliPPI'IJr
t'<!Zbió, mJ6Jxm egJl'nkbrl át kell ínum. az okfall'Nat, t~l' létezik m/amilycn
t'gJuen1bb módszer?
V: lb egy webhely &.:<zclllílhin fáradozunk,1!tal1oon azt szeretnénk, hogy olda-
laink cg)'séges képet mUl:lSSan:lk - például mindegyiktIk tetején Olllcgyen
~ f6meníl, Persze nekLilllutunk ~ felacbtrulk favág(') módj:íra Í.'i, egyenként SOJr.l
véve al oldalakat, és ki3IJkítva a kívám &.szképet. Ez a hou:'i:íllis uonoon
19. ón • A uuebhelvek-uz..ta" ~ Ieht~ 1481
Ismét16 kérdések
1. Mdyen nevel kell adnunk a>; oldaltérképet tartalmazó fájlfl;lk?
2. .AJ. oldahC,rkt'p f~jlj.'i' webes projcktiink ~rrnely mapp~j.'ioon e!helyezhcljük."
Iga>; Y:lgy hamis?
3. Milyen tulajdonsigokat érhetilnk el a <e1 t eHapNod',> elemben?
4. MJlyen vezéTlőt: kell dhelyeznünk weboldalunkon. hogy a Traoview, ~Ielve
a Mcnu "ezt'r\6 wlóban II ...-ehhely szerkezet"', ábrázolja?
5. .\1; a kűlönl>l;ég a Menu vezt'rl6 statikus és dinamikus része köZÖl!?
Válaszok
1. Web . a i t _p.
2. Hamis. Az olda.!,t'rkép f~jlj.'i' a gyökl'rkönyvúrban kell elhdreznünk
3. A <siteMspNode> lulajdons:1gai az url . a title. ,,,lafllJn! a de ueripüon.
4. A SileMapDotta$ource vezérlISt.
5. A Menu vezérlő statikus része mindig UtQ.ik a weboldalon. míg 3 dmamikus réu
esIk rdh:u;w.i16i be:lV:ukoÚ5'" jelenik meg
Gyakorlatok
1. Módosrtsuk a lecke soron elktszített oldaltérk:<!pet egy új Books (kön~'\"ek) rész
t;oe'·ezetésé-vel. Amikor e1helycu:Qk 3Z (jj jövevc'n}1 az oldaltérkfp f:íjljioon. Ile
adjuk meg az ..,rl IUbjdonsjg Ml>kt'r..
Helyezzuk j, a Business. 3 ficuOfl és a Technology részeket: (alárendelt eleme-
ikkel együn) 3 Boolu 315. majd tegyük meg ugyanezt az On Sale résszel is.
Webhelyilnk ~~crkew:t'r. m05l ~ 19.14 áb .... mu"ula .
w IIV. ,.. • Nwig6ci6, '" eM kw ti I" II OIdI6Ik ...... '
on
1••14. ....
II Uft:IItftY U<',.2ifIi d ~ .m /lnn-LOdd"" .. UI"
2. Ebben a leckében C$ak ~h.iny:u ,smenflnk rm-g II Menu \'~zér\l'l megjelcnb&
5UWI)'Oz6IUl:!.~l!Ok kÖZilI. oIyann}ir.r., hogy a PToprnic:s ~bbk Stylc:s résl~
teJp.en kimaradt
HdyezzOnk el "KY Menu (~ per~ze egy SiteMapDataSource) ve;d;rh~it
11 Lellal ..."pX oklalon, é$ módosltsuk a stílustuI3jdo~80kal, nyomon
kö... et ... e mOveleteink hatJ~1 11 tervez6 ntzelben. illetve egy böngéulil:lt'n
megjelenílVe az oldalt. VtgezelOI próblIljuk ki 11 szinlek kezell-sét biztositó
tul:!.~gokat is (t.ev.lM"nultemStyle., Lev"lSde<OtedS~yIe~ ~
LevelSubl!:.muStylu) -1~tll;!IIUk majd. mennyire ~n1juflllk 11 TreeVlew
\'ezé1i6ntl megL'mxrt l:lts:oikr.r..
20. ÓRA
Felhasználók kezelése
A lecke tarralmáb61.
Az azrmosflÓ adatok mellCIt persze máJ; egyebek megadIsir... is sor kerülhet, így
a ke=kedkeknfl fel kell tOn{ctnünk a sz:1l1ítási k sz:1ml~~i dmCI, míg a lxmkokrdl
szükség lehet a szimlaillm, a TAJ szim és máJ; hasonl6k beíris.i..~. Ha felh.otszn~l6í
fIÓkunk elk&ó:rilll, ~ webhelyre azonosító adalllink m"gadlsival jelentkezhClÜnk be.
Ha webhelyiink Ilimoga!ja a fdhaszntll6i Bókokat. valahol tárolnía is keD a felhaszn..116k
ada(ail- el. a tároló pedig legtöbbsz.ör egy adatbM.is. Ilyen esetekben a webhd)-ek
jellemz6en egy Ufoer.j (v-~g)' hasonló) llC\-"tl ~blát használnak n ada(bizislxm. amely
rögzít! a létez6 feih.otsLn..1lói flókok:ll. A tábla O5ZIopai :lltalál",n ilyen neveket viselnek
Usemame (felhaszruilónév), I'a,,,.-word Ueisro), Email Stb. Ha al. ada(b1zistább elké5Wl~
a felhasznil6i fIÓkok létrehozisa ~r ~'erelcJiték, hiszen mindö:5.5ze egy ASP.NET oldal!
kell késziteni. amel}" elkéri a fel.ha=lá16 adnait- a feIJI:Isznil6nevét, a jel$Za\'i! és máJ;
eg)-ebeket -. majd tögzíti azokat az adatbizisban. (Az adatbi1.isrekordok bes;r:úr.isir61
a 16. fejezetben tanultunk.'
-
-- --- _... -
20.1. jin
II"'cbird,"Ol .... bcdU,IásáI,,:r ASPA1:.T
lI"'o!/>:rill' Mm/nisi,.";",, ThOI
......hIWwi ,~}IUI fl
..
_--~-_
_.od_rt
.. _._-
..
,
_-_
.... --_.-
.. -
_._-.
........ --- --
----
- --
2(1.2. in
A u ...bhe/y bizto'LS4&1
l1c.I/Jo1áwll (l 5«,,"'/)'
"'-pcn'y61' adhntft·. ""'8
I "~
.
~ ..... _-.,......,
0-,..)
••• ,, '"'r
~.~
•• _
-0
• • . . ,.
_.. _---
._--
..__.... __
--_._ __ .... _
.. _-_
... _.... - ...
.....
---_ -,,--_ -.
- .-
--_._---_
-_._
__--
---_._----
_ ...
.... _..
.... _. _-- ,,-
...
............. 20.3. ""
Az dlml.. 141""'" bM//lltb
anim frIhasnu11é1 ".II
<u' l~forlteI~
hozzd Q 1Ie/ollo~il~
Vi~g:iljuk fTlO$I meg ~ klpoll A$P1\"ElDB ad'IIWns Illn"lmir.. láTjuk be IZ ASI' 1\"I;T
Web$'le AdmmistT:ltlOn Tool abb ldl, & té1;Unk \"iMZa ~ \ isual Web De',elopcrhez
KJtllnLSunk az egér jObb gombji''al il Solution !;xplorer .>.pp_Data mapp;!j.i,..~. és
~1J<S1.uk il Refresh Foldcr (M~ppa frissít6;e) I1'IenOponlOl. lia mindem Jól v"ge~Hlnk,
a mappJ.ban megjelenik ~Z ASf>NE'T'Im.MDF ncvil f~11. Viug,iljuk most mcg az úi ~dat·
l»ZIS I!iWil il [);lIabase Exploraben. ~ II Wbat taUlunk. amelyek Iehet60égei
jOcI.Idn tÍllmut:.lln:1k ;tZ egYRC'I'Il feJhaszrúJói rlÓkok kezek.~.
_... -.._.
- ---
----
_
....-_
--_.,..--
-...
...... y .... _..."....
-._-
--
l __ l
20.4. jin
{J fdhasnui/ói fi6lll ~l
AlllJkor új felh.aS7.n.:i16i rJ6kO( hozunk létre - aHr a fentjek 5Zennt, az ASPJ"'ET Wcbsite
Adrninistration Tool segílSégél-el. ak1r a webhelyen keresT.tOI. a Cre"Jtel1serWiZ:lrd
wz(,r!6vel (ÜS<.! kk6bb." Felll(l$VJálóifiókvk /érrdU)Z<'jso a w<-'lJhcly felllletbJ timú
rkzben)~. " rcndw:r elvégez n('hány "d.:lteUen6a6 ,~z.~íP],.tot. MuldellCkelőtt
20. 6nI • rA . 6U II 1489
_._-_._ ,-_
... _.. .. _-----
_._----_ -
.. _----_._ ..
.--- .. _--- ... .....
.._~---_
..... _-~-_
_-
. --
- - -- - . ~ ••• I ••
... ...
--
~-
A .11/1""""" u.n
~,I~ ne,,,,,,,",·
Mlpllr " Itlt(JIMlj,,1r
.. Nhda,wl/44 ~I
Managc roIcs (Szerepek létrchoúsa v:lgy kezelése) hiv:llkozás ~d módoI. A 20.6. ~bdn
a Create or M3nage Rolcs kl:pernyŐllithatjuk, az AdminiSlr.uor és a Non-Administnuor
szerepekkel.
2O.S. 1ibra
Kél ttert'pCf hozt''''. ktm Q ren,lI.u-roen, .,..ci .. z Admfllls!mlOr és Q /I""-Adm,,,I5/rmor
- -~
-_ ........-
• • , • • , • • , ' . ' • • ~I~I.I • • • • • ' ..
-
2O.7. 1ibra
ti SeOl' ...,.:rI f'-"luJsvláfdl az MmlflfssmlOr szcrcplu:z "",lkInl.
II Manage users k~y6n;lZ eI6Z6ekndC q-,pm a fordirnupl I~jilk meg: 3 felllaSl-
n;llókhm rmdeIhetilnk nerepeket (Usd 3 20.5. ;Í!rll), Ehhez C5;lk a kljdöll felhaszlÚló
melletti Edil rOIeS (.~zCft1X'k S7.ffi<emé5e) luV".lIkoUsro keU kattimanunk Igy /lQuJju-
mnk a sze~pek lisúphooz. ~mdyek alkalm:l7.:.is:lr61 ~ JlOwluk urtoro iclöl6ntgywek
beka~V31 döflltJelÜnk.
--
.1ehasm6l6t", lMepak ~ ~ clll.lIl ..pnetc_UIIlOUlnJ{ol ....
---
,-
..
..- -
._-
0-
20.8. "
",*,>, ar "bIlIIlix'" hmdrozlllllj,,1t ""'II a wi'blw/)' "''''flPJ!",,1t hondfon'sl u"b6J)<l!/
II hozzM~ szaU11yok megha~l'OÚS:ihm n)'I56Uk meg a Securuy ktperny(lt, =Jd
Ianu"IlSIJnk a bal alsó $;Itokban ~IÓ AOC'eSIi Rules ( llou:ifert:si szaU1J)'*) meU!
Cn:a... ;a<;'C'C:S5 rules (HOWI~ ~ Iétrehoz:\sa) M'3tk~, Igy I 20.8 ;ilir.in
I~IÓ abbkba jutunk, amel)ilen 1o\;iJaszth:;(IJllk azt a nupp1l, amd)~ az Ilj houJ-
féJéSi :=~I}, alkalmazni~, fTV!8"dh:llfUk. hogy II szabály egy 5Zt.'repf"t. egy fd-
hasmMóIa.. nundo..'I1 fell\;lWÚlóra, '"28)' C$l.k II r*vtden felhasw116kr.1 von:Itkotik,
";damint dönthetOnk ~rróI. hogy II szabály en8~I)'Cue '~~gy tiltsa a houáféré5l_
Ml"d a ...-d>hdyen az aJaptnelmeun AppJ)llot ,-n khill nino; m;ós mappa, oem~.cln
:KlIllIrunlc meg 5m1JTl'1yen é1telmes hozzáféresl5Z:lbil)', h:tcsak nem a tel,es ... ebheIy
elér6ét abrjuk korUtozni. l2ht tdt helycUilk d pro;ektünkben U AttInin &. a Users
nupp:il. 1':e tön'SdjOnk rnO:SI a megfelel6 webo!dobk clk~'~e1,.,-rre i~ ~ kenll
hamal"OlSan. M06t csak képzeljük cl, hogy 3z Amin Ulllppa webo!<;blai\ a7. Admjni!;lr~tor
"_r.
..ren:p 5tiinúr.l. sttret.nblk elbh<..'1ő\·é l<:nni. mig II mappa t2ruJmlnak dér6ét
nunden bqdenIkczeu fellJllSZlÚl6rok engedel~-ezzük_ A kM\nt JOSOk bIl:tOSitlslhoz
" kÖ\·etkezóket kell tenniInk:
A Iogibo ~ tIiIi*1 Mva taWlwtnrok egy apr6esb ZaYÓ I~I • lenti bd&-
tisok közön. Az Admn511atOf szerep IIIIIesznM6i ugyanis btler.tolnlt III .Osszes
~. haIrrIadbB. Hi! teMt III egyik lIlIbMYt.ri; tT';lId"'III.1hesmM6nak
~ '" hozzM6Ibt. mi4n teMCI kivételt IZ AdnWotSlralor llafeppel1
A m&gyiWWI tQVllIIlÚ: III ASP.NET '" szabályobt telülróllefelé hllladY" dolgom lel.
EI6UOr ell, kén"st liM fel: .A flltaszn616 III Administrator lzetep/lez '*"Iozik7
H", JIIIII, "'"'-ti • mappát: VIIQYlS hl • fe11aszM16 SZ8I'epct ~lIII$lfator, lIlOfnaI
1mdI6I. mappa lMIIImáhOL HI nem. III ASP.NET 1o-i6bbh1l1d," f"'eszi
,kMtkel6 klfdist..A ltIJ;mniiÓ beme VInil 0$$lB$1eIIeszMI6~?
HI JIIIII, nem értIetO II , mapp6t.'
20. ft • fil M6t k " IUl
Ha kJ\'~la51tOlt ffi3pp;1nkr~ vonatkoWan ,00000i szeretnénk a kodbbi WI~lpink.:u,
vagy módoIillani a sorrendjüket, kaUinbUnk a SeaJnty képemy6 ;\bnagt' access rules
(HozUf(~ $Zab1l)vk kc~) hiv:l.lkou.$.Ira. A meg,den6 ablak a kl\':lbsZlOll
Il'I2ppa howf~i subAl)":!" soroIp fd - ke<hilnkre törölhetjük a h5ta elemeli, illetve
:itrendezheljtik nobI.
A _ l y SMTP-beállltásai
AIllIflI a kl:56bbiekbcn litni fogjuk. az ASP ~ET cg)"Q ~ \'cztrl6i ~
adnak ddotroru\rus Ie\'dek kol<.lbére. Igy ptkbul a Cre:i11!'l:!;erlrIzaru \"ezérl6l bdllidul-
juk úgy, hogy ammt a fdl~ló léueho~.egy új fIÓkot. aulOlTl:ltikuSln lapjon
egy le""kt. amely talUlmaZZll a fdh.a!:zn!It'!né!'\'d, a ;C15z:l\';H é5 rruis adatait Ahhoz
3Zonoon. hogya levél \alóOOn rellXl ("*". eI&zör a webhelrei kcll úgy bdUitani, hogy
kq,e" 1c8)'CTI je,.·elek ku~, szerencsére a a rnm.-elc:t is el\~6:1Z ASP.l\TI
Web5lle Admmo.suation Tool ~Ölé\'d.
• Security tBi7.tomJ.g)
• AppJia.tion Configu~lion (AlkalmazhbcillkMolc)
• l'ro\'idef"Confogu~tion (SroIgiltalóbdlliWok)
-.- --
__._--
.---"--'--
....
-
- _,---- ,
----~-
......--
._-_
--- ....
---'----" _... 2'0.'. MIllI
Effn az OIdNOn odhalM .....,
"tlWhdy tkltlronJJrus ku,I.'Zhf
bMJludwll
~-_
- ....
-
...
•
I"
-- _-
.......,..
--
----
-
SzJnjunk l"i eg)' kIS kIo5t. b PfÓbIIljuk ki új H'lhiOOket qn' bOngéSZ6ben_ ArlUkor el6-
.SZlIr az OIdalr.I trkt'zünk, a Stgn l'p for Yuur~· Acrounl lépé5t 13th:;u,..k_ Az. adotok
beir.lsa és a Creatf: user gomb megnyomha uUn a Comr'ete Itpbhez junlnk. amely
UjclI;OZUI a fIÓk dkbzOlttrOl A ~ amdJen. hogy Ittrehozu az új fl6kot. azon
n}'Otnban be IS Iqxeti a felhasuúlót_
/I Cornplete I~ üzenetc nléUell laJ.ilunk egy Continue ( FolytaLls) gombot is. Il, ll'I06I
mcgnyomjuk. semml...em tőrtl!nik lb aZ! szeretn('r1k. hogy ennek a gombnak a r'I'It'g-
n)'Ollkls;ival a fell~1ó az :l.ltalunk megh:l.I:1toZ01t 0101311'3 jusson. csak ~djuk meg
a kív:lnt URIA a _'t'zér16 c-,,"tJ,,,..OUÜ""t i".,PAO" IUbjdons:i~ban. fgyllttnl kl!!
"d>tJ,elyOnkOn.legmlclbb a Default .a"PX okblra 5leretrIénk ,·~témi. «61 adjuk
mes e1.l: ~ fent emliteu IUb,donsig e-nt'kd...:.'f1l.
A Creat,Us,rWllJIfd vezérl6 testreszebása
1\ Cre-JleUserW,z:lI'd ,,,zérl6 megjelenésl:ru>k tesucsOGaWs,1rn tulajdon.s:igok egész
"",codli>:ill rendelkeU5űnkre Hogy némiképp rendel v!gjunk közll1k. MTQITl
a;oponba 05ztjuk őke!,
Security Arulwer: .)
An.wer Az eml~kezt~'16 k6dbre adoa dJasz szön:gmez6.-
fklek keWeli tarulmlt adp meg. (Alapértdmezell
i meg,
ha a felhasználó nem meg a reihasználÓIlevet.
(AlapéneJmezeu ~It~ke User NaIM ia requ1red.)
Pas""",rdRequiredErrorMeaaa",e Ava hib;iüttn<:let !<iru/j:!. ami akkot jelenik meg,
ha a felhasználó nem adja meg a jelszÓ!.
"<8;~~~~~; ~~,---
levéldmél. (Alapértelme7.ell &t~k.. E-IMil is
...
required.)
498 l rv. réR • ~, 1eIleIzMI6k kIZ 'III N IR oIcWIk.noonke
A helyzetei. ~1taL1ban úgy oldjik meg, hogy elektronikus levélben elkiildik a véletlen
jelsZÓ(, a megv~h07.tatislihoz szilkséges útmutatisokkal eg)'etemben. Erre szolg:tl
a Cre:ueUserWizard vezérl" MaillJéfini tion rulajdons;'ig-J, amellrel a fiók elkészilltét
követően levelet kOldhelilnk a relhasznjlónak.
Elektronikus levél kOldése • fiók elkészíiltét követ6en
A Cl't."lIlcUserWizard veO!t'rl6 haszrdla!:in:iIIc:hcI6so!günk van am.. hogy II fiók IttrellO--
z1s.1\ követően elektronikus leo.'clel küldjünk II relhaszNl6ruk. all"lelyben közölhClltik
veok. ~ felhaszNlónevét,je:lsuvil és a rJÓkk.:;l[ k:opcsolau:lOS nW; uImUl:núob\ és
:i<btOlW. i\lindehhe:t p<:.ue Wlksfg '"n am.. hogy ....d>htlyiinluőlludfUnIc If:\'cld:a
kOklen.i - t-n6I rrdr.'lUx qlcuOnk II u-eblwly S.1f7P·~illilásai dmsz6n11
Gondoljuk <sik d. mit Íl'l"Unk egy 01)= felhaslnilóNk. aIUl eg)~ cpk II 1lC.'\'tn
~ uólil:I.m, és meghívni II webheiyünkre. Ilyen qn:v.enl5ZÖ\qeJ üzenetre
mola! P&Ü1 II 20.1 ptkb. Ib komol)'ltbb Ozenetel szemn&lk küldeni, ~k egy fel-
~ list1han megach." II felhasznj~-.:t b a jdszót, J-ITMl fljk készhllffilnk
II 20.2 p&Hban s:terepI6 t:lJulomnuJ.
""
" -<body~
ll" <hh
II, <.pom atyleo·""lor, t9'fle: , '>wd_ to Ily webalt.,I<'_pom>
I
500 IV. rMZ • Naooigá;i6, ilii...,. lW 'f .. Il OIdIYk ,",.".f
12: </h.b
13: ~p~
"" . . . . . __ l_ _ ...
.. -
" •
--~
Welcome to My Website!
20.11 . in
If ,.,., ~ " c..-t-. pIMM.".1 "* III n),e" és ehhez htlso,,16
l1l\I,""",,1 cqm
azenl'll'M 1dI1dhl:t""fl
az olj ~ blrroItosdf"ak
20. ID • NIl ... k If 1501
Amlnr a 20 12, ~br:ln L1~'ruk, '" Login '~er16 k<:t ~Ö\'rgmeUlt I3rtalm:ll., amel)'ekben
megadlutjuk ~ fclhasznil6ne>"et ts a ~15zól. Emdleu bthatunk még egy ~)('f Me
fl;t'1I:l Time (Emlékezzcn az :l<buirllJll> feImul! ~~~et is. Amennyiben IKjder\l-
502 I IV. mr . NIvig6cI6, fIIIIIl.nti h l 'hl ib az OIdIIIk ....... f
kez6kor a fdhasz.n~16 elJ nem kapcsolja be, csak a böngésző ~d()1t munkamenetl:bcn
m:lr.l.d be)elenLkezo,'e 3 webhel}'re. lia :uooban bekapa;olja. a rendszer bent CIMia
a .... ebhclrcn, h;~1» indítja (íj ... a böngésZŐI vag)' a sz;\núlógépel.
--
-
--- ---
.-.-
•
,>
,-
-
2O.\2. 6bra
II ÚJfII" ,~" bt>Jd<'n1be:d:<1 OIdilJilJ.I ""'8.<:mb>l1 ~ adjll
l iliT"
DeBt1nationPa~eU ... l Azt a webeimet h:lt~rozza 111(.'g, amelyre .. felltaSZn~16
" beje\enlkez~ követően kerul. Alap<'nelmezés
.. ctl .. Def ..ult. I.
,
dönlhet!lnk. Alap6l.eI-
II . t
jelöl6n('gyzet kezdeti bekapcsolásáTÓl clönthet!lnk.
1 t ;,néke Fahe.
Orientation
..
fell\a.';ZIÚl61álOgat az oldalr:l.. Alapértelmezett értéke
~
Kijalentl<BZÓs
Fontos, hogy be tudjunk jelentkezni a wcboJdalra, dc;) kijelentkeresr61 scm Wlbad
elfeledkemünk. Erre jobb;iro eg)" l.ogolf (Kijclentkezk) szövegi] hivatko~s ad módot,
amelyre mindössze rá kell kattint;lnunk a kijelemkezé:;he1.. Mindezt a LoginStalU5 "erer-
16vel val6sítlutjuk meg, ~mely a beJelentkezett relhaSZJÚlók esetében a 1.ogofr ruvat-
kozist ad)<!, míg ha a rcll13SZ1t116 nillC'l bejelentkezve, a Login hivatkoz:lst jeleníti meg.
lia egy nem h,telesítet! fclha~:m116 cll1!ogal <--gy weboldalFJ, fos a LoginSl3tU5 vezéM
Login hi'"Jtkoú,;árJ kanint , a bejelentkezési oldalra jut, amelynek,. rends~r ~ladt~
,. kimdul1si webold:ll dmél.. Mlul~n sikerrel meg:Idt,. a fclhaszn1lónev~ l:s jelszav:n,
amclleu.. hogy bejelentkezik, \"is>.-zajul arra a ,,,eboldaJr.. , ahonnan indult.
Tcgyük fel most, hogy" l.oOgin.aapx helyet! ~ Si'JnOn.upx f~j!t szeretnénk haszn~Jni
a webhelyen. Nyissuk meg a web.conflq fájll. és kere5SÜk meg az <authentl<::atioll>
elemet. amely valahogy így fesl:
Most már csak el kell helrc:münk a belsc~n a <forma> eleme!. vagyi. ~ fenti sort a
kÖvetJ.;.ez6.,.el kell helyettcsítcnünk:
<"uthent ["at ion mode. -1'0=' ,.
dorm. loglnllrh-slgnOn.upx · '>
</authent1cat1on>
Nem fgazán S2Bretak f&lB-sleg.esEIfl turk6lni 8 _b. Con f Iq fjjlban. [gy bejelentke~si
oldalként mindig_ Login . aspx lájh hasmálom. Ha valamién mégiscuk
rászorulunk tgy másik fájlr.l, sose feledjük, hogy a web. conHq megkülönbÖlleti
I kis· tb n&Q'lbetGket ezét1lokozottan iigyBlj(ink a pootoss~a a <f00\8> elem és
a l.Og I nurl lulajtlonslig meoadásánál.
506 Iw.r6N: · NMg6ci6, ~t'i II •• ntzokllltk ............•
Tartalom megjelenftése
a hitelesftési állapot függvényében
GY'~kr:m el6fOfdul, hogy más L;;ut.. tmat jelerutenbJk meg, tu .. feltusmill6 bejdemkezeu,
mim egyébk&.!. A Login ve~61 pétd!iul csak .. kkor érdemes alblm:al.llUnk. lill
.. [eIhasudió nq nem jelerllkezeu be- amennyiben a hitelesítés mcgtöttém ... "ezerJó
megjclcnitbe helyeit inkább valamilyen ürenctet ím:ink ki, mondjuk a következ61.:
WelCOlll4l baek [elh"Bzn.f1ón~v, .. hol a C"lMBZnJJónév az adon fdltasmáló nl.·vét
jeJenú.
Nyissuk meg a D<!f .. ult ."Sp>< oldal!., 6; hclyeuilk d r~jta a Logm\l1ew "ezéM
egy ~ld:iny::jL Amim u ok"", dm kaxn l:1thatjuk, a vezér16nek k(,t n(,zet.e is Van:
az AnOnymous Ternplate. amely II nb1.d"" felllllszni]ók sz.1ndrn l:1lh.1tó, vaLamim
a Loggcd ln Templatc. amely .. bejelentkezeu felhannill6knak jelenik "'eg. NinC$: m:ls
dolgunk teJút, mini" megfelelő mcgjelcnbi formákat unalommal Feltölteni.
Mwel aZl $ZereInénk, hogya Def .. ult ..... px oldalon a n('VIelen fell\a5WI6k a Login
vedrlót I~k, ~lt5Unk a~ Anon}'ll\OU$ Templ~te nérette. 6; húzzunk a Too/box
pak'Uár61 egy Login \"eztrl6t II Login\~tCW terül<.'1ére. MOI\l v:iJt5Unk a Logged ln Templ:ue
nézetre_ ht bármilyen Sl:ltikus I--ITML kódot elhelyezhctilnk, é:s az fog megjelenni II t:.e;e..
k.... tkezen feJhaszn~l6k sz:"im:1rn_ K.~nlnt~unk h!it a Logged [n Tempbte nézet bclsejébc,
é:s i!juk be a welc~ ba,k SZövegeI. Végezetül húzzunk ~I eg)' Loginl"3rrle ,-ezb'lót
2O.]J. ~
II LcgI"S:m,"s ve:rerl6 f.osged ln
rmlplale "hetében ~' WgI,~'""",
<uérlQl heI)d""k CI
Amml:l2;l dőre
.se,hettük,:o Ulgm."Ii:lm<' ';I Ix,eleOlkezeu fclhaszrúló Ile\~ te'leniti meg
- ha nto.tclen fdhasznJIó latogat az okblr'Ol. a \'<:'drl6 I<Irulffill ÜIQ m;lJ'1.d. A 20.] 4, .:ibm
a 00:' filul t .... px oldalt mutltp egy nb'l'len felltaSl.ná16 btogatis:ól sodn. mig
a 20.15. .:1brin ug)'al1Cll az oldalt egy bejclL'mkezett felh3Szn~J6 szemszögéből is
megtekmthecjilk.
"... O .'" ~ , ,-
",.
---
U... II_
,-
00
Iiel 20.14. ....
... nitv4m~" !<WIll
,om'rMoll'l lOt.tJA"rhdt.....
-
•
w_ _ _
20.15. ....
jfsoltU" ~~~.,.",.."
Q \I"l.'kOON' bac. r2.und fofIIdl"
Piu. . "e~ urn tu thoo .1~" and log 1. ..1'09 \.. '" roll""ing l,.,to ....... Uon .
U_r _ , FelhasnulJó.Iét,
'a. a ' rd : }t!luó
ti~ kiprobólJuk a Pa."l!wordRe<m-ery "ez.trJo:í. egy weboldaloo., ~21 t:l1~liuk, hogy a kapou
j.,}$7.6 egy úl, "tledensn.'f1l karakt~l, nem Po.:'Cijll:l7. eredeti jelszó, P.~k az aZ oka ,
hogy az ASP.N"" fcll~16i fo6lo:olcd kezelc'S ~ abp&tehnelb Sllennl
nem nugukat a jdsla\':Ik:1I ~j:I., h:rncm" bcI6I!Ik k~1l t'gl'inf"J,l ",rcmaIvIIol.
Összefoglalás
A felha.szrdJ6i ro6kok hasxn.ibu az ASp .... ET bet-pildt ld1<'t6ts~ge1Vel " bqelerukezbi
~ltrlilh'el =nIe g)~k~ta. H~ ~ "ebheIy!InkOn ~I)'ezzük az llrlap alapú
hitelesítés!. az ASP "'ET ~cbslt(' Admmisll1lIJOll Tool ~ö~ autOrl1:lI;ku~n
1é1n'houa al ASP;'\'ETDH adat~llSl. amelyben tnegcd:IJh;ujuk a fclhannjlój fiókok k
surt'pek tárolhiho~ nüksq;es tlbl1kaL A1. ASI'NIlT Wcbliilc Admillislr~llon Tool
emclJeu ie!ent&en leegynenlsiti a felha5lJ1j16k, $~ és howfb&1 jognk
I!trehozásjl és kel(,~_
Isméd6 kérdések
l. Mri !rt1lnk tUt~t~ abu? Hogy:.!n uj/lk u ílrbp abpú Itne~;Ik?
2. Muyrn Idrom:l(b1Ql kell megadnunk :a homféré:sl jogok mcghal;iro;Qs;in.i\?
3. Tegy(lk fel. JlOg)' wdJokblunkon,. ~eIen fdhasmilók 5Z!mira lehet&.-~
szeret~k tmnl a ~1 ..mkezé51, I':ll3mim új felhaszn:ilói fIÓk ~hoz::1s:iI,
míg,. tJejelrntkezen felhaszrdl6k n.1ndr~ egyucnkfl egy log<.tff hiv.nk<)~
kív1mmk fehilmf.-"ln; . Mllyen vez"'rl6kn:: "'~n sz.ükstg mindehhez?
t. Hogydn műkötbk .. LoginName "~rl<51
5. .il kIVONlbOI ~'l5Iiun)...met6k az ~i ,.d:l.lok," Igaz V2gy h.mus?
Válas.
1, A hitelesllb a fdhaszru\lók aZOIlO6ith.inak fo/y:lm:o.ta. Az ilrbp ~l:Ip(i h'lele-
sítt<~1 ~ fc:lhasm~lókn:lk egy wrbc:s ([rl~pon kell megadniuk :t~ nonosit6
adataik:u.
2. Homférbi jogo5ulwg meghatároz1sához mell keU adnunk a kén:lé!;es m:o.pp~l,
a fel~l6I. iIIe,vc nc:rc:pel, ''";IIammI m. hogy engc:dtlyc:~ "agy ultásr61
\":In szó,
J. Ibsznil",k a loglf)\"~"" ,·czrrl&. Az Anon)·moI.Is Tc:mpl:ltc: nhetbc:n hcl)'czzük
el a fclülc:t&t a Logtn és a Cre:uc:l'K'f\I'izard nzérl6kel. a Logged ln TemplltlC:
nh.etbc:n pedis a Login5l:llus vc:zérlól. Emlékezzünk vissz:l, hogy ez utóbbi
a r>é'vtelen feih:lSzNJók ~ a logIn. mIg bc:jelentkc:utt felh:... znil6knil
a Logoff hiv:ukozht jeleníli meg. M",eI a loginView vezMI! Logged ln Templale
!\ézete C$:l.k bejelentkezett felhasWIók sdmára ]jtható, a LogmS\;)tus vezérl6n
nundc:n ~bc:n a t.ogoff hi":l.lkoz1... IilhaLluk.
4. A LoginNamc: \'CZM6 a bc:jc:lc:ntkc:zetL feUI:ISlfÚIó felh:I5Z1ÚIónc:\·t!t muUtl'l meg.
Ha az aclou fel~1ó ninc:s bc:]elenIker.'e. a ,'ezM6 ilre$
5. ""IM
20. óra • NI Mu If 1511
Gyakorlatok
l. A 16. feiezt.'tben bcmUlatluk, mik(int ielcníthl"tjllk meg és kezelhetJilk egy tlbl .. -
e;etiinkben a 8<",ka - adau;t II Grid\'it!w vezl!r1&.'eI. Ha kedvenc kÖfl)"o'eonk
bemuta~11I kbzuúnk egy webhdyet, abpn.'l6 elv:i"'~sunk khet, hogy oa BOOka
~bb urutlm1l cs;;r;k ITII módosithóIssuk, mb felhaszn;ilók ~ig <.$Ik:lZ~·
mtn)"t leluru.l~k meg, Hozzunk lú.tll.'lre egy webhdl'el. amely t~mo8:nFl
a felhaszrúlói rJ6kok h:uWbt.áI, és hat.ározzuk meg az A.:Imumtl1ltor uer-epet
Ez utiin hozzunk ~re a "'ebhelyen egy A.cain "",~l, =id kd. "'ebokblt
a BOOkl isl . asp" nevI1t a g)'őkér1too)"o"t:\rb;ln. II :." fau l t .a"Plt f:ijll ~!g
:u. Ad:tD.ln kön)'\'tJrban, JelenítsOk meg a Bookllst .IISp" oldalon a Book. Ubi"
urt<llmlt egy C'I;lk olv:lshat6 GridView vezM15Vt.'I, az 1Ic!aoin I De f Au l t • aeplt
oldalon ~ig egy ncrkesnhet15 GridView \·e~érI&.·el. Végezetu] ~nil5uk be
n M.in INppa jogo6ul!$:igail úgy. hogy c;s:.k:u. Administrdlor szerephez
I2ItQZÓ fell\a$ZldJ6k f~ hozzá
2. ~d:ink ug)"an.tz, mim:lZ l, g)"llkorbtban, de l1lOII csak eg)' "'ebokblbl
dolgozunk eza IIooUist .aap>< a g)VkérkooY"llrban, HelyeuOnk el 111112
egy Login\';ew \~zt:-rl6t. ""'id ennek AnOnrmous Tempbte és1.ogged ln
Templ:l1e n~Zet&en eg)'-egy GridV·.ew vezbtl5t E~il ::ílhl.SUk be úgy, hogy
c;s:.k oh-ash:1I6Iegyen, mig ul6bbil tegyílk nerkeszthet15vé, Igy ~ bejelenlkezen
felh.asznllók m6dosithat~k a Booka dhb l;Inalnúl, a névtelen fclh:U1.lljlók
pedig be kell ~k a könyvek rucgtckmté5tvel.
3. \cgp.ik a l. gjo':lkorbl p&lájll, de n105IlelunlSOnk el ~ I..ogin\'iew Il:lWÚbUI6I-
helyezzünk d az okblon qo"ellen Grid\'ir:W \.~ és ebben tegyilk ld-:r.·"
a ~é5t. A kÖ\'C.'tke7J."l" ~ a fiefd<; r.Qrbeszábbbk1»n abkit$uk ;Il
a God\"...".. Edit. l'pdale és Caocel ~t sabIonrntz&.-t. aben helyezkedik
rl13jd el egy Itt:mTempble eg)' EdIt felirlltú linkBuuon·naI. vabllW"lt tgY Edot]tem-
Template az Update és Caocel fdiratú LmkButlOn-<>kkal. HdyeuOnk el al ÚJ
nhlonmez6It.emTenlpl3Ie sablonifu:in egy LoginView \"ezér16t. AZ AnOn)'TIlO\lS
Tcmpl:'le n(iZl.1ct h"gjoiuk üresen," Logged ln Tcmplatc fel(lk1(in pedig hclye1.l;uk
d:az Edi! [jnkBunont l ia névtelen fclha~n.1ló l.itogat,. webhelyilnkre. az Edit
gombol; t.lIta]mazó mező a wrrdra üre:>oek mlluLkozik. míg a ~Jerukezcu
fdhasmáJ6k hozz.ájllll"\ak elihez a gombhoz. [gy lZCrkeszthetik a Book$ ~bb
megfeldl5 rckordPl.
(A l. és 3. g)'lIkortat IehetÓ\"i teszi, hogy I:4rmdy bejden!kezett felluszniló
szerkeszl~" 800ks ~bl3 tartalntil. tb ezt a lehet(i:!égct 3Z AdminlStralor
szerephez \;Inozó felh;.nn.ál6kl1l ~zeret~nk kor1~tomi, a Login"';(.'\\' W!repek-
hez kÖ!l5dl5lehet65égcI\"eI céll trhetilnk A LoginView múköd6l-nek,. fell1:lsz-
n.i16i surepcken ,.i;,puI6 szabályozi~róI b15vebben:az Em mln(' 18 ASf'.t.'rr
20's ~Iembenhfp. Roks, ",uj Profi/edma cIkk n.,;5O<lik ~ ol\"l\SII:lNnk.
a httP,,, •• pnet.4\1uyatr...-oll •. ee 'Art -le,' 12140' -l..al>" emlCn,)
21. ÓRA
Mesteroldalak használata
az egész webhelyre érvényes
oldalsablonok létrehozására
II lecke la rlalmábóJ,
• Meslerold.lllétrehozáSOl
• Szerkeszthető le1Ületek meghat;iroz!i5:1 egy mesteroldalon beim
• fr"",nan !l"lrehmOIl oldal Úrsícts:. mcglév6 m~erold:l.llal
• Meglév6 oldal be:\llíl~S3 mt'Sleroldal hasWlallirn
• Fofr.Úik6d hoWadha,. mesteroldllhoz
hely(i n ESPN.com eimen. akkor aZt fogjuk látni , hogy mt61 filggetleml1. hogy hov~
megyfink a webhelyen, az oldalletején n ESPN embl{omápt. egy keres6mez6t. és egy a
sport;\g:tkJt fcl5orol6 menüt l:ítunk. Az. összes oldal alján egy rná5ik k~me:w
[21~lh3tÓ, \':llamint a legfrissebb eikkekre mutató hi\':ltkoúsok
Egy webhely oldalainak elk""zíté$ekor fontos, hogy az egész webhelyre jellemz6 eleme-
ke! ne saját kezűleg adjuk minden egyes oId:>lhoz. Ez 3zt jelenti. hogy az ['WN.wm
webhely tefVez6inek lunya~gát mutatni. ha SOiIpt kez\JJeg vennék fel a kere56mez6t,
az embl&n.1.t "" " közös luvatkozisokat az egyes oldalaImt. Ez roem csak hogy jelent6sen
mo.'gl1Övdnl: a webhely létrehotl~hru: stil~ időt, de" webhely elrendez6;.:nek
frissít~ is rtrnjlommi tennt. lia az IlSPN.com lavez6i el ak"m:lk I:hvHtani II k~
mezőt felülr6l, vagy b6VÍleni szeJI.'ttlék II SfJOIÚg:lk liSl~iit, II wchhely minden oldalit
egycnkém m6d0sítmiuk keUene,
Mesteroldalak - áttekintés
Az6I::a, hogy az első webllelyek megjelentek II ViI~gMI6n. a ter\"eZl:si folyam:un:tk
fontos ~ képezi" webheJyet "lkotó okbbk egységes megje!ené:sének kialakítása.
A webhelyek tervezé:sé-re ts weholdalak Iéuehozá5;;ira srolgil6 olyan eszközök. mint
a Micro:sol't fronlPagc és II Macromedia Dre:lmWeaver programja, rtg6lll kínj Inak
sablonszolgiltalisokat. Ezekkel az eszközökke! a tClvez6ll-trehozhat egy oly--.tn
sablOllOlcblt. amely 13nalmazza mind a webhely oldalainak kólÓ/; tatt:llnmt, nlil>d pedig
azokal a teriilelekel. amelyek II sablont hasmáló egyes oIcbbk ~Ital teslreSzablmtók.
.- --
...-.- .... _ -
.-
.
About ti •
........
.-
.- ",,",,'~llL '*"
21.1.6tn
A u'eblw/y ml"Jct,
oId.>l6tJu. ~~.
~--- mojd .. ~"
.. ",,'iItJIidne
ulUlmal elég egyszert1en csak homadni a meslcroIdalhoz, ugyanúgy, ahogy egy h:lg)'o·
miny05 ASI',!>.'ET oIcblra vennénk Fel UIUlmal. A J-rThIL-k6d k a webes ,""zéTl6k
bev;le~ végezh .... jUk sa~l kezűleg II Soun:e (l'OrTáS) nézcibcn vagy ~ gr:lftkus ie.veb'!
hasztUilalival
a ComemPlare-
A meSleroldal azon lt·rtJ.leteil, amelyek oldalankénl iestre5'll1hlutók,
Holdcr webes vezérl6 segitsl:ghel 3djuk meg. Ahogya 21 2. ~I)I';'in l;lth.tó, ez a ~.... -
zérl6 a mesterolrl:lltCT\'eb'! néUlében eg)"'zeru tégl31apkém kl'pez6dik le. Kés6bb.
amikor egy oly:m oldalt hozunk létre. amely örököl etl61 a mesleroldah6l. cs:Ik ebbe
II mez6be vehrtOnk majd fel tarulmat, mivel a kömyeb'! lenHet al. a felhasznál6i
II!!'!!'~
_'!!"!"!!'_• ...::;;;:~
--
_.- .-
._-
.-'- .-.-
.-
.-
____ - --"-'_l> __ __
.~
.'
21.2. 6bre
ti mt!Sieroklakm " liIÓZ6S [e1hmztufkJi fciIJ/etI elemek mtg/wlulttWiw. ,w,mlm
"ID' eo"'Cf,tP/JJuI-/okJi>r .~ uen'f><'l
Ennek a mc.sleroldalnak a I('tf(>ho~sa uLin II követkemlépés egy olyan ASI'.NET oldal
1l1.rcho~sa, amcly ett61 II me5teroJdalt61 örököl Ebbe a témáoo fogjuk belclsni
magunkat k<'s6bb az ól:! sor:ln. !tIiu!:!n cJk6zill! e8)' il}"en oldal. :IZ ASP.NIT oldal
leryez6 nézetébcn 1.1th"10 II mesteroldal nem szerkeszthetó clM"lma. v:alam;fl! II
~7.erke5tlhet6tllrtalmi területek. A 21.}. 1br1ln :IZ A!XlUt akla! ];~th~16 tervem tWzetben.
-..--
•
--
• u
.- ., '"'- •
',:;..
-,----
~_.
r
_...-..c..--
•
•
..-
•- •
~_
\bout lls
.........
.-.----
•
.,--
.-.;--
, ,,~
.. ••
1,'-
- - =
21 .3.6bnI
Az Abofll oIdi.1 <'gYl'/1~. SU!TkszlhC"ló renUele .. ConJ~" rr.." ../om) le,ilk1
Nem kelJ újra létrehoznunk II kik& oldalelemeket. Igy" címe!. a TreeVoew vezérlŐI.. és
így toV~bb. Ezeket:u oldal II mesteroldalt61 örökli, 6 aUlorn;Ilikusan megjelennek
az oldal tervez6 nézeta,en. Lehet hogy nem telje!;en egyérteImIl" II könyvben 5J:"'"'f'l6
~lm'ik :llapj;\n, de ezek II kÖZÖ$ mesteroldalelemck kisziirkít\"e it'lennek meg. k nem
m6d0síthat6k:u ASP.NET oldal ~1t:l1. Az oldal egyetlen s7.erl<t"ZI.hetó terük1e II Content
teri1let, :lllX'ly pontosan ott ;elenik meg. allO\'l\:I ContC!ltPI:I<:eHoldeT "ezérl6t helyeztük
II mesteroldalon.
Mesteroldal létrehozása
A nle$l"roIdalak hasonlitanak azokhoz az ASPNI:."T oldajakhoz. amdyckn"k a létreho-
1..'lsával a könyvben mir többször fogIalkw.tunk. Az ASP.NET oldalakhoz hasonlóan
a n\CS.lcroldalak wcbcs '·eztrlőkct. S(atikus HTML-kódot é~ kiszolg1lóoldali kódot tar-
ulmaznak. A mesteroldll és II hagyomJInY05 ASI'.NEl" oldal köliltt az a f6 killönbség.
hogy a nJeSleroldal célja egy ... blOfl meghadrorlsa a webhely ~7..lmára Ahogy ebben
az órában koribban mir volt róla szó. a mesteroldal meghatirozza a rnesleroldaltól
örökl6 összes oldal közös felh;l5i'.1'1~l6i feloleti elemeit. "aiamini az o!d.~lanként
szerkesztla:tl5 tenllClcket
- Vf"ZhIlJIlaMlmIl::_
•••
A CootentPlaceHoldef ~zér16 csak mestefoJdalakra vehet6 fel, ASP.NET oldalaknl
119m, 8ZÍH1 amikor II\IY mesleroldalt tekintünk meg a Visual Web Oeveloper
hasmálatával, e ConlemPlaceHoIder vazérlót megtaléljuk e loolbox palettán,
hagvomArlyQs ASP.NET oldal megtekintésekor azonbal 82 a VilZM16 oom jelenik meg.
."
3, <iOOCTYPE html PUBLIC '-I!WJCllorD XNTML 1.0 Traneitional/IEN"
,
_ ·http,llwwv.~3.orgf~lxht~II/DTDlxht~11-tran8jtional.dtd " >
A webhelysablon megtervezése
Hozzunk Iéire egy oIY'~n mesteroldal(. amely 3 21.1. ~br1n l~th:u6 megjeh:.'fll!ssel k
működési módd:d rendelkezik. tehát egy cím ",n felüt, egy TreeView vezérlő a 001
oldalon, ~ igy tovább. ü: a kiaJ.akíÚJj négy ten1letre oszt minden oldalt:
--
....
NoI,'gkMo
,,-
21.5. jin
II u'riJhel)' 'W' /oéIouklpos ls
Iulrom.oot'<I< láb/áZd/ba ""dal
I Iti I 100 iiIIt
ar oklakl""/
21 , ÓIlI • M.._oH ' ': hIIZMIm II tg6sz w~ MV6nYeI: oIdIII...,,1IIk "b"hoz:6i. . 1521
Aki nem l-ITML-njong6, és jobban SzeM"" a Visual Web Dt-",'eloper segitstgé1 igfuybe
\'eflni n oldal elrendeú~k lárehotlsa sodn, u kövesse ezeket" l~k .... , el6ször
a mesteroldaltcrvew nézelé1 el6\'éve. A 1..:Iyout (Eln.'rldezés) mcnüb61 v.1lasszuk
az Insert Table (T~bI~z:tt beszúr:lsa) pan.nCSOl, amely megjeleníti az Insert Table párbe-
~é<bbI3kot (I~ a 21.6. ~brn!). Ebben a p~rbeszfdahlakban adhat juk meg a L:lbl.1zat
pontOS bclllít:1sait, igy a:sorok és oszlopok S7..:JIt)jt, az clrende7.ést, a súlesqa és
maSl'sságol. ts [gy tov:'ibb - de haszn11llatunk mir meglév6 sablont is. Mesteroldalunk-
'...._- . _
hoz vi1a5SZUk II Hc:lder, footcr and side (Fejléc, Ijbléc és oklals.iv) sabklnt
- ~,
- 21.6. jbre
1~,lkfi-~ a táblázatOl
a mest~,'m az l/l"'" rublc
o< ILc!"O párl>csz&l<lbk.,. ha$;má1«1á",,1
A_Iot_
Mzzuk II "eúrl& II L:lbl:lzat al61 II tábLizat második oszlopának második ~ba,
ill'" .. _ _
ii!_
-:;--L=========c--
"" .,
--
~
-
_--
~
......
21.1.~
I <'8<=-.lk el II fejk'<:/Cnlkl
",q:jcict~.k testrc;mlb&<!,
" SlJic BullMr pdrlJes:WJablaklxm
I b p(:ldáuJ azt akaljuk. hogy a fejléct".,-(jlet fehér szövegel jcJel1í!5efl meg olajwId
Mnér el6l!. II f om (Betű) b.pon 3 Color (Szin) lenyfl6 list!ib61 v1lasswk a 'White (Fehér)
ek'ftlt.'l, a Background (Ilinér) lapor! a Color lenyíl6 listáb61 pedig aZ Oh(' (OlafZöld)
elemet. A Style Huildcr p:lrbe5zédablakh:m megadhatun k beI.Únll:"-':'1et, igarit:1st, és
temérdek rru\s beállit1Sl is.
A webhely köws elemel nek formáz4sa gy:lkr-.m úgy Iörlt'nik, hogy azok helywft
ne befoll'!isolla al oldalfügg6 tartalom. Ennek el~hez a navigációs terillet mtalmlit
a cella It."lejl'n kell megjelenítenünk a cella közepe helyen. Ez II cella vüll/n tulajdon·
siigh.II 11lítható be. Ennek a tula~gn.ak a be1l1íeis!ihoz kattintsunk a na\'ig:icí6s
tert\lctet alkotó celb bel5eiébe. maid a Properties abbkban a vaHl/n m13jdonságrcll
v:1.lasszuk a top én~ket. Ennek hatásira a n~vig1ci6s terület tartalma függ6legesen
ignooik a tibL1z:ncella lctejl'hez, fUggetlenül anól. hogy milyen sok \';Igy milyen kC\'1's
tanalom szerepel a f6 tenlleten.
AmikOf a Header, footer a!ld side sabkmnal hollri: létra ~ táblálatot. III oIde1$ó
oszlop ja navigációs terület) 200 képpontos szélességgel jOn léve. Ahogy a leiléc·
és lébléct8tÜletek rNQ3Ssiga asaIében, itt is beMithatjlll: a szlHességet a navigációs
és a 16 tel'Ülilt közötti elvilaSlt6vonakcl kattmtva, és az egér gombi6t !enyOmvil tartva
jobbra vagy balra húzva azt.
Most m:;\r cs:Ik kL1 terillet van h5.11<l' a ró Icrillet és llibléctenllet. A fó teriilet m.1r
t:maJma2.Z:l a ContemPlaceHoIder vezM6I: (amcl)'(1 a t:ibl~Z:lllélreho&sa után húztunk
belc), dc még hi~nyl.ik bel61e a SileMapPmh vcrerl6, amely a morzsaútvonalat jeleníti
meg. HíJtxuk eZl II vezérlŐ! a Tooloox (XIIL1t:lr61 a f6 ten1letre. a ContentPlacelloldcr
vez(;rl6 foM_ Végtll ~11íll;uk 3 f<'I terület ~bI:lZ:ltcc!lájlirnlk valilJIl tulajdons:igit top
"'n~kre. ahogy eZ! a navigáció:> terilletnél is tettük. Ez biZ!OlIítja, hogy fUggetlenill anól.
hogy milyen kevk tartalom SZL'fepel a f6 ter!lleten. az mindig a cella tetején fog
megjelenni.
N~zzilk meg ujra a 21.2. !ibm!, hogy l!ilhassuk a bef~ZCt1 mes!eroldall ~ \~l5ual Web
Devdoper lervező ~zC\ében, 3 21.2. péld~ban pedig meglekimhctjilk II mesleroldoll
teljes fomhk6dj.11.
,,
ooo "httP •• lwww.w3.org/TR/xhtmll/DTD/xhtmll-tr~.itional.dtd·>
",
H,
<CUrT.. ntJ4::xl~nyl .. ForoColor,"IJ3l
<l>odeStyh. ro,oI; ·801d<"1"I'\Oe'
I' '>
_ roreColor""IU6U6' I>
", <RootNodeStyl .. Font Boldc"Tru8'
_ F,,<eColor~'IlC~ES5' I>
",
n,
</a.p,SiteHapra'~>
< . .p,ContentPla,'_lder II)::·Cont..,tPI.~ Ideri'
li,
19, <Hib
fO, <Itr>
n, <tr>
n, <td cohpan-o."2· 81yl .. , 'l'Iel<;1hl' SOpx,
_ t ... t-mlillD' centen'>
",
U,
<a hr.fT·~.l,a.px·>
~.l</a> I <a hr.f.·About .• 8pX'~About U.</a> I
_ <. href . "Priv.cy .•• px·~Prlvacy Policy<I.><br I>
~ri<]ht SC,tt Mitchell, ~""6<ltd:>
""
", <Jtr~
",
48,
<It&bl ...
~p,
U, <Idiv>
",
SI,
<Ilo....,.
</body~
", </htlll>
--_
.--
"-
......-
-- .---
,--
...--- .="'-- --- E-:-'"
l --
.--
E-:-'"
--
~ '"...
,......-_-
-- --~--"""'
21.9."
Az uj ASP,NET oIdt</ meslerokkrkJ",,1t lt/.dlauTáSI,
lia wvesebben dolgozunk II forr.is ~zetben, sajá! kezílleg l>e11'Vll 3 HTML k6clot ~
a webes vezbiőkCl. akkor k~elCflül fel fogjuk ISmerni egy ~erokblt61 öröklő
ASP.NET oldal k6diit (I~sd II 21.3. példit). Az első sorlJan szereplő <'(ji Paue b ulasitis
tartalmaz egy MaaterPa\leFile jellcmz6l, amely a mcst('roldal eléresi úljll jelöh,
• Fel kelj "ennünk egy KUterPIlgel'11e jC'11ern:ait az oldal <\8 Page \>
Ula$ítb:ib:l..
• Ltlre kell hoznunk ellY Content ve~trl6t a n>CSIeroJdalon szerepk"l minden egyes
Contentl'l:o<:cHoldcr '·eztrli'lhö.z. ts az oldal meglb'i'l HTML k6dj.l1 ts wet>es
,'ez&!6it ilt kell hel)"eznünk. II megfelel6 Coolent \"("zér\oSkbe.
Hogy jobban megénsiik a mliköc.ltsi elvet, né;u:unk meg egy a valóságból veu péld~L
Kq,zeljilk el, hogy van a 21.'1. !ibrin Utltat6 oldalunk, és azt akarjuk. hogy a H.>8~e~
p.tge.lfIIIster ~leroldalt61 örököljön (A 21A. pél~b:tn láthat6 kód a 15 fejezetben
szereplő egyík példaoldal tartalma).
_
.,
3, <~OOC'l'\'PE htru l'UBLIC "-IIW3CilrtrO Xlfl'ML l.0 T.anBlti""",lIlEN"
'http,llwww.wl.o~gITR/xhtm11/DTDlxhtm11-transitional.dt~·~
1, <titl'o>Untlt1ed PaglK/titl .. ~
B, </head>
9, <I,ody,.
10, <foru I~'·[orul" runat'·Bervrr"~
ll, ~~iv~
12, <asp,SqlDGtaSource I~·SqlDataSourcel· ~unat.'s~rver·
13 ,
_ ConnectlonStrl~.·~'$ Conneetionstrlngs,connectionstring ,>-
Se le<:tCOllllllOnd~· SELECT • FROM [Book"l· >< 'asp, SqlDataSource>
It, <~9p,SqlDGtaSourc@ 1n-·SqlDataSou~ce2" runat~-ge~ve~"
_ ConnectlonSt~jno~·<'$ ConneetionString.,ConnectionString .,.
15, Sel""tC.,.."nd. ·SELECT • FIICWI [Booksl
_ WIlRRB (( [BOokID] <m iBoOkID) AND ! [Y ..... ~Publishedl
_ ~ iYearPubl1ahedJ) ORDER BY [Pricel DESC, [Ti t t"l·"
16, <Sele<:tPa~~ter8~
17, <a&P,pa~ameter DefaultValue.")· ~·"BookID'
_ Type~·lntI2- ,~
<aBP' P.~_te~ DefaultValue, '2005·
_ Naae,"Y.. arPubliBhed" TypQ,'Int32· ,~
19 : </selectPar~ter.>
ZO: <lasp,SqloataSOUrce>
21, <br I>
n, <aap,~rldView 1~'GridViewl' runat-'Berver'
_ AutoGenrrat~olumns~'FalBe' DataReyNa~B~'BookID'
23 : Datasourcel~'SQlDataSourcel'>
2(: <COlumnB>
,", <aap,BoundFlald DataField.'BooklD' Head~xt~'BookID'
- InaertYi.iblem'palae' R@adOolY~'True'
26: 5ortExpru381on 'SookIO' I>
21, <asp,BoundField Dat.Field~'Tltle' Heade~xt_ 'Tltle'
_ SortExpreuion,''I'itle' I>
28, <asp,BoUndFleld Datafield~'Author' Kea~rTextA'Author'
_ SortExpre •• ion. ' Author' l>
<aap:BoundFleld DataFleld='YearPubllehed'
_ H.. ade<1'el<t o 'YearPul>llahed'
_ Sort&xpreU1QTlk'YeuI'uI>1IBhe<l' I>
3 O, <aBp:ao.u.dField DataField='Prlce' HeaderTel<t.'Prlce'
_ SortExpre88ion~'price' I>
31: <a.p:Boundfield DataField='LaatReadQn'
_ Haad@~xt"La8tReadOn'
_ SortExpre.aion.'LaBtReadOn' I>
32, <asp,BoundField DataPIeId 'Pa9eCount'
_ HeaderText~'Pa9~ount' SortEXpre•• lon~'Pa;eCount' I>
33: </C:olumn.,.
H: <Jasp:GridVi...".
3~ :
~6: <Idlv>
37, <Ifona>
38, <Ibody,.
39, <{html>
_ Cont,,"tPlaceKolderlD"C:ontentPLaceHolderl',.
'nb.p, < {up, Content>
A ,noJveletet aual fejezzÜk be. hog}' II 21.4. példában szcrepJ6 mentetttartalm.at
(konkrétan a ll-36. son) II Content ",ebe.; vezérl<"ibe !IÚ50ljuk
I
~ IV. rá:!: • NIYig6ci6, .....mi6k kIZ ".1" IZ OIdIIIk ..........."
Sokkal &gySlribb megoldani art. hogy egy új ASP.NET okIaI egy mesteroldaltOl
örökOljOn, mint egy rneglév6 oldalt egy mesteroldalra iIIapozni, ezért javaslom, hoqy
& WebIleIY fejlesztHének megkezdésekor Imzunk létre egy mesteroldalt. A meslll"oIdal
maradjon egyszvnl ~ én áhaláb8l1 csak IZ alapértelmezett CootentPIaceHokIer vezár\6t
SlBrepe/tel8m berne.
Amikor új oldalakat hollri; létre a wfl!~ áAíts" be, hogy mindegyik amestarol-
daltól Öl'ököljön. A késóbbiek során viSSRIérhetünk a mesteroldallm é$ ~juk
az egész webhe/yl"e YOnatkClz'lÍ kialilldtást. Mivel az összes oldal a mesteroldaltöl örököl,
aamnal tiikriimi fogiák a mesteroldallfissfté$ét.
Egy m...~kblt61 őrökl6 ASP.NEr oldal eldömheti, hogy egyedi tartalmat ad mcg
egy mesterold:ll-terilICl szárrdrd, \':Igy a mesteroId:ll alapértelmezett lartalm.1t használja
az adol:! terül ..."!en, Ennek szeml~ltetésére ,..,g)ilnk rel most egy úi ASP.NET oId:lIl,
amely az imént I«.rehozou Defaul t&x4q>le .!Mster Qld:lhól örököl. MJvel a mester-
Qld:ll két Contentl'lacellolder vmrl6vel rendelkezik, az ASP.NEr old:ll tervez6
nb.Clében kéllartalmi terülCICI fogunk LilnL Hasonlóképpen. az ASP_N!:., oldd k6dia
a13pértelmezés szerinl két Coment veZérl6t tartalmaz:
., 'asp, Content>
..
......._
~,," _... .
........
~.~
.:).
-----_ ...
'"
.,.
.... ,.
- .
--"
-
21 .10. 6In
" mcslcroldallrArnm u'l'h<>s ,el#& lartal"""", "ID' lAbel. "8)' TextBox I!s <'g)' Bjj//(m ,.-zL'J'IIJt
Erre a mesteroldaJr~ el6ször is vegyOnk fel egy Label verertÓl, amely megjt'1<'11;t; az ak-
tu:Uis dárumol ('$ id(';t. ""Iamint adjunk hom ol)'ltn k6dot. amely inlerTll.-1.'" kcre:sésl.
tesz lehct6vé a webhelyen . Kezdjük a [.abel \'e2krl6 hoz:cla~~v-JI, amely az akluáhs
21. ón· "....l8Ie...' , , ~ 1lew'R't'O~ WWnYeS okWnblollok16bei'lollidnl 533 I
dlitumot és időt fogja megielenít"ni. Ezt a "e~érl6t a CootentPlaceHolder ve~érl6 fden
helyezzük cl, töröljük a 'l"ext tulajdonslgJt. és aZ ID tula~gának adjuk
a currentDate'l'lme értéket. Ez után gépcljllk be a Se .. rch SZÓl, majd vegytlnk fel
egy TextBox vezérlŐI, ~z ID tul3jdonság:\1 se.. rch"l"enn értékre á1Htv~. Végül adjunk
a TextBox uún egy Hunon vezérl&. amelynek ID tulajdonsága btnSeuch, Text
tulajdon5<'iga pedig Search. Miután clv(:gcztilk ezeket a lépéseket, k!éperny6nknek
a 21.10. :llrin l:lthal6110z hasonlóan kell kin(;znie.
"
.: P~otecte::l
-
Sub Page...,Load(ByVal .""der As Ob:lRct,
ByVal ...... Syatem.Event"'r;a) Handl". )(e.!.o.d
5: currentDl'lteTi_.-r..xt • "It iB nOW • 5- DatO!'Tl ..... _
6: &!ld Sub
S34 lrv. réu • NIvig6cI6. fllwszniók kW 'hl" WOIdIIek ...odwll·
M06I hozzunk létre egy ui ASP.l'o'ET oldal!. n~eroIdalaként a Codeo.m.:. .... ner oldalt
használ\'a. Az ASP.NET Contem terúk"ll're \'eg}'Ünk fd egy rövid fülsWwgeI. majd
töll.SÜk be egy böngész6be. Ahogy a 2 I ,11. ibrln l:ithat6, n oldal megllitogatiSilkor
az akluáli'! lÜrumot k id6o: fogjuk látni a~ oldd tete~n TCMibbá. ha beírunk egy kere-
s6lcifejezkt a növegmez6be, & a gombn kattintunk. a Googfe erre adon tal:il3taihoz
jutunk. A 21,12, :ibmn egy feLhas<:n116 böngész6je Ilthat6. miuLin beírta a SCott MitclU!lI
kifejezést a kere0;6mez6be. és a gombm kattintOl.! .
- "
. ,"" -e
... _.
---
... _._--,
.... "" ...
~
--_-
-- - ......-..... ... _
r... , , " _
21.12. ÍIbrI
A frIhaszniű61l brfrhar-
-
"ak <'R)' IlereJ/Rt{fejezhl.
és a Got:Jsk WOIlmh,>,"
oIdokfra J.crr2J"c4
Összefoglalás
Egy webhely ~hoz.isakor a tef\'ez6k arra Imkednek, hogy az összes oIdalll>egie1e-
nése és mlThödésl módja megegye:o.<'ll. Ez t"g>'~ ~z(neket és benlKet, és közös
relhaWIálói felületi elemeket jelenI. A tervez6k többsége pé:ldáuJ arra l&el=ik, hogy
a wcbhely minden oldalán eI~rhet6k leg)'enek a !Uvi~ci6s és a bejelenlkeztssel
kapcsolatos vezl:rl6k. Egy egys."ges, :lZ egész webhelyre vonatkozó SZerKel.el megvalósi-
tása az ASI'.I-1:í-bcn a mesteroldalalmak kÖlQ.Önhe'tőefl ~rekji~k. A Ille5leroldalak
mind az eg($z webhelyre érvényes feJllll.SZlÚlói felületi elemeke't. mind pedig oldalaIl-
ként egyedileg lestre:SZabh:otó terilleteke't t:llt:tIm.1Zn:tk. F.zekl"l a szerk=het6terule'teke't
ContentPlacellolder vettrl6k ;el~k.
Miuuln elkészült egy me5teroldal. egy ASP.I\'ET oldal örökölhe't en61 a mesteroklaltól.
Ez úgy valósítható meg, hogy kr.. ;lJa~Zlunk egyet a webhely mesteroldalainak lis!;'Ijib61,
amikor felvesszilk az ASP.NliT oldalt a projektbc. ArnikOf egy ASP.l"ET okIah egy mes-
tcroldalllOz kapcsolunk, az ASP.NEl" oIdall':l egy-egy Contem vezEr\6 kerol a mesterol-
dalon 1(",6 egya CoruelltPlaceHolder vez&16khöz k:lpc$OIVlI. Amikor az ASP.NEr
oldalt betöltrk egy böngész6be, az ezeken a 5Zerke'!zthe't6 teroleteken elhelyezCf1
tart;IIom Ö5S7.ro1\":ld a mesteroldaJ tartalrn:lval, M""el a rnestcroJdal és al ASP.NET oldal
Ö5Szeol\'asrusa az oldallek~r(,:;ekor tört61ik , a mcsteroldal minden v:iJtoz,i sa autOma-
tikusan és azoonal tükröWdik a mt'Sleroldah61 örökJ6 oldalakon.
538 1N, r6I:Z • ~ig6ci6, fili .M ka' II. i il IZ OIdIIa. ... ·""'du
Ahogy;l fejezel foJp.run I:1thllluk, ~ Vc<ual 'X'cb IXovelopcr gazdag liÍrnogatlst bi~losíl
a mesterolda13khoz, Egy mest"rokttl lt'treh'Ozás:l megegy"zik egy ASP_NEr 'Oldal I&r,,·
h07,.:1~val. b tel~ egé:;zében elvégemc:t6 a tC1'\'ez6 nézelen keresztOl. Amikor
egy ASP,NET old~1t egy n\eMeroldalhoz ka]XSOlunk, a te ..""z6 nézet kiszürk:ít\-e jeleníti
meg a mesteroldalnak az egész webhelyre vonalk'Oz6lanalm.1t, jelen'e, hogy 9Z nem
m6<lo5íth~t6 ~2: adott oldalon.
Kérdezz-felelek
K: E,g)~"Ú5ba ágyazharQR a mesrrTOlda/ak' Azaz (JrókIJ//jel egy mesrr?roldal
I'g)' ",,1.1"2 ".esleroklalr6l, /'" pékllÍlIl azt ak"'jlll:, hog}' egy s:n1l5 meswroldal
haláro=rm "'CS "ID' n(Ig}'O'J mugas szIm,', azcgliu u'C/.Jlwlyre kfterjtxf6
megjelenésI. a wcblJely InllOnb(Jzó r@zeim,kln,!alakjátpedig"lP'oI)'<III, az at/oli
réu-..... '!O!Ullkozlj sablo,J szaMlyozza, a me/y bfzonp dolgoknt a szil/5
meswrold,lftál(;n'Jk(JI, de w!lJálly beállítást <lZ adOlf részre <'gj'('(li/CS Jmuíroz
meg? l'm ilyesmire ",{Xl?
v: 19f'fl, a mes!eroklaJak ""ID'lTlisba tigyazhalók. Az egymásba :Igpzou me5Ieroldala k
<"S(;[ében a ..gyökérrneseroklal " lanalmazhal ~rrMl kódot é5 webes ""zérl6ket,
valamint ContentPlacel101der vezérl6kec. A gyökcrmesteroldaJt61 ÖrÖkJ6 mester..
oldal CSlk Conlem \"ezéri6ket I3nal"",zh:lI. ugyanúgy. ahogy egy me5leroklall61
örökJ6 hagyom:lnyos ASP,I"El" 'Oldal. M.ndawntilt::d a Content vezérl6kön belül
lehetnek tov:1bbi Contentl'laceHoldcr '·ezérl6k.
Al egym!isloa igyaZOlt mestcroldalakr61 b iltal~b;,n a mesteroldalakt61
a h e t p , Ilodeeocode . cOIQ/ .>.niclea/ 4 19 . asp" címen (M"-!tcr PQjJf!S l"
ASP.A'ET 201, valamint a MiCfOlSOft hivatalos mesteroldalakkal ka]XSOlalos
dok.umt'ntici6j~\)"~n , a h tt p: // .... dll2.mi c ro so ft .com/ en -us / libra ry l
18a,, 74 56 l .. n US . VS . 80) ... a p" címen tJlálhat6k tov!ibbi infom~ct6k.
Gyakorlatok
I. AZ elO:ző ócioon megrn':l:Iük, hogy:In v:.IÓliithat6 nH.'g a felhasWl6i fiókok
támogatása egy ASP.NET webhdyen. Az iI}'en webhclyek esetében ~ltal~ban
kmönböz6 felhasZIcll6i fiókkal kapcsolatos 1Vebe:; vezérl6k szerepelnek minden
egyes oldalon.
T6-jOnk vissza n elO:zd óf:l példáihoz. és hozzunk létre egy olyan rneS!<.mdllt,
amely rendelkezik egy fejlecterülettel, egy baloldali teriilettel és egy f6 teri!-
lettel. A fejJ&teriileten jelenítmk meg a ,",whely ci~ es ~ LoglllS\alus vezérl('\(.
(Emlékezzilnk vissza. hogy a loginSla\us vezl'rl6 l'gy Login hiv:.tkozht jelenit
meg a néVIden. b egy Logout hivatkozást a bejelentkezett felt1ll5z!Úl6k
szlnclra.) A baloldali terOle\en h3nn~ljunk egy LoglnView \'ezér\6l:. A \'ezérlő
Anonymow Tempbte sablonjiba helyezzünk egy Login vezérlŐI. Logged ln
Tempbte sabloni" po..>dig jelenitse meg a Welcome bad.. {elhttsznillónl!v
SZÖ\.eget és egy Logout hi\':nkoú~. A 11.13. ~bri.n a me&erokblunk ~Ilal
me~r..al6sítand6 webhelysablon vizl~u látható.
Mllldn l~rehonuk ezt ~ one5lerokblt. szánjunk egy percet a wcbhely meglévő
oklalainak :italaklt1s:1r.l, hogy ett61 a me5lerold:llt61 örököljenek. tov~bW
hOl.ZUnk létre legal~bb esy olyan űj oldalt. amely e\161 a mesterokblt61 örököl.
Fr ' .. "
..........
w_ ....
--
•• 6016.,.
.. /0"'1' •
.
•
--"'~
ho. ' ...
~m"",
.. "'.1 21 .13. "
1\ rlWhcly hArom lenlll'tl'l
mntllnItU
V. RÉSZ
A fényképalbum-alkalmazás
tervének elkészítése
" I«kt' lartal",ából.
A I.~óril61 .. 18. Mig az ada~ I~bul nzsg1Jtuk, egy SQL $er\'ff 2:005
EJcpness Edmon a<bdmis ~tÓI &; stCfkezrt&rl meghaurotis;dól kcuh'~
az ~lMusb:It1 UlálhalÓ a<btok ASP_t\"ET okbbkon \-:016 n~, surlces1.:l~g,
~r:1.diS és l~g, Mcgné-zIilk, h"SY" SqID'.lla5oum: \~ hogyan btzto.sill3
az:«btok eg)"szenl eIereSel é5 rn6dnI.il1s.át, és hogy a Grid\-Toe?>- /!:5 Oet:IiJsVi~"" vezM6ll;
I~n leszik g)-~j:íttkká az :tWtok ASP,NET oIdabkon tÖflh16 e~ A !qjut6l>bi
h~rom leckében oI}':1l1, telje:; webllO>lyekre \'O[,Mlkoző doIgoIckal fogblko~\lnk, num
a \\'Cbhelyffi on.l6 n:.vigici6, ~ ug.~8 6 3 m'.'Sterold,lak
A köv~'ike7.6 Mrom ré$zben végre fogjuk !upn; ezen h1rom szoftverfejlesZIési It'pés
mindcgyikét. Az 6rn ~1:~re jól ~t fogjuk látni a rendsler kön-telménye;t, ~5 meglutá -
rozzuk aZ adatb1Zi5 ~7.erkezettt. Az utol5Ó két ó r:lban az ebben az 6r:iban rel~zolt
elkép~lbeket fogjuk meg\"al6sít:mi.
544 1V. mz· WebM iOt6IIJUm k6i;dt he pl ASP.NET MgIU.~veI
1\ fenli ch':ir:1sok egy ré5Ze kicsil ijes:l1.6nek tűnhet. Több elv:ir:15 is .eg}" kép feltöltésél"
emliti. de azt mtg csak ezut:1n fogjuk megnézni. hogy ponlosan hogy:m Í!I töltIJeI fel
esy 1~logat6 egy képet a szimíl6gq>ér6l II wrohelyre. TOVl'ibbá az egyes felad;l\okfll
ÖSSZponlG';íl6 pHdik u~n egy h05SlÚ és \lSl:Ieletet parnncsol6 eldr:1slrsu elkedvetleni\6
lehet. Minda7.orui1\31 ne ijedjilnk meg a list:lIKlSSUit61 ~"Jgy II fehölté;i el>·ckI6l. Amikor
elősZÖr összcgy\I"J1jük II terveresi e!v:l.rásokal, (,z mindig egy kicsit nyurnawó, mh...-,l
a terve.zé..j clvár:1sok magukb:t foglal~k a Idjl$projekl Igényeil, és minden ö:sw:teuebb
projektnek elég lKlSSZÚ elvár:'isliruja lesz.
Ebb.1. !.ck..,.., esik négy iIIIm6IMt ...tel nri: le, tie lal nem . b an. hogy
nem lehet ""'" több. Ttmiészetesen 'VV VISlMYiIg l(I'{SZWIl alt......... II"IIfIt
• miénk. nem IQMvtItöbb tucat llasmiatt ft8Iet. tie ~ lal 1TIIIII<IIIIt6,
hogy mNI több haSm6Iati asetiö van, ~ jobb.
Josun a webhely mllldm okl.1t'ln eltrhrt6 Logou! (N,e\c'ntkezl5) hi\'atlwz:isn k:Utlnt ....
Jéphet ki a webhclylÓl. " ...-ebhdyre a login (BqrIenlke~) hivatkoúsra bn"u'-:I
lq:>het be újr:>. amely WntCn eIMlet6a webhely mindm oIcbl-.lról. A login Im-:ltk~
karunr.-:lJJSUn:l ~lc:ntkezll oldal.,. kertil. ahol meg ked adnia:l fe\Iwzn;lk'lOC\d &
lelSZ:w.i1
MU>do.'·fl fdlu.sW1ói flÓkho<: ""I~l album tanolik. amelyben a fdhasmJIO ~ltal feltöltön
k~k 1~liIlhatók. a fell~ul;i16 :iltal meghaurozon kat"8Órtikb3 sorolva,
Mi lv,rMZ • w... Mlllbllll táit ' • ASP.NET lllibiQl ••
Ft6kj:.i""k ~ utin JlRln ugy dOnI. hogy létrehoz ~ny k::ttegól'Üt ;I fm)'kép'.ll-
bum ~ Hlrom k::ttqtón.it hoz létre ArumaI.5(Á1btok). people (Emberek)
é5 PI;lce (~Iy~k) ~'en. Ez wn!lg)' dönt. hogy ninal sz(j~;lZ Amm3~ k.Mg6riir:a,
é5 ~lOnnal törli ;121. \'tgIll úgy döol, hog)' ~ 1'copIe kaleg6ri:'lnak in~bb;l Friends
(Ibr.llO!1) nevet adja.
&Im nem rendelkezik felh:>.szrúlói flOlo:lul;l webhelym, é5 nem is ~lur lélrehoml eg}'eI,
19} né\1den felhasmal6kl.'nl nem tölthet fel k~ket ;I wri>helyre. }lSlln awnban
rendelkeZllr. feU-.znáIói rlÓkk:Il, é eztn. fehóllhet. képeket.. Ahhoz, hogy egy k~
tOiu()n fd;l fmyktpalbumába.Jasun a llaneg" PhotO Albua(Fmykép'.llbum katl&oe)
ht'·atkoz.1sr.l k::tn,ru., am, CSlk a bejClcntk~leU felhaszn.ji6k szlnúr:a jClemk meg, _\1iudn
erre ól tú''lltkozásn karnntotl, Jl5Un egy ...·ebokblr:a jul. ahol ki\'lIla5ztlut egy ktpfá~t
a sz;Imitógepe mere\~zertlI, &. fclt1':lllhetJ ali a .... ebhelyre. Ezen kivül egy cúnet é5
egy leir.bt is meg kell adni:!. (:s lehet66tge \'lIn egy k::tteg6ria ki\':iIa.s1l:1.s1 ..~;I ktpl~z
M'Ulln feltöllöt! ("gy képel.J;sun úgy döm, hogy n nem tetszik neki, é$lörU, majd
fdt1':llt egy núsik::tt. A núS<X.Iik kép (ehöh~ ucin úgy dÖfll , hogy nK'g\jJt0l(1~tj.:l3nn:tk
dn1oé\ 6; kateg6ri:ljlt Ezt úgy m el. hogy a képhez tlIrtoz6 Edit (Szerkewk) gombro.
kallml, é a mez6ket;l ki"~nt úl értékekre 111ÓdO!o1tj3
MJu!J;n JlRln fdtbltöU több képel, k::tp egy ""'elet D:!\·e-t61, aki a badt", &. munk::ttll$l
O:lI\'e tulblp vele. h08Y <1 IS Ittrcl!ozta a sal"lt fm,--kép;llbumil a " ..ebhd)-en, é feltöltött
nétdn)' kq>et a dg legutóbbi ~'~lk6I_ JÍ5I.HI a fényképQlbum ..~Iyfnck
ketdOolda"'n megy. ahol egy 1isl:lI~Ullut6 ~z Ö!I5Ze5 eltrhel:6 fényktpalbumr61
G)'OI'S:In megkeresi O:l\-e albumát, rnegUtogaljll. 6; megné-ti az e-mailben emlitelt
képeket ~t egyet, amely('l'l Dave a~ 6cclnm "'"ZÓ teraszon ~1I. é:!: ir egy megit.'gYl6t
. What ~n am.17jng view'- Og:l:dn !l3gys~ kil:'It~.s!) .QÖ\·eggel
• Egy-egy kapcsolat
• Egy-több kapcsobt
• Több-több kapcsolat
Etek II kapesobtok mUkÖ</é:o\i el\-Gkel &; me!l'",IÓ05ílfisukat tekim ... e is eltérnek egynú.Sló1.
A fényképaloom-alkalmazáJ> ugp" csak egy-több kapcsolalOkat tartalma7., de azér!
8yOl'S:l!l vm~lj\lk meg mind" Mrom kapcsolauJpust.
Egy-egy kapcsolatok
Ha két tábla egy-egy kapcsolatban \1:1" eg)·missal. akkor aZ el.s6 tábla eg}'cs rekord~1i
hol. legfeljebb egy rekord \<Inozik a m.1sik IfibLioon. Jlyen tíP'U'Ú kapcsolatr:l konkrét
példa az ASp.NIT upnet._Usen és &spnet.)tembership tagsági tibl~i közÖlt ]:\.tható.
Az "spnet_Ulleu tábl:>. a rendszer egyes felhasznjl6i ft6kj:lillOZ úrol egy UserlD éi
Username értéket. Az aspnetJlenUJe uhip tábla ré:szletesebb infonn.'ici6kat tárol
al. Cg)'cs flÓkokr61, így a felh3~16 jelsza\'ác, elekuonikus levélcimét, ""Iammt egy em-
lékeZlet6 kérdé$! 3 \':\Ia=l együtt. Ahogy az ll. 22.1. 1bron l1that6. az "gpneCUsers
mtnden eg)'C!i rekordjához pontosan egy rekord \<Inozik az "spnetjlenUJership
tábLioon.
Ahogy ~ 22,1. <ibmn Uth.:u6, a kapcsolat alapját n képezi. hogya két c1bla megeg}'ez6
el.s6dleges kulcs 06Zlopcsoponul rendelkezik Emlékeuiink vissza. hogy n cls6dleges
kul"" oszlopok azok az 05Zlopai egy t:'ibl~nak. ameIreknek az l'nékei eg)'edileg ~zono
sítarutk minden egyes sort. Ezért az &spnet. useu egy adon rekordia úgy társithac6
alIOZz1í kapcsolc .spnetjl.... buship tibiabeli oorlloz. hogy meg!<ere;sük aZl a re-
kordot az &8pnetJl~rship tábl~b:ln. amely ug)-,m3zokkal az d$6dleg<"llrulcs
05z1opértékkd re-ndelkeZlk
,•
22.1. libni
-- ,• ",. l.O'Ia/OIO ......,
•
Az U5/>',.~_CscJ't "'" az usp,""..Memb<>r.<h1p UibMlI .i>1%t1I1 'XI'"<'i't)'1ltIpc:soIa1 áll j ...,n
A 21.1. ábra a Usedd oSllo!xlt integer adattJpuSÜ oSllopként mutatja, padill
lIZIIl:' aszlop valójában a un iqueident l tier ildattipusl használja.
A uni'lUe1dent I fier adattfpus egy nllll'fon-Mgyon Mgy szám, amely klwImitási
módiából adódóilll globálisan és iOOben is garaotá/tan egyedi. Ez azt j&lenti. hogv
il w&bkiszolgál6nkoo agy lelh8Sll1á1ói fIÓk egyedi /IZOOosltásdI'a kiv6laszton
unlquel (lent; t i er értMet még soha 81JV11tlen sz3mit6géprendSlef sam használt!
a múltban, és soha egyetlen szjmftógéprend~ sem looja hasmálni il jöv6ben.
........... , .....
• ,
n.2. libni
A Ptc'"rt!S ls fl Commc,Jls ItiblAJt lId.Z(JIt I'f/,}-I6bb IItIpuoIIlI tili Jet'"
A 22.2. :'ibriín kl't megjegy.res tartozik a The O<:e~n k(:phez, míkőrDen egy megjegyzés
tart01Jk a Ib",":!H Sh0n:5l!s a My pel dog képekhez. Nr. A very drunk Ed! l!s az Il"s Dave"
kl'pekhcz nem tartozik egyetlen rncg;egyzés:;em.
Több-több kapcsolatok
A bpcwbtok utolsó úpusa, a több-több kapC'lolat akkor ~U fenn, amikor kél. ctbla
rekord);li különböz6 kombinációkban keresztkapcsolatban ~lInak egynús.sal Gyakran
hozzik rel pl'ldak/;nt a tölJb.több kapcsol3tr.1 a di.1kok ~ kurzusok viszooy:it.
Egy kurzuson több ditik ls rés7.1 ,"ehet, l!s egy diák több kurzu51 is felvehet. A több-több
kapo:;;wl:ltok megvalÓO!ít:ís.o egy h:um:tdik tibia ha~btiva\ tönwik, amely az egyes
tiblákboln minden egy'" rekordot egy a !JÚ.<iik ctbJ:íban J('Vó rekordcsoponho.z kapcsol,
alKl8)' ez a 22.~. ~Irln I:íthat6.
A több-több kapololat elkq,zelhet6 két egy-több kapcsolatkI'm is. A 22.3. :1bFd segítsé-
gb-'eI pl'ldául egyszen1en elkbzíthetiUk egy kurzus né-."SOI'át. amely egy-több kapcsola!
~Clanea l!s a Students ilbl1k között, él hJ.!iOlll6 módon elkészithetjilk egy diák
Ór.1rend;l't is, amelyegy-több kapcsola! ~ Students és ~ C1aaSeB t:\bl~k köZÖlt.
Sludenll
(O;tkokJ Ubi.
Cl .....
(Ku ... u... kJ l'bIo
. _.
22.3.6bnI
A I>5bb-Idbb ieapcIioIal m<'Sml6sflw Mmm l<1bk1luunuikuál.. .J 1611'<"111
A hivatko~si épsé-g biztosítja. hogy ll. tiblik kÖZÖlt; kapCiolat nem \'áJJllIt kiWC!keZel'
lenne. U ItIcglmlmlcr_m,p,szoTÍ/(isoIl haszn~I:H~\"31 vaJósítható meg. Az idegenkulcs--
megszoritás egy úbla 052lop;1t egy másik tibla elsődleges kulcsihoz kapcsolja. Miul~n
bdllilOuuk eZl II rnegszoritást, mind= ajkaIommal, amikor egy új rekord fel\·étel<!re
kerul sor, vagy fris5ú1 az idegen kulC:! oszlop. az idegen kulC:! OSillop énéként--k meg
kell fejeinie :IZ els6dleges kulcs úbl~j.iban szereplő értl-knek. Ha új n-kordot próh:ilunk
!:>eszömi, ""-ilY oI}"~n ~nékre pr6b:iljuk módosítani az idegen kul<:$ oszlop trtékét, ami
nem szt:repel n elsődleges kulcs O5Zlopb:l.I\. hiba Jép fej, és a rendszer nem fog.1dja el
a v:;Ílloztaú~
Ha megpr6biljuk törölni \fagy módosítani ll. Úr.;í\l)\1 elsődleges oszlop Mtkét, miközben
idegenkubértékek hivatkoUlak az elsődleges kulai oszlopJ13k erre az Mtkére, akkor
3Z idegenkulcs-rnegszoriús be;jllíú~16I filgg6en az :dlbbi ntgy dolog egyike tÖftl!nh"1:
• Az eI:K'Sdlelle~
kula; ~~lop &téke tl\ri6dik ~-Jgy m&losuJ, 6 ",imkn holzá
tartozó rekord tl\ri6dik al idegen kula; t:ibl:\b61 Ennek 3 viselkedésnek a ne... e
I<'pcs6zNl'S 16riés.
• Az eJs6dleges kulcs 0Ii7Jop ~rtl'ke törlődik vagy l11ÓdClSul, és a ... Klegcn kulcs tibia
Idegen kulcs OiSzlop:lnak t:nékCl II Null értékel kapj.1k. (I'.hhez ~ Iehet66éghez
az idegen kulcs oszlopban engedélyewi kell a Null énékeket.)
• AZ el.<;6dJeges kulC$ oszlop &t~ke törlődik vagy módosul, ts az. idegen kulcs
!;'ibia idegen kulcs oWopának tinl'kci vi5sza~lIrutk a ... alap(:rtelmezctt énékckre,
(Ehhez ~ Ichet6séghez az idegen kulcs oszlopoknak rendelkeznillk kell alap(:r-
telmezeu értl-kkel,)
Hogy jobban rnegé11.$ük cn az elwt, nézzünk ffi<.'g egy konkrét pékUt. A 22.2. -1brán
a Picturea ts a Co!IIllentB tibljk egy-több kapcsolatban állnak egymiss..1. A C~ts
libl~ PieturaID osz\op;.l idegen kulcs, mi\~1 énékeinek mindig II Pieturea tábla
PieturelD el:K'Sdleges kulcslnak éltl'kcire kell hivatkozniuk. (L'ue ~retnbJk hozni
egy idegenkulc...-meg57.oriLí.'II. e k&öl:t a ket: OS7Jop köZÖlt MiutJn Cl:! mcgtettük, ha
~ C-..u tibia PictureIO éfték<':t egy nem l",cz6 PicturelO értékre ak:trjuk m6d0$i-
uni, nem i:lrunk sikerrel. Ha lqxs6zetes törlés.., áUitonuk aZ klegenkul<:s-megszoriLi5l,
akkor egy kép törlésc automatikusan törli a hom tartoz6 ~kCl is.
--- , ,
•
-
~
~
It -
. ~
•,
-- ,
--..,
•
.....,....
~
II 1 I 100 r'
t-
Ezen oszlopok egyike sem engedélyeZi 3 Null értékeket. Emlékezzünk vis.\.za, hogy
~hho~. hogy egy oszlopo! els6dleges kuJcskénl jelö/jDnk meg. ki keU jeJölnOnk
u 05z1opot. majd az ei7J;;özttlrban lal:'ilhat6 e!s6dleges kulcs ikOflr:l. kell kawnt.:lnunk.
Ha egy oszlopot aUIOtll<llikus ~kém ~,léok megadni. állíI5Uk a~ ldenlily
Specific:ulon OIlzloprulajdonságot Yes &tékre. Err6l a mlIveletr61 a II fejczetlxn tll~lunk
tov:ibbi infCJorndcl6kat.
....
-•• -_ ... _......-----
- _....o _,".".......
":..~"
.
_ _
. ,____ ... _...
~I'
O
[J
• ~
_ _ O
,--
.--
·"
.,. " !.
•
1
_._- 22.5."
ti Colcgonl!S Mbk< három os:z/cpol
tarTalmaz
ldegenkulcs-megszorftásot honéadésa
Az u pnet _use u tibia cgy--\6bb IcalX'SQlatban;l.U a Cat: eqor i e B tibl;jV"~1. Az adatbizis
épstgénck és egységességének meg6rz& érdekében illik létrehozni egy idegenkulcs-
megsroritáSt annak bi.n05í!;\.sára, hogya Cat:egorieB tibia U... rld &tHci valós rclhasz-
rcil6kra mut:l5&Inak. Ennek elvégzé:séhez IlliJasszuk a V!$Ual web J)e\'eloper Table
Design..r (Tjblatervez6) menOjt'nek Relationship" (Kapcsolalok) parancs!il. Ez megjelen(-
U a foreign Key Relationsh,p" OdegcnkublcalX'SQJatok) t»rbesz&labJakOl. Az új ide-
g.:nkuJcs-k:apaolallé1rehoúsához kattintsunk az Add gonll:m ( Jj,sd a 22.6. ábrát),
556 1v. ráz • w.... tOtÓIb.rn IáDté•• IlASP.NET S8\IItsév'wI
--
- .
"--
22.6. lIbra
~ rabia /dcscnftulC:S·"'''8S="ltbarnw. mQl<ldds<> Q I'o.-clg .. Kc)' RclQriQ".<IrI~
pQ~b1altba.,
. "....
--
.. --
'
,,-~ ~ ,.
'" 1G!"i: i
22.1. 11bra
JI Ca/<'gOJ'f.,.-/óbla lJS,erfd os:dofJd>J"k Id"")d$a aZ tl.fpn'·CL'1er< tábla userld OJZkplhoz
---
--- -,--_... .. ,=:1
•
_. .
,,-
-- -
-
"
"
.. [j
- - ""
_ _ CI
--,. ,
••
•
-
.'
22.8.Mn
A ,."..dszrr/J<o fol/WI ml",l.." lWPheZ "&1"<'8)' lOrh latfo;z"j " Pl<:tw e IdbltJbt",
kr. nWOPOkOn kh"Ú1 ket idegenkulcs-mt'gSl.OÓÚSl is meg keU adnunk. kr. els6
rneJPllOI'iw megegyezik a CiOtegor'" úbla ~ idegenlrulcs-~I;b.IY:i1
al aapnet_U.~ra úbb U..... ld d$6dJq;c:s kula O5Zlop:it b.pcsol", a pletuu. tábla
U.er ld idegen Irulcs O&Z:!~hol.
_.-
~
...- . _-
WI . ...
ED lftmg6rltf I<l~
-
m'-"""" 1Ioc=<l1lapc.w /tIIP
,Uszi>A1J lU' ~WWff/1
"""""m
A Comments tábla létrehoma
A fmyké-p1lbum awtll1zis.ilUk utol~ ubUj:I. a ~ _nta, amely egy-egy OWOPO!
fog taru.lm.awi a felhasm.iJók ;\11.31 az eg)'e1 képekhez ln ~k wn1J:ra_
A :~U tibI:t:t kÖ'l"elJrező hal 0!W0P0t uru.lm.azza:
• eo..ntlD -aUlom:tti!tuS IIOISUmolbö. iDt tipus(t els6dkge5lruks oszlop.
3mely eg}"CdiIeg azonosít,:t az egyes ~et.
22. 6rI • A ~ 11..,,, !eMnek etiSZft6M 1559
__ ...
jelöl6n~gyzetnek. A táblát az oszlopok lé1rehoo,isa utfin a 22.\0. ábra mUllUja.
• --
• •
- -- --- - •
•
•
22.10.6tn
•
- .~
• AmilIm" <'ID' foIhm:ztuj16
~mI Fa «I' Itephez.
l n ebbe " lábltlba IlenU
A m.1sodik megszorft1s a Plcturea tábla Pictur eID els6dleges kulC$ oszlopit b(lC$Olja
a COll:rl'lent 8 t!ibla Pi ct u r eiD idegen kulcs o:;;:dopáho .z. Ez II megszotít:ís alapéflelmezés
szerint rlCfll engedélyezi a fellus.lI1..1IÓflak az olyan képek törJé~1. amelyekhez megjegy-
zések tartozn:r.k. Mi\'eI a felhasmil6nak nincslehei6sége a ~k srerkeszté:5ére,
Welye törlb&e a webes ftnyképaJbum.,.lk:r.lmaÚson keres:ttOl, c!b'ZeN au,OIT\;llilrusan
törölni ~ k~z tartozó megj<.~ket a kép törlésekor. Ennek megvalósit:W.hoz
~UílSUk ennek al idegenkulcs-megszorit:ísnak a Dclete Rulc rulajd0ns5.gát C:as;;ade
tn~kre (l!isd a 22.11. ~bcl').
--'"'--
22.11 . in
IW /o1rlJlnle "ID'~. minden
hozzd 1hrl<)Zó ~é< ls
awo"UI/ikuvJ>J /tJrlQdrk
Azt javaslom, hogy sz:injunk pjr perce{ ntrulny modell felVlizollsfir:l. a ja"asolt
wt"boldalak sürru1.ra, Nem l~eL1k jó vagy rossz felh:lSUlál6i felület, teh~t nyugodtan
kiproMlhatunk killönfélc tCfVeket és ötleteket. A modellek elk6zit6ckor prób;1ljuk
II végfelhaszn:\16 helyébe képzelni magunkat. és kérdezzük meg magunktól, hogy
rruként v:ll6,;it:m~nk meg a haszn.1lali eK'iekben leirt konkré! feladatokat. Törekedjünk
a!T:I., hogy a koribban 9LOfloo>ilQtI feladato!! minél egy~zerúbben elvégezhetők
legyenek a felha~m~l6i felületen.
Összefoglalás
Ez az ÓI'2 az első abból ~ h.áromb61. 3melynek Sl'>l"án aZ 31~pokt61 hozunk létre
egy ,,:ebes f61yképalbum-alkalmazfu;t. Amikor OOletetl pro,cktbe keroOnk. az el56
lépés mindig a tervezés. A jöv6beli siker úloga ~ tervezés alaposs;\ga és min6s{,ge-
egy el"'gtelenül megterveZetI alk3hlllltls szime biztos, hogy sikertelen lesz.
Az 6ra végén a felha.'iZn:í16i felOlet modelljének dljMól és el6nyeir61 volt 5z6. Mim.1n
befejeztilk a tervezést, készen állunk a flmyképalbum-alk21mazás felépítésére.
Kérdezz-felelek
K': A PiC/IIres llj/Júl Cau:g(1)'ID oszlopá"ak AI/oU! Null jclőMn~(!te miht t,<:m
bektlpaolva? Mil jeleni az, ha II PiClUres tábla ®.k rekordJánál II Calcgo1)'1D
oszlop htfke /Iillll. ér megengedi eZI az Itkgcnlm/cs-mes=rilá.I.'
V: A rendszer tervezési elvárásai közöl.1 szerepelt, hogy a felhaszn:il6k lallegórükba
sorolh:l5llák az egy"" kq,ek<-1. Ez alI jelenti. hogy egy adon k~ t:>rtozJt.~t
egy bizonyo:; kateg6riához, de :ll is lehet. hogy nem tartozik egyetlen kateg6riá-
ho~ sem. H~ II Picture~ !.illi egyik rekordji~1 a C"'tegorylO oszlopban NuU
érték szerepel, akkor a k~ nem tartozik egyruen kateg6ri~hoz~.
Ez gyakran használt megoIdb, amikor egy egy·t6bb kapcsolat .több" tábl1jjnak
reko«lpi lehet, hogy az .egy" úbla egyik rekorojM>oz sem k:.(lQOlódnak. Ezén
a Null énékeket megengedi az k1egenkulcs-meg$2OfÍÚs.
K: Amikor afolhaszn/Uófolrolt ~ képet. fOuibbi informáciViNlt ls láro/III szeret-
nék. példa", azt, hog)' a kép másfclhasználók számám ls ""'S,I'ki,,thcllH:.
Fclloc!Jelcm 50ját C[!Yf!(1i oszlopa/mal a Picl .. res IlJblába'
22. 6ni • AHnyk"p1Iun-IbIrnIz6I terrinet Il6I:zfI:h. l 56l
Ismét16 kérdések
l . Ml a szoftverl"ejlesztés tervezési folramaúnak Idrom lépése?
2. .A szofrverfejlC'lnés tervezési Sl.3kasza ~lt:at.1ban ism(:tl6d6 folramat." Iga? vagy
hamis?
3. Mi a használati est.'!, és hogyan ".,giti a tervezésI folyamalOl?
4 . Tegy!lk fel , hogy Van kl'! táblink :lZ Elnilloyees úbla els6dleges kulcs os:dopa
legyen EmployeelD, a Depa:rtments úbl~é pedig Depa:rtlllCntlD. Ha egy-több
kapo;olatOl1 szereménk létrehozni a DepartJRenu és ElBployeea tábla között,
mil tenn&lk?
5. Hogy:.n biztosítja az idcgcnlrulC$-megszorft:1s a hivatkoz1lsi l-psfget?
Gyakorlatok
Ehhel. az 6clhol. és a következ6 kett6höl. nir\C$Cnek to>"1ibbi gy:.korbtok.
A fl'nyképalbum lttrehoúsa a f6 felad:llunkl
23. ÓRA
A fényképalbum-alkalmazás
alapjainak felépítése
Á {eae lartalmabdJ.
Ehelyet! osszunk fe! minden 1~1 ktSd>b Itpésekre. majd val6silSUk meg a kisebb
lépéseket. I'tld:inkoon ez aZI jelentent, hogya Jtnyktp:1lbum Il:treho:dsa" feladat
.a kezd60ldallétrehozása', .a beU'p1et6 oldalll:treho:dsa" 5tb. lépésekre bontha ut;1n
V"aJ6b:on ltue ls hozzuk a weboJdalabl. Nyilv1nY:.lló. hogy ezen a ponton ezek
az oldalak egy:lltal1n nem Ie!;znck még mílköd6k~k. de II ki~ ltpé5ek megva-
l6sít.1sa a 1000";\bbi Iép(-sek felsorol1s:l előtt segíLSt'giInkre lesz abban, hogy az eL6!rank
:UIó felad:.lokal kezel!let6 S2imcn I:"tsuk.
EIJY adon oldal meqval6sftása során ninc::s&nek merev $llIbályok IIIT\I vonatkOlÓan.
hogy a weboIdaIITIe9Val6sltlbának m8QIIs s.zintű leladatát mikor ossruk egysrerúbb
lépésekre. tn által6ban azt az alap$llIbályt követem, hogy amm 1lIIY adon 19iadat
ije~ónet lálw. vagy túlsá!JDS<lll összeten ahIlOZ, hagy teljes egészében megértsük,
akkor kel kisebb lépésakra feloszt;tl\unk azt.
23.1. ibra
A ..."nM, a u'ebllCly
...eslf!rnlda/átull,
/éffchozlJsA<r1J .l!.<zdftlJ.
lehet, hoqy I webhely már rendeltelÍk egy Mtlllállo$ De f aul t. aspx oldallal.
Ahelyett, hogy megpr6bálllénk el6mi, hoqy I megIéVÓ De fau l t. allp" oldal
ft mestefokla1t61 öiW.öliön, gyorsabb és egyszeníbb, ilii tiiróljúk ezt a hetyettesrt6
oldalt, majd úirllétrehollllk illi egy mestefoklal kjylfllastt!s~III.
Ahogy korábban n>!ir volt rola 51.Ó. ezen a ponton nem fogMkozunk azz:.l. hogy
mcrköd6képc,;st tegyük ezeket az oldalakat. Kés6bb egyenként v;..szatl'rilnk hozzájuk,
I's megval6sítjuk a szOkstges sroIg1hat1sokat. 1\1o:;t CS3k az a célunk, hogy e~
egy feladatr.!. Ö&zpomosito;unk. f:n azonban 1K'1ll 5ZOktam teljesen üresen hagyni
ezeket az oklalakat. hanem ~11:lL1ban elhelyezem az oldal ne"á 3 unaltru részben.
~;F-·-e
•••
-.-
I
_._-
'
~. ,,- --
....
~_"""fOtI_
.->0 .. _o.ln_-"""""
_ _ • _ _ _. . . ""' ..... - . . . _ ..
'-'-'
--
"--
--
.--
232 ...
II CMuft:,,"-m.MpXokIaJ
--
llIe O r. . . . . . . . . , . • • •
il'
23.3. "
F,o- ....lhofifOI~ .. tcgin.41Jn" oIddkm ~'U WPMI be ti II~"'"
Im
....... _....
1 _ _
-
,, _ _ _ , _
'
.
~
"
• - _'o
••
~-
f- _",.-~.:-~.o.lIIIe:
=:-,;;;:~~·
,.... .-...~·~-~·~:I
I _
I _
Tk
..... 00_
Online Photo Album Home
.;;.+ ~ . . . "'"
..0.-
n .4.11br1
ti ..."", .......... foIhasnwltMm /tJIotIIUjull """II " honlapot. ""'fIirimUt." LotI/n h/... /wds
- -. -
Online Photo Album Home
....
_....
23.5. 11br1
,IlrmA" "foIJtas':mdI6lwJe'mlllneo. qt). Od,06VII Jlttrwf. rMItJ",irrl "'" h"...kmtJ
\..'~Ió:n1nűl~ látrunk mir oIy:on .... ebokbbkat. amelyek URL-je így nl!z ki
----- ;::=:::::l
--,~
_.,-
-- .--
-- - -
--
_._---- ... 1G;iJ
23,6, 6In
lo,o.afol a /ell ~r6ItIfOJnbt az Add WI/ERE a..wrepiJ~"
,-,-
_.......... ,_.-
-.-....-
- -
~-..
-'-
'""'-><,-: .... :--
--_._-~-
_. _ _ .
( . G!!iOl
23.7. in
tU" !iqlf)atn$Qo.rrl' .~ tu tJUU$ j6uJhDg)'oo, ""'" J/h"" foihauroáJó n'SSUla/l4uI".
6Jlil(}#,,1t ""
578 l v. rúz · W.... foI6IbIntnzftállZ/lSP.NET~
Ha m:ir ugy néz ki a GridView, .tlOg)' szeretnénk, akkor az okQ!; címkéjében kattint·
sunk az Ed,t Columns hivatko~5ra:l. Fietds ~rbeszédablak megjdenítb(-hez. Ahhoz.,
hogy hiV1ltkoü51 jelenitsünk meg aZ egycs felhasználók fényképalbu!N:hoz, egy
Hyperunkfleld mezőt kell felvennünk. El&zör 37.0nban végezzük el. Use:rtd
BoundField eltávoliús:lt, amely jelenleg része:l. GridVICW bal alsó sarokban felsorolt
",.,zo5inek.
& uún "együnk fel egy új IlyperLinkFieldet. és mozgassu k azt az oszJoplista tetejére.
Végül a ~lyperl.inkFkld Text rulajdons:lginak adjuk a View Album (Album megte-
kimése) 6téket. a DataNa"lgateUrll'ield,. tulajdonság legyen U"erld, a Data·
N,,"igateUrlFormatString tulajdons:lg pedig PhotoAlbum.a"px710~{O!. A tulaj-
dons:lgt:rtéke knek ez ~ kombin1ciója egy hiperlli\'atkozlsl ad a GridView minden
~hoz, Vi ..... Album szöveggel. Amikor:l. Utogatók ezekre a hiV"~tkozások", kat-
tintanak, a PhotoAlhum. ftSpx1l0_YelhftunálóIdoldalnt jutnak. ahol a F"elhasz-
mf16ld a kiv~lasztOll felhasználói Bók egyedi aZOno:;ílója,
23.B. jin
A ~/on mcg",I<llhmó
YWlh .. ...,
YW I" .. ..," mi,,,,,,,, tlkri,'. '1I!m klmn
fi'l1uJsz ..iJ/6 ""U,, <IZ w""m<lro
m,j/ilI6 hI"mkoz<lssll1 fX)""
Ahogy 112 el6z6 6ráboo már voh róla SZÓ. a f~ fiókobt egyedileg BlOnos[tja
a Usedd OSlIop, amelynak típusa un1quddenti fier. A unique identi~ier
nagyon nagy wmot jeIeot, amely gIobélisilO és időben is egyttdi. Ezt il nilgy Wmo!
áltillábiln hextld6cimMis formlJban jllklnftik meg, tehát minden mmjegye! 16 karakter
j o~ g és ,,~ll valamalyikáwl jelölve. A haxadecim61i5 jtizanhatos számfoodsrerbelil
f0flTl8 CsK egy m'sik. tömörebb formátum 811Y fIiII/Y mm 'brálolásn.
A kategóriák kezelése
A tervezési elv:!.dsok kÖZÖlt szerepelt. hogy:il. fcJhasznJl6kru1k lehet~ keU adni
k-~teg6rilIk léUehoz:lisán, szerk~Zt~ & tOrl~. A kateg6ri:lk célj3, hogy segí\Senek
a feU,asznjl6knak az albumuk rendszererestben. Lehet pékUul, hogy egy felhasm11ó
kf:t kategóri1t 3d a~ albumához, Badtok és Helyek néven. Az új képek fellöllésekor
megadhatja. hogy az adolt kq, melyik kateg6ri:\.b:I taJtoLW(l. Amikor Utogatók
egy ~dou felha.sut:l16 fényképalbu",:it né7.~'\ik. lehet6ségük lesz ~ képek kateg6riák
alapjin tönén(! szúrbére.
Ebben az óclban az t-t 1éJ*ssc1 fogunk foglalkozni, az S-7. lép& a következ6 6rám
I!l.lrad.
:-e •
0_
0_
...
0_-
0 __ - 0-
ZH. an
Allil$1.k bil a hozzáférési }ofI,<m,ks6P;OOa'. hogy Q nb."U'ktl f,./1uJsrn<l1Qll
"" Mf08tllha«<lJl a ft'lilgye/nl oldali
23.6ta. A...,."'m ••, , li·· ... 1 '1 1. 1 . 1581
~nk !ddt egy .... beI ~zérl6t ~ ManageCa.tegoc le.,asp>< oldal wtalmi rés:di"Oe'Z,
;tUisuk ~ cimke JOruLaJCklt'Wg11 a uae. .. I<!Vahw bI:Hcn.-, l<'lfőljük II Text ruil~t,
ts iJlitsuk:ll ViBlble tuiljllons::1got. hlle éntkTe, hogy a cimke ne 1e8)-"eIl Ulhlltó
:II feIlI:lSZlÚ16~. Ez uIJn adjuk az ~ bejelen!kezett felhasznJJ6 u.. rId
trttkét a label \"ettr\(5nek, v:iltsunlc az okbl fcm~k(xl rész&e. és hozzuk lc!1re
a FageJ,oad esctnl-nykezd6t. (Ell:ll CI/ulmi rtszben dup!:1.n ka[umV'~ ls lc!1rehozlu!juk.)
A Membership oszt.1Jy több filggvro}1 is k'n.11 act ASP.l\'ET t:l,gsági srolg~lta\!is;lillOZ:
rendelkezik például CreateUner\). GetUner (), GetAlIUsern (). DeleteUser\ l stb.
fill!8'~nyekkeJ. A GetUaer I) filgJf.ény a~ <:ppen bejelerukezeu felh~s1.nál6r6l ad vism!
infOfflÚdókat. a ProviderUaerKey rubidonság pedig a felhasználó UBerld ért .. ké! adja
vissu. CA ProviderUserKey rulajdonságénl'lcre:l . ToString II filggn'~nyt kelJ
meghívni. mi~'el ez 31. 6ték egy egyedi nonos1l6. és karaktl.'rI1ncd kell :lbkltanunk
annak érdekében. hogy a Label Text rulajdonsligUxm t~rolha..<suk.) Ezt al btéket adjuk
a UsendV"l"e !..:Ibel vererl<'l Text. rulaidonság:inak
MO!\I. hogy mir '"an egy Label vezérlook u oldalon, amely az;,ppen bejelemkezett
felhasználó UBerld 6t"ké! tartalmaua, ~lhatjuk n SqlDataSoorce vezérlő 11\111
16rehoZO!t WHERE ziradékot. FJ6ször húZzuk az egérn-I az SqllhtaSource vezérl61:
a Toolbox palettár61 a t('rvez6 oézedJe. és ~JJíll;Uk az 10 tulajdonsá~t:l categ<>rieB-
DataSourc:e btékre. Ez után inditsuk el a "ez&16 '"arli~t. a Configure the select
SUtement képemyoo a lenY'16 lisclb6l \"1l.a5szuk a Categorie.. \!ib/jt. és jelöljük be
:I C"tegory-JP. U5e .. ld és N""", oszlopokat. K:lnintsunk az ORDER BY gombra. és
\"1!3I&uk az eredmo::'fIynek a N""", oszlop alapján tÖ!l.o!'n6 ~
... -.---
_
-- _-__....- .... _.--....
.... _.. ... ~---
~----
~
._-
::_~
•
---
-- -
'--- 23.10. 6In
I ~.1,,1i fol "v' W1IERé
zámdékszlin5l. h<:tD'UIlIi
- -r,'? ,= ti /x'Jekmlieult fi'lhap:"á/6
M{'g előttünk ~lJ egy fontos beálJíru az SqlDataSoun::e vezérl6vel kapcsolatban. Amikor
egy szllrókifejezés<5e1 vagy egy WSERT, UPDA"l'E vagy O!LE'I'! utllSlt!issal dolgozunk,
amely tan.,lnuz uniQUeldenti fier oszlopo!. akkor sajolt keZllleg kelJ módosit:l.Ilunk
az. SqIDauSource parnlllétergylljteményél:. A catOlqor !e.. oataSoruee SqIDataSourc.:
vezl'rl6nél a 23.1 péld.1lJ3n l~that6 kódol: kelll~munk. (Vegyük rtgyelembe, hogy sok
<asp,SqlDataSOUrce> clmkével kezd6d6 tula~g kinurndt a tömörség kedvéén.)
A 6., II. és 14. sorban SZen:PI6 Uaerld <asp, Par"""'t er> és <asp,ControlPArameter>
elemek Type ruJajdoosigin:lk értéke Object. A uniqueidentifier éttt'kek esetében
teljesen el kell t~volít;J.nunk a Type tulajdonságot. Ez azt jelenti, hogy ntind ~ 6., mind a
14. sort it: keU Imunk a kÖ>\·etkez6,.e, <asp, Parameter name~ ' U.erIQ' I> . A J I. sort
pedig így kell nv.'xlosítanunk: <asp, Controlpar""",ter ConuolIIF 'UaerldValue'
_~·Userld' PropertyName""Text· l>.
Új kateg6ria felvétele
A ManageCatfl9ori ..s ... spx oldal megL1logatásakor a felh35zn:l16knak leheh~sé8ük
ke!!. hogy legyen fénykl'palburnuk k:neg6ri.1inak megrekintbl're, szerkesztésére, törié-
stre és be!;zúr.i~",. A DetailsVlew lu.szn!iladval mindezek a műveletek 1TlCS"316sit-
haJ6k. de a Detai\sVteW egyszerre <;.$Ik egy rekord rneglekint6ét 1es7.! IeheImé. Ideális
esetben a felhasználó megtekinlheti az összes kategóriát, amit létreholou. A GridView
ad egy felületet a kaleg6ri~k kiimtáltira, de nem teszi lehet6\'l' a felh.u1.n:l16knak uj
rekord feh,ételét. Mh'el sem a Details\~ew, sem a Gridview \'ezéT16 nem elegend6
önllU~ban, ezen n old11on mindken6t luszn11ni fogjuk. A Det:lil5\'iew leszi majd
lehetmé uj k:Jteg6lük fel\'étdét, a GridVi(.,\\ pedig II meglév6 kategóriák megjelen!tl'-
5ét. S,lerkesnkét k lörléséJ. E\>bt,n a n.'szben me8"izsg~l;uk a DetailsViot."'W hoz:cla~
sának és bdllítisának módi:!!, :I Kategórl/jk "'f'iJ/ckin/ést>, s'zerlzc5;ztése lis /6rlése dma
részben pedig II GridView relv(1e1e lesz II téma.
Annak 6"dekélx>n. hogy II felhaszn:ll6k (jj k:lIeg6riikal vehew:nek fel, adjunk egy
DetailsVteW ..ezér1& aZ oldalhoz, az ID luJajdomi~,pt ;\,lIílSuk,. dVCateqorleaInaert
értékre. t:lJ'$itsu k a eategodesDlltaSouree SqIThltaSource vezl'r16höz, és jelöljilk lx>
n En.~ble In""ning jelöl6négyzelel az okos drnkl'ben. A [)eJailsView alapénelmezb
szerinI <:S:lk oIws!ut6 rnódOOn jelenik meg, és egyetlen rekord én:ékét jeleníti meg
a honi klpcwl! SqlOauSource \'ezérI6b6l. Az oldalI megl1togat6 felhasználó új
rekordO( a1. Insert (Besziir.is) sombra kanin"'a \'ehet re!, amely benliró módt.. ~Ili!ia
a l)etailsVlew vezéri6t. Mi,'eI ennél az oklaln:ll a DetailsVlew CSlk az új .... kordok
felvételének cél~b61 szerepel. an akarjuk. hogy 11land&m besz(jró módban legyen,
hogy,. relhas.zn:llónak ne keUiffi,. New (Új) hiwtkozásm kattinunia. Ehhez ~llilSUk
a DetaU .. View vezérlő Def~ultMode tUJajdonsáfPl Insert énékre.
A Det:ailsView besziiró módja két TexlBoll vezl'rl6t jelenít meg: eg)'C( a Userld és egyel
a Name oszlophoz. Mmdazon.illal nem akarjuk, hogy :. feU~~szn:l16 v;iL!.ssz:I, ki a U"erId
én:ék«., hanem,. Userld 6Wkénd a bejelentkezett feUlasmill6 sapt Userld l'fIl'kl'nek
kcll1cnnie. Ezén CI keU ~volítmunk II Usecld mez& a DelailsVjew beszúró módj:íból.
Ezen kívül, mivel a DetailsVIt'W m,ndig l~that61esz, I':s mindig bcszúró módban jclcnik
meg, nincs S7-Ükség Cancel gombrJ.
Ezen" ponton kq:.em)"OOk 3 23.11. ábr:l.hm ha:;on16:.m néz ki. KilJÖflÖoien flln'Clil1nk od,
a kövctkez&re: az oldalon t:Il:iJható cg}' UsecldValue label \"ezérlő. amelynek Text
tulajd<;>r'WJfI aZ éppen bejelentkezett felhas-wi16 Userld értéke. II categocieB'
oauSou .. ce SqlDataSoorce \"ezéri6. amely visszaadja a bejelemkc7.et1 felhasználó
katcg6ri1it, é:s INSERT, UP!:V.TE é:s DELETE-t::i.moJfltá5t nyújt, valamint II dvCategode8~
Insert DetaiIsV.ew vez6i6, amely beszúfÓ módban llthat6 egyellen Name mezővel.
23.11. 6bnt
- .''''''
• Az oIdnlon /QMlhaló
J)oofaikl1,'''" ,fm"!rl(f
támog"'ja" bcn,ítilit
Még egy fontOlIlépés V"~n Mtra. Most. h.. ~Iunk új kateg6~t felvenni, akkor
ezt a h.i~1 kltpjuk: Cannot insert the value NULL into column 'Userld ' CA Userld
mez6ben nem ..dhat6 meg NUI.l bték). Ennek az az oka, hogy eltivoJítonuk a Userld
mez61 a Detail>;VJeW vezl..-l6b6l, elén az Insen gombrn v:I.l6 kattint.1skor az adatb1zi$
INSERT mil\"elete sikend"n lesz. men .. z új kategória Usecld énéke hi1nrzik Ennek
kijavftás!ihoz létre kell hoznunk egy escménykezel6t a l)etails\rJeW vezérl6 ItellÜn-
sectinq cseményéhez. Ebben az es<.'1TIl-nykezel6ben programból :l.lIithatjuk he
~ UIl .... I<.I btékét az éppen l>ejelentkezelt fclhasznll6 UserI<.I énéklire.
581 Iv. r6R. W.... lul6llunt" .. IIIIZASf'.NET.~I ...
EUeI az eg)'ftIen kOCIsonal iTItN ilÚr fd ruwnk vftlIti kateg{ritbt. M06t nluOk meg
az oldali a ~ A PhotoAdooooin/Def.ult .... spx OiCbI megbllOgalÚak~
úgy vclte!únk fd egy uj kal~ U fppcn bcjdernkezcu fd~. hogy beirJuk
:a kaieg6n3 Ile\'tt. ts :aZ lruen hiv:alkoúsn bruntunk. Jelenleg nem idl;'nnd( meg
a meglév6lulególük 32 oldalon. de ha a Vi5u~l1X"eb DeveJoperbell leklrujilk meg
:a C... tegorlel ~b1a ad:!.\3it. akkor liwljuk u ú;oon;1n felven kaleg6riikaL
•" - .- et • •
Ali
23.1 Ut...
fI}.... górla fol! tft:1Ihet
~frjuJlbe .. ,,"'"
_W. is ~lfi'llJ1j",
az I~ Ir... .,.kum,..
0-'
23.13. "
A C VÓi51db11l
tJdataj,..,... ;,...6.....
/áthm6Ld ..il.....
a .... "1!Ó'Í<U'
A B.12_ ~bdn a Pbo~o.t.dain/o..tault .up" oldal Uth:u6" böngéz6be'" a 23, 13, ~bra
pedig" Cateqori•• ubi" t lnalrnál mUlalp 3 \OOal Web DeVeIOPerben, miut.fn JlSUn
ö( kalegórtil'~ fel
Abpértelmel~ SU'rinl lu :ll: Add a New D.legO!)' (Új kaleg6ria felv~cle) felll<l.5Zl1ál6í
felületre feh'ett elleOOn6 velkl6k akkor ~ m(Jk~ l~k, ha a felhllm11ó egy
meglé-'i\ kneg6rd1 nerkeszt. S~ at ASPJ"t."T rn6d<x 3d a~ ellen6rz6 ,..,~
~ ~ egy;odou gombh<n ,,,16 bpcsolb1l'l1. A 4 ~ 6. Ilptsbefl hllm11t
Val idationGroup tubjdonsig egr cl~..,~()( hoz létre. ~ en a
C!IQPOItO! egy Buuon "e;e&l6llÖz bpcsolja Mmden azonos Val1dationGroup
t\lb~gbtE-kkel rendclkellJ elJen6nö vel&16 C5OpOfIhoz t:tnoron:.k mm;l, ~
minden be:!lIilOlI val idatlonGroup tulajdondss:al rendelkez6 Huuan veu:rlő csak
nokat al ellen6l'7.6 ,..,zé;rl&et indítja d, amikor a fellusznil6 r.lk-Jninl, amelyeknek
ugprutl:t ValidationGroup tulaidonsiga A 4. 11'p6ben egy C... t .... oryllUlert ~"Ú
C5OPOfI()( honmk léue. amelynek eg)'eden tlgp a kqullalField\':tlicbtor, npid
a DetlíL'lVoew lnsen gombját ehhez. II C§OJXW\ho~ tarsitjuk a 6, ~
MH.llln dvtge1:lÚk eteket a ltpbeket, mentsOk al ASPSET oldalt. maid lekinl5Ük meg
a bongész6nkben H~ moo;t az Insert gombn lcuumunk anélkül, hogy megadn:lnk
eg)' ne\'e\ az úl kalegóna 5Z:im:íI'l1, akkor egy (ÍtmuClIÓ 01.enetet kelJ jjlnunk, ahogy
3 23. 14. .ibmn;" 1:ittl'lt6.
--. -
H O _ y .... " , _' . CaI_iM
23.14."
Ha '" folhMZ"'W ~ ""'ft
-,..d.d .....~ ,pá""'....
ú"",,1lJJd ~ jtkoru, mt!
Z3.6A·A~ltm ' . . . . 'I""'_'rffh ! 15811
Ennek meS'':tIósíd~ho~ ""gyOnk (el egy GridVicw ve.térl6t II OcuilsView ~l~, !:I.~l$uk
a c .. tegor1eaoauSource SqU)..",Souro: ,"Cz&lőhOz, é 10 ruta~g:1ru.k adjuk
a qvCategor Le. &téket_ MIvel e;!; a GridView minden uteg6rdt meg fog ideníteni. b
lehet6\'f .es;tj a felt~l6nak ezen ka.egóIük szerkemlsét é ~, az okos
cimk8x-n Upcwl,uk be u Eru.ble Paging ( Lapoús ~yezbe), u. ErulbIe Sorting
(R.,oo.,zk engedél~'ez<!:se), u Eruble o.,leting (Törlé m8~lye~) k a~ Enable
Edittng (SzcrkesztE-li engedt!}'crbe) jl'10l6négyZetetekct.
Amikor a fetl~1ó 3 GOOVlew ve~ szerkeszti. hib:! fog fdlépnl. h:l nem ad meg
tnékct a k;iltgóri:lnév $l.1ndra Annak burositis;1r.o, hogy a f~ megadi:I ez!
az érttket, el kell ,:tgeznOnk 3 Grid\·jew szerkeszt" felliletének fe:il/'eSUbbtt. oly mó-
don, hogy 3 1'\;lme BoundFidd mez(,( TempblerlCld melÓ\~ abk"í'Juk. é egy l!equired-
rleldValidatort adunk hozzá. Ez u~n 3 Requlred~~teId\'alid:olor ViOlidatonGroup
tub;cJon.s.ig.mak v-~I:lrnil)-"""fl e~1 ért~ke1 (mondjuk ClltagoryEdle) kelllldnunk,
a Grid\~IC'\· parallOimez6jéoek Valld11tionGroup IUlajdonság:ít pedtg WntbJ u~
az ért&le kell állítanunk.
"
4: I'rot..:t .. d !!Ub pegeJ.<>O,d!ByVal .ender A. Obje.:t, Byvat e As
.. Syst_.EventArga) KlUldle. !te.Load
5, UaerldValue.T<!xt ~
.. ~r.hlp.o.tU.er(I.PravI~rU. .rltey.~trlngll
,,
6: Ind $ub
- - e '.. ? ; i
_ .... 1 0 0 _
23.15. 6bra
A fi.~hn=uiW.
rncgt.llltOZ/a/Mlj6k
a ~rId/. ,«<"It
Összefoglalás
Ebhen az ór.\oon elkezdtilk a webe! f~nykqx.lbum-3lkalma~s fejlesztését. EI&zőr
ÖSS.zd1líioounk egy Ilst:lt a projekthez 'wksége5 oldalakról, amelyben egy ~eroldal
!il hat !ov:1bbi old.al szerepelt, majd létrehozluk ennek a hal oldalnak a f1~jai1.
Kérdezz-felelek
[(: "kczdóoltlulrm U!eIlUlSZl1aló IX)' Gridi jew t'eZ,Jrlót lal, amely felscrolja
a rmuJszcr!cllJ(~,áló{1 Nemjog ez ullsw ki.!zelhl:lelletmtJ r>állll. ha
a rendswmelt löbb lItem mgy lőbb sza: !ellJasntfilója I<'SZ?
V: A kezd60ldal felillclffiek megtet\ezésekor VlII6ban nem szimoltunk fényk(:pal-
bumok !<Úul""L Ha úgy gondoljuk, hogy webhelyünkön 50 vagy több felhaszná-
lói fiók lew~ érocmes mcgkÖl1nyíleni a webhely albumJiscijinak megjelenítését.
Mcg"alÓ6íthamnk egy k('n~oIgiltatást. ahol a fclhauniló beímat v:lbmílycn
SZÖ\'eget, "'" ('fre a rendsz(>r vissul3dp awkat a felh:osználókat, akiknek a Ueer-
NatQe lul3jdonsága t:Inahna7,Z:1 a n>eg;ldotl SZÖVCgt.1
Egy m:isrk lehet6stg, ha 1000~bbi infollIllid6kat adunk meg a dbl~ban , például,
hogy IIliny képet larutlmazna.k az egyes fe!használók albumai, él; hogy mikor
történt az utoLsó kép fehölt~. Az dren típusú infOl'TTdció segíti a l!itogat6t
annak meghar~roúsában, hogy egy adotl album fris>.i1h.e mo:stan:íban, íIIctve
hogy tllltalmaz-.e képeket. AhtIOt.. hogy ez a kíeg0nJt6 ínform:id6 ~zen.'PCljo..'1l
az egyes felhasználóknát az SqIDat~Source "ezérl6 SelectCOIIW04fld tubidons.1-
gát " következ6képpen keU beillítanunk,
Ebben a7. utolsó 6r:'ioon még jó sok munka van el6mlnk. EI~ör i!; be kelJ fejeznunk
a fényktpc:k kezeIbére nolgil6 reSZt, és lehet/ké kell t('nnUnk a felhaszn.i16knak,
hogy új képekt1 töllScnek fel. és a meg!év6ket kezeljék a PhotoAdmin/Oefault. "spx
okialon kere>.ZlIlI. Ez ut:U1 el kell kl:szítenUnk a Photo.lllbwo.asp>< él; a PhotoDe~
tail. upx oldalakat. A PhotoAlbum."spx sort>lja rel aZ adon fdluw:nll6 fénykép-
albumJjnak összes képét. a PhotoOet"il,aspx pedig megjeleníti az adolt képel él;
a houj tartozó megjegyzéseket.
l. Vegyünk fel eg)' Label \"eltrlOt az oldal.,.. Törölj\lk a Text tulajdons.ig értt'ká,
majd a vtdbletu13tdons.ign:lk adjuk a True. az ID tulajdonságnak pedig
a UaerldValue t'rtl'ket.
2. A PhotoAdmin/Default ... spx oldal fombkM ~ adjuk hom a következő
k6dsort a P"lle_Loac1 esemt'nykezeI6h61.:
U... rI""alue .Text • Melllbenhip.G<ltUserC). Provid"rU8erKey. ToString ()
24. óra • K'eK fIIIt6It6M n magj,l,ulth , kve rnegie!n'lh,l( iiu 1597
•
Uj képek feltöltése. fényképalbumba
Alkalmazisunkban a felhaszn.á16k <;Sak olyan f&1yképeket tölthetnek rel ~z albumukba,
amelyek a $:Ijlt szimít6gépíikön ul:íl1l'1tók. Amikor:l felhaszrúlók f&1ykq,albumuk
felügyeleti oIdalin egy új kép feltöltését ~bsztják. leh<-16séget kelJ ""kik adnunk, hogy
kivilasszanak egy képel. a szimít6gépOkn'íI, és megadj;mak ahhoz egy dmet, egy lcír:ht
és egy katcg6riit. Miutin kivilasztollik II kl'pet . rnegadtjk a dmet, a lcir:lst l!s
a klnegórot, majd aZ Insert gombra kattintooak. a képfJjl (:ut.:limát.fol kelll(JI"",/
a webklSZoigál6r:a, ahol egy m:l5ol~! t.:Irol6di k a képről. Ezcr1 kívül egy új rekord kerül
a Pictu~e5 ~blilba a felhasználó ~lt:tl megadou dmmel, leir:lssal és kateg6ri:lval együn.
I. I'd kdJ 'T,mi az. UI rekordol a Pi ,tut•• t.1b1~b:!.. Ez a rekord l~roIj:1 a k~ dmét.
leí~t b btcgóri.1~t
2. A fdtöllölt k~ a "ebklSZOlpl6 f~jlrendszcrebe kdJ ment"ni.
fil -=::
=,=,=,=.=,= '_
:1==--.-..-
~"'u"ii'
- , !' ii
V.
1111.111
o
24.1. ""
Amirlllx Q friJl(wm/J16Jt
AI .... - . . . . _ _ [eúaJtt'''H ~ lIIPfY
.ttl " ~ ...... a }i'n)"""""bumlJo, Q IfIpflljl
~ I 'I.."
a u:et>Iri.<zoI.El6m krol/
r
EI6SWr il; vegyünk fel egy DelallsYoew vezér161 az oldal .... ID tula~g.1.ruIk adjuk
:I. dvPictureln"ert értéket. és a OetaHsY""" vez~ okOl!; dmkéjEnck IcnyM l~iib61
válasszuk a pictureaDataSource vezérlOt. Ez utin 3 lloI!faultMode rulajdonságot
~lHlSUk az ln .... rt értékre, hogy a DelailsVicw vezéM .1Uandóan beszútó m6(]ban
legyen.
Ezen a ponIon aZ oIdalrutk a 24.2. :1br:íhoz hasonlóan kell kinéznie, A GridVicw oill:ll
az e16z6 6clban ...... e az oldalra rd\'elt kawgóri1k a Det:lilsV;cw feletI jelennek meg.
_, _ _ o
2402, tibni
úJ It.'pe/t ez..... " Dt:I"I/sI'ku'I~J
/or:m;Z/U/ r6111wtóIl fr'
600 Iv. t6u • WIbes lOtÓIb.m k6SZIt6Se III ASP.HET ~...
Amikor ~ felhaS2.lliiló megl:hog:'lIj:. ez! az oldalI, és \.leír egy cimet, egy leir.ht és
egy k:lIeg6ri3azonosltÓl, majd az [n:;en gombra kanin!, vÍ5IiUlcs:l.Lolis bizt06ília, hogy
a J:>etallsView SqII):l.LaSüurce vezérl6jével egyilurmlködve megki.5éreIJe !:><=Umi az új
rekordot a Ph:tu .. ea tál)l:\.b:I. Mind:izon:\.ltal programból kell megadnunk k& adatOl
ahhoz, hogy ez az egyi\!lm1lködb. sikeres legyen: n éppen bejelentkezett felhaszn~16
USeTId én(;k&, valamint az aklU~1i5 dj!UmOl és id61: az UpdatedOn énék szám1r.i.
goryID mezl5 In ... rtIt ..... e";:llat.. tulajo:lo~glh. Eten a ponton:l CategoryW
mező IneertI tftlTelQPlate tulajdonsjS" egy TclCt!J,oX vezo."rll5! 1:Irt.~lm:lz_ Töröljük ezt
~ TClCtllox vcztrll5!. ts húzwnk ide heirene egy OJopDownUs! ,-ezérll5!, m:ojd az ID
tulajdo~g1Inak adluk a pietureCateqory értéka.
-,_... ...-
~_
24.3. ibra
A DropDou~JllsI toeúrl6
oJatfrJmfsllkbll
a ra/egorfesDalaSouraJ
,~adjuk "'''II
-
-,.--"
c__
24.4.*,
A DroplJou.~'LisI SeIt!c'MIW""
Amire nükl;ég\ink ""fl, az egy lov:ibbi elem a lenyíJ6lis!:1oon, egy ol~"an elem, amely
legfelül jelenik meg -- NOne -- (Nincs) fe!or.mal. Ennek az elemnek köszönhetően
mindig 1= legalább egy elem a lenyil6listioon. ~g akkor is. ha a fellUlszn:\16 nem
hOZOl! Iéire egyetlen bleg6ri:1t sem. IOv1bW a feU\aSzn:1!6 kl~lasztJUltiJ en
a None lehetőséget ann:l.k jel~e, hogy ~ feltöltött kép nem lartotik egyetlen
kalegóri:1lX1 sem.
•
-- ---
Z4.5 . ...
!toN _ <'km frI'tffl'Ie .. 0r0pD0t1'1OJJsI
" 1G"i:'
,~ 1/NnS llyíljr......myM»
I'Oggt.'tIt:nOJ au61. hogy mik611 :1J1iljuk be ~ Valu", luliljdomJgot. meg keU kffeVlünk
II (0",1$ nézetben az imém felveti l.intt_pékUn)1. amelynek ..... Iahogy Igy kelJ
klnévue
~ .. p'DrwOt>wnt'.t ~v. "p;.,' turee.. t...,oryO """"t,', ,rver'
Dat.Soure.lo.·c.t~rl ..Dat.Source·
Dala~t'leld,'na.e'
o.taValua,leld.'C.. tegoryID'
Sal..etlt<!Vdu... ' <\I Bindl"C.te<;JoryID' I b ' ~
<aBp,Lhtlt_ 8elactfld,'Tnl.. " Vahlfl."'n'k ",,· None -<I •• p,LhtIt..,.
<la.p,Dr~L!.t>
Ett61 függetlenill módo5il;lnunk kell 3l < •• p, Lilt Ita.> elemet, ann:l.k value
tUlajdorudgil az üres k;i!"~kt~-r!~ncra ~1Ii1;V'~,
M,után felvettünk nthJny új képel:, t~rjünk vis=!" \Il5u..a1 Web Oeveloper ~bbldba, b
tcltimsilk meg a Pic t ,r. . t'ibb t;ln:olnút. Minden képOa eg)':IOmlIk kell t;lnovlla_
A feltrntki sroIg:1It;I~ m(fkOdőll~ t~eIe u~n pvaso!t ezeknek a testtrckordokll:lk
a tőribe. nm'd nem t;lnozik howjuk feltö/tÖlt kép, rIlOSI awnb.:m ne agg6djunk ezek
'llJaII - a ~~ ~ ~eI~ & ~ felhaszn.116i felulel k'prób:1lisa.
A klpfíj _ és_
Ahho~ hogy UI képckC'l :odhas.wnk ~ fmykq:.albumhox. már "",k lehet&eget kell
~dnunk a fell\a5Zf\ilúk!uk, hog)' kivál.ass7:.Jll:Ik qw képet a sdnút~pükn"'ll, b
feltöltSék, illetv ... menl~k azt ~ webki5zolgil6 f~jlrends1.C.'rebe . Egy ktp feltöltbe
a felhaszn.116 ~úmit6gt.>pér6I a wel>kiszolgll6 f~ilrends.zL....:be viszonylag eg)'szero
rel~dato( jelent ~ Fdel'ploKl ASP '\U',=érl6nek kÖ6WnhC'!öm. Amikor ~ fcll\aSZJd1ó
m..'gI~to8at egy FileUpload vczC:I'I6\'eI eUatou oldalt. egy UÖ\'Cgmeu51 é$ egy Brow5e
(Tallóz.is) gombot 1~1. A Brow:se gombr:i ltanlntVll megnyIlik egy ~lbesztdabbk, ahol
~ fcllusmJJ6 k....:il:l$llh:otp ll. kidm r;;\~1 a szimít6gtp6('S1 (lásd" u6. :ibrat)
- -0 ' .. 'iI:1
_.
-
- : :...
24.1. iIn
A FlIoelJ:olodd t~
"~,,
.. 'v... ·w..... ........ llllt.. ti li!ASP.HET-J! IUl'"
MJUlln II fl.'lh:o~16 ki"llarnotl egy f~lll, és elkOklle az űrla pot, a f;l~ 1;m.,11T\:I
II ,,"ebklSrolgW)r:I keru!. Az ASP,NU oldal k6d res~XSI a feltOhön Up lanalm~t
egy ti ,,·eblu:swlg.ilón található IT\:Ippib:l. menl.1~jlik
Eu'" II k~l&sel a Deuils\'lew vezér16 be5zúró felllk:te mo.st m:;lr 12rtalmaz egy Úl
amelyU61 a felhaszrnil6 klválaszth:UFl ll. sz1mit6gépér61:u album:iho~ h07.ciadnl
501"1,
kivam képf.1llt.
A t·det:pIorKI '"e:l:érIő
amonuulru$ln (eköIti II luv:11;w;!0ll fijlt a felhau.n<ll6 sz:;jnút~
P&6I a ..~Iór.I.. dc a felloltön f.á~ merudélM!"l kódot keU ímllnk Amikor
felhaszrUl6k ~J121 feltoltöa tlrullT\:ll akam;lk menteni egy ,,-ebkiswlg:1lór1. a fejleszu'lk-
nek el kell dönteniük., hogyan !le\-ezzo!:k el a feltöltött f~jlok:u. A FikUplo;Id \'ererl6
FHeN_ tulajdons:\ga t:lrtahn.azza ug)'"Jn 3 felhasználó ~ltal fe\töllótl ktp 11<-'''(,[, dc ha
ezt a fijlllC\'C'l ha$2n.1ljuk, névfitközés lönénlJet, I la I*ldilll Jisun feltölt egy HyOOg • j pg
neV1l ktpet. ts azt a wri>kiswlg:1I6n MyOog. jpg rltv,," 1T"'mjak, mi t<'lrt.l"flik:. lu
'":Ibnuknr kb6bb sam IS feltOIt eg)' HyOOg .jpg nev1l ktpet?
A prob/6ldra az a megOICHS, hogy OO:I.osít(uk, hogy minden feltol\Öl\ kq, egrroi f.i~nb'
vel rendelkezzen, Ezt ugy ga!".lnt~ltut1Uk. ha a felto11Ott ktper. Pjctllr6ID.jpg f.i~név\·eI
ment jUk, ~hol a PktureID a Pleturea tábla megfelelO rekordj.1ruk P1ctuutd
OS2lop6tfke, Mi,d a Pictur.lD oszlop elsOdleges kulcs. &:,!lI.nLllt:ln eg)-eW. eLélt
btztos:I.k IehC'lünk abban, hogy lIIir1dOl feltOkOa k~ ~ faiJno!:vvel fog renddkezrn
Ez egy fug65 k~ \"Cl felc hogyan h;!tlro=.Ik meg. hogy mi a fehöltöu k~ 12rtozó
rekord PIctureiD btéke ll. Pktur" t;1bI~b:l.n-' Meg kell \-;1munk. amig II rd<:ord
bekerill II Pictur.. úbl:l~ a feltöltöu ké-pC~~ ment6it' el6lt. mi,d a PleturelD &téh't
csak II rekordn:l.k a tábl~ba \':116 felvétele lltán fogjuk rudni, A Dct:alls\'iew vererl6
It_Ina rt..! ~ye ~~ 14I<1,,!nduI el. hogyarekord:u :Kb,hbl'qibUba került.
Ebben ;aZ e:.em('fI)~ lcktrdezhc.1jllk ;aZ :ubtl:4za!l, hogy megh'l1Jrouuk az adon
fdl~ legfrwebb PietureID &tl.-k&. ma,cl ('IlI'Oek:l f**,nek:/; ~V:/;I
'--I
mmthetfÜk" fdlolton fjjll A 2~,7. ábr.I ezt" munlufulyarrglOl TIJlUlja_
- - ---
" • :tI
.. -. -
mA' ,.,._ _ ....,.
• I I ... wloI~1 .. ou.1Ia
. - _ • ••<,",.. - .
~. """,,"-
.........
...... ....................... . -......--
_ _ ........ I IIsl la
-_._IIjI-
111_.' J'l_ _
~ :"~_.'~.;..r<... ! I ..
•• oa..-.o,p _
•
"
I' .'11,
u,..In·1P<l_
Ile
24.7."
('1 rNort/ .....JI" PI~I .. _I<lbUlOO, és c=- ,JI,l/l ~.."I4-"fi:WlI6It ~ "",,'ICH-
A (e!Iö!tOt! kép menlhéhez hasZIdI"ndQ fJi1nt-v megh:lIlfOzisihm ~ kell h'lIJ.rm·
nunk n 4>fl'en bcszűn rekord PictureID bttk&. Ezt megtehetjük úgy. hog)' u WoII
felh2wl:l1ó legruigyobb PictureID mtk& ~1;Uk & a Iogila mGkOd6llt.-pe;.
",hel:/; ,ktur.. tD 05ZI0P aUlom:l1.kus ~lJlOUSÚ 06Zl0p.:uni:/;ZI. PeIenli, hogy
minden ebbe:/; I-ÍIWb;. fel.'etl új rekord plctureID bt&e fl:Igyobb. nunl U d6z6
$ott Ml\"el" fdJuszni16 tpp:/;z .mml \"etl fd egy új sort:/; Pktur... UbUbca, ezt
a pktur.lD61"'keteg)-~ ~VlC'llllk, ~ at adon fdhasWlóhoz 1lI~
Iegna8)--obb pktureID éntket .'csszOk
Enn.-k mcgval65ltl,;Jhoz fel keU venn(lnk mtg cgy SqlDaIllSourcc \"czé116t az. oltblr:.
ÁllilSUk ennek az SqlDaLaSoura: \-ezérl{!n('k az. ID lulajdons:i~1 maxPkturl!IDDat.,
Soure,-" tn:"'kre. fs inditsuk el a \"ezérl6 Sdoo Dala Sourcc Wizard var:l:uI6j!l1. Amikor
a Conflgure lhe select SUlcmenl :/;blakhoz trilnk. "ál:/;S$Zuk II Specify a Cwtom SQL
5I:al~m {}I' ~~ P.--ocedure v~JlISZ16gombot. fs l<lIuimsunk a Next gombr:l., 1TIlI,cI 3
SELECT lapor! il1"k t,., 3 kÖ\-'etkez6 Jcktrdez6t
12 a \egn:lgrobb Pic~url.lD ~no!:ket adp VI$SU 3 pictur ... úbüb6!a 'U .. rID pc",,·
~ mcg!uúroron rd~l6hoz. MJul<in bcirtuk ez!.:I lek&dez6l. k~lunuunk
:I N6J. g<:>mbra III meg keH adnunk a 'U..... IO ~er éTlo!:ka (Ibd a H8, ~br.Ii),
Ahogy a clOt~or1"9DatlOSou .. c:e" a plc:tU ..",.D4tlOSourc:e Sqll>..r.lOlSourc.. \'e~
est'I&en il; lenOk. pararnokerforr:hként \.Iw"zuk a COnUOI. bdlliuSl. m::Itd:l ControIIO
Jcny\l61llil;ÍbóI a UserJdVlOlue dmk{:t, (EnM keUiink \;s.s>:a. hogy a '-'".rldValue
Label \'czo!:rio"S Text IUbjdons:1ga az lpren bc;c1enlkczen felh:w:njló Unr ICI o!:t1éke.)
-_._---
"_" __ •__ 5___ "_M __"_
-- --,
- - --
24.8. Mo
A Uu!rldIWu"ci..... Thtt ml"jJotI
s.igának adj". hJ.o/nIl " .1Nr1d
{><Im""".... bfa.H
.,
7,
9,
nim plctureINustAMe<I Ae Int"ll"r _
_ C'l'Ype(ruulu(OI(O). Integer)
El6szöf ali keU meghat:íroznunk. hogy nw.:lyik =1'1'.100 mentsük a fjjlt. Wd>lw.:Jyilnk
esetcl>en mentsünk mm<k-n felha5málók által feltöltÖt"! képf:i~t az tJploadadl_ll".
mapp;lba. (Vegyük fel lllO/it ell 3 =ppát II pro;cklÜnkbe.) A webhelyen Ihó mappák
dé!t5j út",! "" Serve... ~pPolltl\(--.:>""'_"'yen Rlgg."ény ~t!Jtgb"d Iu.úroz!ut+
JUk meg. ""hogy ez: a 13. sorhln btható. Ez: "" filSll'"ény~' t'irWális ek'Mi 11/a/(p8dIlIl
{t/pl~lIrwIlI. . f) '"eSZ :&lapul. ~ \.~ a hou;i lal'OOZD j/zIliaf e4.'résI Ultll
(pfkUlIl: C, \11)' I:Io<:u-.ta\JIy w..t:.,t .., ,PI, )~<;>A.lbuPo\Uploaded~.'). A feltuJtöa
k~ mentbth« fizik:li dér6i utal kell dolgoznunk
• ';11
.~ ~~~ I .-
~
-
ZU....
... ~ ... ' hm....., qy.wp.... R-<I"'~. hfo*6bht!ti (tt/ • jhI)"''P '/bu...tba
Ha ft feltöltött fájlt egy a webkwolgál6n található mawába akarjuk menteni, akkor
~ ASP.NET alkiilmazásfl8k !rási iogosultságoUal bllltlldel:.mie ft megadott
mappáfa. Ha ezvt a jogosultsigok hiányomak, biztonsági kiYéteilép fel a SaveAs (I
függvény eiéfésekor a 24.1 példában.
A hasmMt operációs rendmrt6I függ, hogy mjlyen lépések Sliikségasek ahhol. hogy
Imi jogo$~t adjunk egy mappálll és ~ ASP,NEl alkalmazás által használt
fellasmálói liókra.
Egy egyszcnl teszttellllltámzzuk rrlI.'g, hogy a fájl JPEG ktp-eo egy=1en eUen6rizzilk
" fájl kiterjesztését. Ha 3 f:ljl kiterjenl.ésc . jpg. akkor feltéteJezzOk, hogy I'rvl'n~'es
JPEG kép. Amennyiben nem eucl a kiterje:sztl:sst.-I rendelk",Zik, ~ kkor feltételezzük,
hogy nem bvénycsjPEG kl:p.
"2 .I v' ,~'~""''L-k,,"
_ ... _....-.m __ ,''. & .... , NET~
1:[.....- .. • ..
"!I"J'
Ezt az ell(m6r2~ még az cl6lfkeU el~:mi, hogy úJ oort ,'ennénk fel a Pleturee
\lb/j,1xI Amennyiben ~ rehOhOt! kl'p nem kl:pfljl , a lX':UÚrO ut:l5íéi~ vÍ5Suvoniuk
Ehhez m6dosruu k 3 DetailsView "ed:rl6 It_Inaerti"", ~én}'kezeI6jtl
a 24 2. pllcUb:m l~that6 nl6don
~ "
p,
U,
n, If <:an<:elln_rt 'l'hen
,", '~ tudunk tov4bbl~1. vonjuk Vi •• 2• • ~~r'.t . . .
- i .. to",luunl< _ ev! Hgy ..... n .. t6 Qz_t"t
;n, a .C4IlC<01 .. True
», ~armotUplO<OdI"'\I,·M'''"\le. Viaibi.. .. True
n,
H, ~ "
",", 'A U...dD érték ~lllt' .. at .docU felhlln"'16 •• on.,.lt6:1'r •
n, ... Valuea("U.. rld'] .. Hemb.r.htp.Getu.ar{).Pravl""rtaer~ey
,",
29, 'Az Upl~dedOa ~rt.k be411ít4 ... az akt uAli. "'t~. ,. ld6ra
",
ll, ~ ~
e.V"I..-( "UpI""dedOn", .. o.taTiao._
..
>
_Oc_
'''''' ..... -
24.10.6In
A[eIltan",JId
"8)' sz6wtútijll
próbált [<:1/611",,;
614 Iv. mz· W... kAIWUn kW ' I wASP.tETwoJlléy6ve1
Miut;ln ez a kód a helyére került, lu. a felhaszn.1ló megklsc';rel feltölteni egy érvén}1elen
kilerjesztéssel rendelkező f~pt. a bes2(jr:is ncm töoénik meg, és a képemy6n cgy a prob-
,fuó ."
\t.roá\ e\m~W!...n.ID \l1.f.'\'«:\ 'Fk\\i.\<. me~ 1.0\, \\). 'i.bnt). II. be:sr.ú..u ~u.,,~!UI<
haús:l.rn nem kertil új SOf a pictures t;lbUoo, és nem tönénik meg a fellöltöu fájl
menté:5e ~ wcbkiszolgál6 r;íjl~be.
t\oribb.1n ebben 3lcckébcn, 11 képek feltölté:sfre uoIgll6 rclulet 1nC1I'1I1ó$i1 1osa !IOrMl
Unuk, hogy3n jelenitllClJÜk meg a f"e-lhaszNló ;ilullétmlozott breg6rü1ut eg)'Ien)iIó
Ii.sUban, hogy könnycl~ teg)"1lk egy bleg6n:l kl~ az új ~z. A mcgI.:..,,-ó
ktpdcet ~16 GridVieII.' vezbl6ben ugy:mell n C'I\'~ llbrjuk 31blll1:1Zni 11 kepek
C5:1k o"'aSll~(6 móthm való mcgtekinl~kor ts C!I}' adon kép szerkernésckor ill. A csak
oIvash.:H6 DropDu""LIS! ts 11 _~ern6 rn6tIban Iév<l DropDownlost vezérl6k köziJU
a ktllöntRg csak annyi, hogy ~mikor egy ",kord csak oIVllSl",,6, a DropDownllil
t!nabled tulai<Jonso'íg:\rutk bdllitisa Pal ...
A None elemel ugy IlJdiuk fel,·ertni a Orop[looo.n4s\ \'f2érI6kbe, hogy Appe r>d.
Det ..80uodIt_ lub~8"tkat True btl'k", :1lhIJUk. majd felveszünk egy (jj
I,.i.tlt_ e1emc.1 ~ ~hC'm CoIlcct,OfI Edilor p:I~blakN.n_ Az uj I,.latlt_
fel"{'1t'le utin ne felej!sOk el ~ forr.:ls nézetben killOn relvenn; ~ Val". ,. l!rt~kCl:l. ktt
DropOownU$I. vcz6-l6 ",asp, I,.I.tIt_~ elt:tné-be
u,. ,130!10$
10'" ZI ....
24.11 ....
Az 'IiJ'II5 ~ Ittllqprtaja m"8"*imllet6 " /c")'ÍM /"ulb,,,,
Ml\'el a RequtredFoddV:did:nor vettrl6k fel\,ftelo!:t ndr I~rg)-.. Ituk nund ebben. mind
n e16z15 6rilxln. nem íquk Ic reszl.... escn az ehhez 5Zilk~ga I-épo!:seker.. MlIldene$(.1rc
Ogye!jOnk <xb ri. hogy mIndkft vez&l6 esetl-ben adjunk valamilyen Méker.
a Vdld.loUonGrQI,Jp tul3jdons:18n~k (én a Pleture1dlt fnéket v:llasttollam).
FOggedenOl attól. hogy mil)"en V.ltdatonGroup Mtker. v:l.lasztunk, mindenktppen
~lIitsuk a GndVkw Olmm:mdFieId mez15jtnck. vol id.otionGroup tul.:.~g:jl is
ug)-'lInalr.l az áttkre.
Uo;suk, hogyan mOködik együtt el ~ két tul~,.JoosiI8' 'együnk fft egy InugeFtdd
l1'IU6I ~ gvPl."ture. Grid\-;e... \ezbl6be. f:s .1l~15llk ~ o.t"~<;le\JrlPleld
rub~ a PicturelD, II o.tel_<;l.orlf"öt"a/ltstrin<;l rulajdondgot pedig
~ IUplO<lOdedl"'lIe."OJ. jw ht"k~ tUsd II 24 12. oi.bd.!l.
--
·I~
-...·w
---- ....... 24.12. MIn
IIV"'''''' "Xl' l~riJ-mo
AIJíJsI.* ".
'. .. CI'Id11ft.l' ~. Is
ti lodnJdoru4tlaIl
AZ. Inu.geF...,k1 meg fog ,eknileni egy k,<pe!. II Grid\'le'II' mil1den eg)'t'S sor.Ihoz.
Eg)' adotl sorhOll2n<n6 ktv URJ..je 'UpI<)fld .. dt_II"" f PÍ<.'tl1reW. iw I(':\~.
ami n a bdy és f1jlnév. ahov:! :. feltilllOlI f~lllIlClIl6e Ionomt. A 24 B ~bcln
S*ldiul az első rekom- A n lee ."n&et - p!ctureID Méke 11. e~n n lm.:lge-
Field II kOn.1keUl k6ddá képel.6d.k le,
A k~ l1l;l·~ ll, jpg. AmikOf' fdtől!öueT\ Ul:r. képet II ",'ebhel)~. a~ 11. jP9 nb'cn
kC'fiJ1t az Uplo..dedI~e. kOnptirb:l
.,.
--
..
" ... •• _>IY
....... 01 _ _
............ _ ~
"fl1'200S
11IO.fl,," 24.l3.MIn
-
••..... c lim'Ol ..*fi'I
"R)' J""""Fi<'kI ~
"" .. Crldlitol .a61clltr.
hállitJuJJ".
a ,u"Y' "'It
A BouOOFtdd melI5hOZ h;uQnlóan abpéndm",zb ~m .. szerkdzthet6 GOO\'_
ltn:lgcField mcz6jL-nek kki.·pezl!se is:i szerkewllelo:'i sor TenBoJt mczőjckbll \Öf1enik,
~rllt."ybcn:i o.tjlINg<'1jrlFldd én"ke jelenik mcg Ennek rncgaludilyWSóI trdcké-
ben jllilsuk az [mag(-'[~dd R.o.dOnly tulajdon~g.'ll True énl'krt'
A Grid\·in" I:ltl:ilm:;o;z egy i"leIcI:c (Töri0!:5) gornbo:x. :imd~Te klninl\"lI ~ P1ctur_ tibb
megfdelo:'l rckont,:a lörO!het(l. dc ~renkor nc.'m tórtmik meg ma~nak ~ képfi~nak
az drr.·oIí!hl " wcbklSlOlpló Dpn:ndszeri:lXil. Anukor egy reU\asznJl6" Ddc1c gombr:t
!cotUnt. \"~{uI;c; IÖftl'nik." rendszer lilii,,, megfc1e16 rekO<dot. é; ehndul
"Grid\~""" RowOorleted esemo!nye, A how &Irtom képfiil törléséhez k.1rt' kell homunk
egy t'5<.-m€:nykcZt'lo5t a GridVic.-w Rown..leted ~yéllCl. b od:! kelll>eimunk
" töoié.9; el... ~ kódol.
A teljes fon6ok6d
V~gre ......llahif:l befejezttik a f61ykfpalbum felll8)"t'leIi rbzét - grlI'uljlunk!
A PhotoA&oin/Ilflfault .••p" oldal ld"", fordsk~[ a 24.3 I*küban IJth.""k.
.,
4 . partlal Claa.
5:
7,
Pho~~ln-oet.ult
11lbeoriU Syn. . . W.b.UI.Page
_ H~r.hip.GetU.er().Provl~rU •• rKey.ToStrlnqll
9, c.nnot\lploadl .... Oell<1u .. \l<>.Vülbl e • F.. h"
l o, End i!I\lb
ll,
U, pr<tected i!I\lb dvC.tev<>ri. . I ..... rt_It.al ..... rtilll1dlyVal
_ .erder Aa Obje<:t, BvV"l • Aa
_ Syst_.IIeb. Ul . W..tcOtltroh . Deta! bVi_In."nl"vent~.)
_ Handl ... dvCategorl •• ln •• rt.It_In..,rt!ng
13, 'A U.erID ~rt~k be'll!t's<o .z adott felhasz~ló azono.ítój'ra
lt, •. V.. lue.(·U.erI~·) _ ~r.hlp.GetU.er(I.ProvlderU.erKey
lS, End SUb
16,
lJ, Protect"" i!I\lb gveategooriesJttlw(1pdAtilll1IByval Hf>CSer A.- otrjf!Cr.
_ lIyVaI • Aa Sy&t • • lOeb.Ul.w..beontrol •• ~ridVlewUpd4te!NentArv.~
- KandI . . gye.tegorle•. RowIJpd.otllll1
18, '1. U... rID 'nék bH1l1t ..... u .doU felhann.tM ..".,.,.ttójára
19 . ..NewValue.I·U.ert~·1 • ~r&hlp.GatU ... r(1 .Provide[U.er~ey
20 , tnd sul>
21,
22, ProtKted SUb dvPlcturel ...ert_lt_ln...ruld{ByVal ...,.. Aa
_ Object. lIyVal .....
_ syn_.Ifeb.Ul. WebCoatrol •. [)eulhViewl..... rtecttvent......\j.J
_ Kan,n •• dvPicturefna.-rt. H..:I~tted
23, 'Ka a rekor~ be81~r'aa aiker •• valt. ~tj~k a kfpet
24 , Ir e.Affect~ow. > o ~n
2~. 'A felha.tnáló legnaqyobb PIcturelO 'rt'k'nek ~hat'[oz'aa
26, ou. n"ult' A. o.o.t aVi ....
• C1)npe1 . . . Pictur.IDData~roe.Seleet(
_ o.o.taSou[( eSelect.>.rv-t •. lIII:!ty). [>;ot.Vi_)
il
""""
41,
•HI v.tkozá. a FI h'Upl""d vezérl" ...
Dl .. ilu!re>lJpload "" rlleUpload CTypooI
48,
,", If Not ~l"",d,I!a.'lle 'nlen
S0, ' Nlnce f"ltOltOtt f&jl
",
52, EI."
cane .. llnaert • True
"~ "
56,
",
58, ~
59, If ancelln ... rt Then
60, . _ t"""'nk tov"'bbl~i l VQ<Iju.k vi .... a benú.-"'t, . .
... . 1enltsOnk _ egy !i1lY"I_n.t" On"etet
61, r.Cancel • True
.",
,",
63 :
66,
, ~
"~nnot\lpl"",<llmoo\l(')4,
"
. .a\l'" Vi albi" • Trua
--__..- ---
--
.._ - -- ---,
-~ .. ...., •
- ..,>=.=',=
24.1 . ....
I 'egJ,j"lrfd <'/()' u,irlildfrpésl " IJsfffD oulopru az ID k~ IturaJaerl<l"c értélll! D/apjd"
624 1V. rMZ • WIIbN fOtWM.m kászft6sa IZ ASP.NEl ~
-_.-.... _.-
_____ " _ _f __• _ _ _ _ ._~
• • -
---
24.16. "
--
Á ~d
~
'1'1 t 1", oszlopaIt <KIj;l vmu. ahol II 1I.",rld értéke megegyezik II Ick6-dez6 Iaraktt'rI~oc
bIIn megadon U."rld értl!klcel A (CateqorylD ICatOJgoryID OR iCategoryl, IS
NULL) .m1r6IWejezd al. adt::I;t felhaszrgl6 d:sttes k~ \-mza;.dja az - - Alt elem
k,,)IIQ'h ...koo- Emlékeuwtk \'ISSZ3, hogy egy rI< úr':ido!-k V!SS7l! ....... tna.. akkor "!'nl".
ha bármd)'Urlllw ig;oz. lelW ha a iCategoryU p;lrnnker tI.'UU. (a:az tna..
al. AlI -- <ym kr.?bs7'cI ... kor). a (c..toqoryID lCateooryID OR ICategorylO IS
NUllJ ~cu klfejezés l'rue I'nl'ket ad ~ minden kiénaett 5IOfT:I. Ha '"'''' NUll
3 1IC1ltOlloryID, hanem ehelycu \-abmilycn l:r\'én)'t'S CateuorylO énC,k. gkkoo- a ki6t!-
kelál ~k akkor ad vi5$Zll '!'ru" értékel. hll a CategoorylD megegyezik a liCategorytD
p3r:lmétcm:l (ami a 1en}1l6 lisWbóI kiv:1l.:!.wou k:.ucgóri:l 6Wkk 13ttalrrulu.ól).
Még cgy foruos I(,p&l el kcll \'~znünk ahhoz, hogy a pictureso.taSouree meg-
f,,1eI6m mtlIcödjOn. AJ:.rpáteltno:1b $Hrinl az Sqlo...taSource visszavonp II SEL!:CT
lekbdezát :.rbb;on:.rz e5dbm. ha a pantméterelc 1»rmelyike r-;'ULL Et an jdrnti, hogy
&21 1V. MIZ • W... ~..... ,., U- t ' II ASP.NEl IItJWihtil
A 2'U7. é~ 2418. iOO att mlllJlll". ahogy egy l:!.togaIÓJi5un fénykt'paJbumil látja
A 21.17. :íbr.in a felhaSl.n:l16 n ÖiSSZ~ ktp megtckintO!:sét ,'ála51.tOlla. a 24.18. :!.brnn
pedig úgy szúne az eredményt. hogy Q::Ik a Test 4 kategória ktpei jelenjenek meg.
-~;;;;o.ne "'go-
Photo Allt ....
0ItIIIII! ....... "'".
24.17 . ~
J/sI", W$zes 1tI-pb,i!I. ""'fIit'I""íJ&
24.18.~
II Ji',,)~lhumra egy.=i"'- knill.
és masl csa."
TI:SI ., kl>1<górln liIPm
},jlhn,óII
628 1v. rál • WIbIs fOt6IIIUm k6slftáIIlASP.NET -uftMgMl
Ehhez eL&zör is ~diunk egy SqlDatoSourcc vezéri6t n oldal hoz, és a1. ID tulajdonsá~·
nak adJuk a pietunDataSource énéket. 12 uun :1llílSuk be úgy a var:hsl6t. hogy
a PletunlD. a Title 6; a De.cription Olizlopokat adj;l .. is:;u a Pietur".. tAbI:íból.
Vegyünk fel egy szúrokifejezést, hogy csak nl a rekortkJ( kapiuk viSS7.a, amelynek
a l'icturelO én"'ke megegyez.ik a1.IO j('kérdez6 karJklerl:ínc é-n"'k~eI (24.19.1b!'2).
,.
.'-
---------,
24.19. libni
Mjuk ,issw a:rt az "8)' reIIordot.
"nrd)~JeIr" PiclUrelD b-1tY.c
~k ,n lD kIII!rrIC:dJ
karoktcrlánc .'rI~""
-
-_..._
_
r*
....... r -
..... ,
.............. _, - _.. .,.. ..,""'.'"
~
24.2O,6brI
"Blue lIil/$ cimü..",. ,,,,/a,,,lm nlw=<i /(",0%6 cr,.. h I"'-'m
Amikor eg)' bejelentkezett felhas7.Ilál6 megtekint egy adon képet. megjegyzés! is kell
tudnia imi hozz:!. II megjegyzések w,rtalmawk a ~rgy:ll. a szöveg 1ör7~, yalamint
a megteg)'zh létrehoz:!siínak <ütum~1 és idejét. Ezen kívül a megjegyzés kapcsolódik
a 1l1rehozó f{'1Il3SZJl~16hoz és az adon képhez is. II megjegyzést lró felhaszn~l6nak
lehetősége kosz egy ASP:>-'ET oklalO1l keresztill mC)Y'dni mind a megjegy2h t:lrg}':\l,
mind annak szövegét. de a megtegyZb <üturrnnak és ide;ének. v:tlamint,. U.erID és
PicturelO éTt"'keknek a be1l1ít:\sa progr:lrnb6l fog történni. nagyQn hasonlóan ahho7..
ahogy egy új kép felvéteJénl'J történik a PhotoAdminlOef"ult .""px oldalon.
I
UJ V. " • w.bII:l\Aólbllll'" ti IZ ASP.NET lIfÍI~i'"
Et u~n az oldalhoz kell adnunk egy SqlJ>~taSource \'('zér\6I:, amely kln)'eri n adatb;idr
ból " megteklntetl képhez tanoző me~ket, 6;lehel&égel biztosít öl megjegy-
zések Ix,íris.:ln. Ezt n SqII>~uSo.u,;e \'t'zt'rl6t .. LogInVlnv~vkl6n kM11 hd)'('u!lk d,
mi\'d .. ,,~et lJlIJId a nb1elen. mind po:dtg .. fclha,m:lJói ~'('l bqelcntke:ttn
fdtw:mi1Ok megtekinthetik, Al SqlI):ilUSomtt \'eztrl6 lOrubjdonsJ.gjl\3k adjuk
.. ,< r,t aOootaSour,., o!T1ék<'l, H ~llil$o.lk be úgy .. ~'('Zér\6I:, hog}' \Ii:s.9;a:IdP
II C~.12bb ~....,Iop1I- ~tID. U..rld., Pictur~Io, SUb1ect. 8Qdy és
cl ,t*<leOn. A Pietur.WoWopn \'~"!Ink fe!~' szúrőlufe,ezkt, hogy cs;,k
:oz:adon ktpk-z I:lJtOZÓ ~ket ka ... k \~ (lbd .. 2·119 "br.il), "'" \'1O"Ünk
fd egy Clf'DIt/I.!IY dr3d.'kot, hogy n ~)-d: ~ .. C-"~ mez(!
ab""'n csökkcn6 ~ tOrt<:nten l\:I.Ulllt!Unk az Adv.lnccd gomoo..!.'I IcIpcIOljuk
be a Gcncr-~te NSERT. UPDATE. and DEl.t.lE SC3temems jelöl6négyzetet_ \"tgüll'1l~nk
fortis nézet!'(', & i3'101ilSUk el ~ u •• rID rNSER't p:!.raméleréb61 II Type. "DI;>1ect"
tJdllitbl.
,_,_,_o"r •
-
.tl1.
•
..!...
~
24,21. MIn
~ ,,,,.'>1&IIo'otk /I I'>qltt'ies ub4>k ,...,1$1111..:1 hozlwuNlr Iirtr --m,I,w..&u
MIlItin eh'~nük eZt'k~ a ~pbcktt, azokbl rorDslWd ,ész!bt; egy e$emlill}"kezd6
kt"l'OJ. de IWnyzik beI6Ie a Handl.,. Vf'z~c16ID.Event ulaSíth. 2me11yd akkO!" t:lUJ-
konunk. ~rrukOf lenyfl6li"-'iva! honunk létre C!SC'nényke7.eJ(,(. L:ltha1luk a kOlönbségct.
h:allll'"gl'lt':ailk II felügyeleti oldalon !év~ dVCateoorl •• lnaect Deu!lsViCw
Itc_I"""rting ek'fllényk~,
Protected SUb dvCu..."cl.UI\.I",rt_Ite.,n.en n!l(ByVal ."""''''r .... Jl)J.-ct •
.. ByV"l " .... $y1 .. ~_Web.UI.l>!ebControh.o.t.lb ... i~In . . rtEV.nt""'-II'
.. &aDd1 •• d~~-vorl •• laaert.I~~D •• rtlA8
~~
Ahogy II 7. fqeW.ben .."mlitcUilk. II H.!mdl •• UUs.itls az. ami Ö6SZcl<:apcsolp egy adon
,..,ztrl6 ac:mtnyl:!: egy adon csem&1ykezel&.-d Talin nem eg}'éYtelrmla wmunlu:a.
IlO8}':I; dvAddCa.aenu_It-.Inseetin; eseménykez.-16 hog)"1In kapcsolódik
:a dvAd<!COIllI!I@ntl vez&l6 lt .... ln.ectin!l e""rn~n}·~hel'.. Amikor 2 I'ropertl~ ablak
segítségével vcszünk fel egy esem~nykczeh'51, akkor n ",;.,.ml,nY:l; Jelró HTML rés7.en
keresztül kapoolódik ~ ~ürl6höz_ Az okbl fom1s ,.,.;zaébefl 1.1,1\:116, hogy
2 Det:.lils\~.ew k6dp mt'g'olhozik.. és mo5l mir t:lrulmaz egy Onlt-.tn.eert
ing-. ·dvAddC-=-- <It. _It~n.ert.\ng · JCI~
<••",0.•• 11 VI .... I ,·ctv~t· run.tt ' ·'·erver·
oalt~D •• rtlao··~AddCa...Dt_It~A8.rtlao·
•>
Miután beínuk eZl a ""hány somy; kódol aZ esrnJénykezel&e, vegyünk fel egy új meg-
jegyzés! ,,,,Jamelyik képhez. I-b névtelen feU=n..116k6u tekintjük meg:l képet, egy Gre-
netel. fogunk látn!. amely a1.l rnondj:l. hogy be keU jelentkeVlünk. Bejelentkezve két
5ZÖI-'egmew.; kell IJlnunk a lárgy és a wweg sz..'im1irn. Iryunk be nlOSl egy mo:."gjegyzi:sI.
Még nem ktszik1.tilk cl a megjegyzések megjelenítésére ~g1ló fclha"znill6i fetulete!,
ezéTt nem fogjuk IJtn; a megjeg;"Z6I: a weboldalon, de ha a Visual Web De\"elopeTben
lekmljOk meg a Carmetlta tibla tanalrná!. lálnunk kell a beírt megjegyzést
Megjegyzések megjelenftése
MOSl, hogy elkészült a tneg)egyz6;ek hOll,á.a~rn srotgáló felhasmáJói feHlle\, m""'l
aZ okl:llrúl mir csak a meglh'6 megjegyz6;ek megjelenítését kelJ megoldani.
A megfelelő megjcgjlttsek megje1enfléséhez mindö5sze egy GridView vezén6re
lesz szükségünk. ~meljlet II COttment8o...t ... Sourcl! vezl!riőhóz ~rsitunk Mivel mind
3 névtck-n, mind a tJejo:lemkezeu felh2Sznál6k megtekinthetik 3 képekhez t;trtozó
ffiCSJ<.""8YZé-sek(1, ~ Grid\1ew ,"ezérl<'íl a LoginView" \'ezérl6 abu helyezzük el.
24.22. . .
it Hphn tamw5 ",..~ ar oklal aljá" látha/6lo
634 Iv. ráz· WIIbn fot6eb.mliMD" TIIlASP.NfT ~bal
A:L oIy:m dinamikus webhelyek """ében, anuJyen a miénk is. 3 webhelytérkép műk/:>.
dbe (eslreszabható egy "ID"''; ,,'I!bI1l'I)16rlJlp-!:ZGIjjáltatOC-al. Sajnos ennek a ttm.'inak
" b6\Iebb kifejtése lúlmutat könyvünk kemein, eún ~>gy viszonyug egyszenT. st:ltikus
webllel)~rkl-pct fogunk létrehozni, oIy:al. ami nem tlnalman:t a felha5Wlófúgg6
aJoomolau a ké'peket. Ha '":Iukil érdekel. hogy miként hozhat61ttre dinamikus
webhd)1bkép egy egyéni webhel)1~szoIg1haI61l2SZ!liJa(j",,1. az elo!v:l5h3tp
E.wmlllü'8 ASPNI;T 2.0's Sik! Nlll'igalfOll dma cikkemct a http : //aspne t. 4guy. -
f roaoro ll a . cOla/art i clea/UH O~ - l . n J»< intemeldmen.
-e
~ :.te .,::~
-,- 11IeO •
L..gIo "'--
24.23. iIn
v,' U
OId4/. Sik.wapPalll
II .11>"
,edrf6 M....MMw ulA ..
Összefoglalás
Gr:I~ulálunk - az unffil befejf"zt\ik e~ v.ll6di IISP,NET alk:almaz:l~.mk~t! A:t, elmúltldrom
Óf1IIn~,.·ru:i\- w>ll, I&rehonunk egy !öbb okbbs, ~elpen múköddl<fpo webhelyd. afl'K'ty
bpc",ll.u<ll ~ert'mlet:I ~ rncgd6l<Ili ór.fu;a,n 1<InulD.k közön, \bcgc::::<>fik"q a s;lti~
hóotunht. """" meg&demcljOk!
R';lIiItkm. hogy 3 k&l~'V ....ol...~ tlvel'Jele5 ~ t.anulsJogos volt. és hogy teljes mtnékbm
~ t:d3ll"k az IISP~...1!T l:5 ~ \'\5WJ \l'eb [)eo,~1opa n~ 1eM~et.
l\nn;I.k dlení:Te. hogy millWdn)í tmd.róI volt iR6 dIben a 24 6clban.l-pp h08Y esik
636 Iv.r6sr' W. . fot6Ibm I.6ad1ho IlASP.NET~
súro/tuk 3 felszín!. Ál\"l!"UÜk llZ alapVell'llémikal, ek>gend6 mélységig llhho:t. hogy
valódi, hasznos webhelyekell'píthessOnk, ~hogy eZl az elmúli három 6ciban meg is
bpasztaUw.nuk. de mindig m:Ifl1d tanulni és felfedezni V"dI6.
Ahogy fol}1atjuk az ASP.NET h aszn.1l3t:íl. n~ha majd megakadunk egy aoot probléma
megold:\sa sodn, él; nem t:l1~IJuk majd II \"~1aszt ebben II könyvben. Sz~
az ASP.NET kö~ge nagy, tele seg11611m emberekkel.l>1imlen ASI'.f"ET-fejICSZl"6
SI'.:inrlr:l. javaslom II Microsoft ASP.NET-fÓlUmait.. amelyek II ht t p: // (oruma . ~ sp.n"t
dmen trhe"l6k el Ez aZ imemt1es uzcn6fal több mint 200 OOO bejegyzett felhaszruil6v:ll.
és jóval több. mim egymillió bejegyzésscl bUszk~lkedhet. A legmegfelt'l6bb hej)" neh~z
kérdé:!eink fehétdére. vagy arra , JIOS)" .rusoknak segíl5Űnk eró/"<.""SZÍtt'seikh<.'n.
Kérdezz-felelek
K: jcümleg a fonyképtllb"m-tllkal mtlzás CSllk jl'EG ktipek fi.1tőltéstt teszt Ic"cj(;u~.
HogJ'rI n bt5tflhl!tjllk 'W tlZ alkalmazást, I/Ogy más fQrmátu",ú képfájlok ls
fi.1tőlthl!t6k lcgJ~lck?
V: Amikor feltöltünk egy képet a:t albumoo.. a ktp fájln""é!; a Pictures t:íbl~oo.
ujonn:m felvelt rekord Pic t u ~erD átéke alapjin hozzuk létre. A Pi ctureID
én.~k haszn:llh:n6 az egyes képek eg)'edi aZOl\QSIt:ísáld, de nem képes a fájl
kitcrjeWé:;[,nek jelöl~re ( . j pg .. g if, . bt!;> stb.).
Ezt 3 probl~flI!it ké"lft1e m6d.0;zerTel oJdh:lljuk meg: ..agy korl~10zzuk al. alkalma-
zist, hogy az csak egyetlen fiiJkil~S1 enge&lyezzen. vagy feh'eszünk egy új
OIez6t II Pi ctures tibl~ba, amel)" tárolja a fcltöl!Ölt kl'p kilerjesz1.éséI:. A mi alkal-
maúsunk az eJ6bbi megközelílést haQfÚlja. de b6víthetjilk a rendszen al. ulóbbi
megoldh h:lszn.1l,wira. ha egy 1NgeExtfilsion o:szlopp,J.[ toldjuk meg
a Pict ur"s llíbl:il. Amikor.a felhaszn116 Feltölt egy ke-pet, az lm4geExte ns i o n
tulajdonságot programból ~ fcltöllÖ(t f1jl kiterjesZlbére k"Il1JJítanunk
a dvPl ct ur e I nsert_ I temlnsert i ng esem~nykezel6ben.
Ez a megközelil/'s egy ujabb kihiv.1.ssal szembesit minke! a képfájlol< GridView
vagy Octails\~ev..· vezl:rl6k lrnageField flIczőiben val6 mt.'8iC1enitC::sekor _ én ezén
.. ál.a!.7;J.ouant a r~jlok JPEG lípu= ,.,.\6
korl~!ol:Ís!i1 ebben az alkalnw.l:Í:iban.
F.rnlékezzilnk vissza. hogy az ImageFieW képfomis lJRL..je a D4t~ I"",geFieldUrl
éso.UI " F ,~:df' ~ ...... tStn.nv tlIl2~gokon ker=(jl oiJlull3t6 be, de
a.;U; q'f ~t'zom.It oszlop ~d1uló meg. o.taIDl&gf'Fi.ldUrll1Jl~~gb3n,
pedi maR keUC:n , .. n SZIJ~nk - kell t'8Y ~ Pi"tur.. lD ~ egy n [..ge-
E:rt=':!ll ~"'.
~ kűlönbt>24 ml><.!s7n 1$ '''n mncli: ~gv:tIÓIIÍtWr:I_Fd,-d>elilnk cgy kinlrnf·
1<* ...d"pol. H,t,,,,_ l:ibbba, amdy aUIQm;lU~n ~Zl ~ PlcturelOés
n - 3"" _1('" (lSzlnpokal. '''gy ~llUk az SqIDauSource veléM
ibll....zllill.:e:tt:T ,.,.M...
hog).' ftluc ÖISQe a két oszIopén(:kct C8IIl-'é
."''''''' D"d· n~onybg bonyolull. AInenn~1bm ,.. ];,kit éJddo;clnek ezek
~ lOSXtl 'iI'k. n II.SP~U-fÓrUmOkOn trdcIl~ SC8J1.sí·get kémi
K; _-I PIloIc>Dtv.. ,b. (O${l'r: o/ddkm SZl'n'f"a, sz('1lope!leml ('K)' hlmllloulsl
a frihdszr>úló fot/t,*,lb.. ",óro 1I00000~m ('(ll6sfllmlorn ''ZI ""'8?
v'. Amikor ~ rdhJ,~.i16 a Photolllbuao. up" Vie.... hi ....Jlkotis.'Ir:t k~nml. ~ Photo-
...... l .• up. ,,10.:.1 .... kerül, ahol rnegtekintllC'l egy adott k,:,p.,t 6. at. ~hl101.
unom "K8It'.lIyzo!-<.eket Jelenleg a ~l6 Vissza gombj;l..... ,..ló kanintason
knill mncs l'I\Ód a~ adou fdhaszn~1ó fmyké-palbu.-.dhoz ,-:dó \'iS.%:II~.
il. Pbc~_:>e' III I •. upx oldal", ~muut6 hiv:ukom mei'.. IósI~:lI~
;.-IOMt luhi,';i<l. IlICt( l51T\Cmunk kell annak ~ feUI:lSZIÚJÓf1:I.k a' ,r:d btekn,
~k a k~>pt!; q,pm megtekint jük. El. Ul Flenti, hogy a Blue IbllJ, kép
megtdllIlt&kor (b5d a 24.20. :;ibo1itl nKlnunk kell, hogy c1.]i.\.un k~. m,vel
ahi."... hug)' vl»Zólt(:rhessilnkJisun 1I1bumJhoz,
a ~t )toAlbUDI, Up,,? IO.JÚJulLUgerIQ.oIrtofke eimre kell \Lgr~nunk
Ml\cI ~ PhotODetai l •. asp" megkaJlia. Olcg;elenílcndll kép PlctllrelO értlokk.
6; 11 Pic-,.r_ L'ibUban minden k(:phe~ unozok egy Uae~ld, sze-reJle!ll'theuynk
11 Un:.d OSXIOPOt n SqU):l1a$oun::e H'drl6ben. Ebben n OCIbm a Oeuils\'iew
,~ fd\"dX'Io.lnk egy HnlerLinkF'oekI ....... ~ é'!I :ll 'l'ext tula~nak
Albulo{\'issza a fm~"kl'palbumhoz} trt&et. D4ra.'1avi
11 !!<ldl. ".0' ~ p l '
qat.u,ll'i.ld" lul2~gin3k a U. . rld. o.t","""viq.. teUrlPonulString
ndajdons;lgjnak rNog 3 phQtoAlbum.aap"?Io. (O) trt&ct ;W/IJtJUk Igy egy
hi\'3tko;cl,;l ~{/unk ~ OeuibVteW vczl'rl6höz. ~mely visszaviszi a felhaszruJót
a mt'gfdel6 ft'nykl'paJbumhoz.
K: A PhOlOI)dal/s asp.r: oklalo" megJelem""fl "",-?,}rgyzésdmél •.em ~ (I .. "ak
/lZ embemek a IKU', aki a megjqD'%ésI Ma HOf!,)'"m !iZ'erepelle/Iw.'le1/J ezt
az adaIOl 6.'
v: A C:.-nt~ Libia nem taltaJInólZZ>l a .......~ ~nak n",&. csak a UaerId
kI&(,,\. A fdh..s~n1I6nl'-.' kin)"~z ~ kelj d ...:gezmlnk
a ConunenlS ts a rendsu-r r~l6inak f1t'\'d tan.all1lólw aspnet_ ' •• ra
Ubl~ kÖZÖlt
A ~bl~~k3pc5Ol.b oIy:m SQJ...Jck(:n:kz~, amely két ""~gy (öbb (~bl1b61
nyer ki ,t'kordo!<at. ~ rekordokat az érinten ~bl:1k köZÖl!i kapcoo/3tok abPiin
ÖSS1.ekapaol\'~ Az OOzekapcsol:1s bonyolult. lellet, de ~ V"""j Wd> ~eloper
legcgyuenbiti ezt. lu ~ lckl'rdabI $:lI~1. kc.nlkg adjuk meg n ~IDat:>.Soun::e
veztrlc'5 .... r.Usl6jtban. E"~C"n adruk moeg al ~k:r.""""",'d",n 1w:zn1lni
ki~nL dbl!k:lt. b jelöljük meg a dblikból viMzaadandó osUopoIGIl. It V_al
W"dl OcVt'loper ~uto"llItikusan bcir)a al ~pc:sol;is helyes k6d~t
lia űgy dömOnk, hogy megvalósltjuk eZ"! a bővítést. 3kkor en egy új Sqlo-~ta
Sour« veztrl6 h:lS2:n..1lad~&l tegyílk. Telút ne haszn.liltuk II PhotoDetalI . npx
okbl nICgltv6 ,,-..uoo.t... Sout"ce SqU):Il.:aSomCf: \'ez&l6i&, mj\'e! a 1)1.'13;15-
\ "JI."A ezt al adaúOf"Tb.Vt'ztrl6t h.:ann1Jpo:az új ~k hOW3dasi ...
Ehe/yen hozzunk létre o:g)' Ű, SqIO:II.:a~ "aM6I;, :l.Híl5Uk be űgy. 00gY
IGlpoolpo ~ a c.-nt" b:u: aspnat_Olen tibb megfelelO rekordjait,
maid drntsuk ezt a \'ezM61: a ~ GodVoew \·ezb~~z.
TÁRGYMUTATÓ
_None_602 A.Á
&. 117
&- 255 1~nd333
NET kcrecrendlzl'f 4 abbkok 'iselk~ 70
~ET-megfel~6 nydv ]07 AbsoImdy ~~ 68
ToStnng() s81: abszolUt clhdyezb 68
.Page j i Ac'cess Ruleo <191
<asp:W;tJtem> 258 actIOn 199.201
<2$p,Pal1lmetcp 540 Active SerVef Pap I. 6
<authentic:otion> 50s adn~zis 296
<authorizatJon> 493 ad:llb~zis IftR'oozj5;l 302
<form run,n-"5et\'er"> 81, 204 ad:Ilb:.1.tiS-<li.>.g"IIook 553
<form> 83. ]96. 199 ad:llb:izi.s-ke~k 296
<f~"" ::ubtb:1liSffiOlOr 4
<inpullype-"SUbrrut"> 92 :.d>tb:1~k m
<.mpull}~"le:u"> 92 aWlb1zi.s-s=i<eut 547
<Jnpul> 196. 197 Jtblb:1llstlbl~k létreoozht 304
<nuilSerting:P 494 ad.;nbhisllbb-sz.erk~zt6 3o-l
<Sek..:tParJrlleters> MO 3dnbhlS-le,vezb 306
<$Ílel>b p> 464 adatfOl'T1l; kiv11:l5W52 ~7. ·ilO
<5IteM3p:-l<Kk> ·164 3(btfClfl1is-veztrit'S 318
<.sp;In> 92. 180. -126 adatbpcsolh 394. ~. 447
<1:1,*> 32 adawpcsobt k,..;llaSll"sa 320
<textllrea> 234 ad:nkapcsobtok SS3
awtkapool6 kifejeZés m Arts"·Cf ·m
awtlisl3 :H6 AnswerLoibeITextl'n
awt~M .';QL-uusídwk 375, App_Data 17,30.57.302
37/ Appeal"3.no: 3S4
adatok be:sror.l!o.l 399 AppendOataBoundJtems 604
adatok hmz.:bdha .'109 Appliation ConfIgUralion ~93
adatok Ick~ 296
adatok It"Il'FlffiilOe :H6. 349
adatok szerkcsztoi!'se 3~. 31:10
,se,
ApplyFormatlnEd.tModoe 390
b(r.j16 tipusll.Ol1akiUs lU
B 8/U9o'.o;e 605
but:lod-k 474
&ekColor 161. 354 BuUet«llist 475
backgroond<Vlor 184 Buuon 48, 83. 86. 206
&ck[nugelTrl354 BuuonFoeId 3';6. 433
be:igrnOll veztrl6 631 Bu[[on~ 362. 400
bdllrt6f:\iI61 OrRef H8
Bt:havlor 503 BrVal H8
bqclentkezé5 483. 501
beio:lentkelési 0Id1[ 50 I C. Cs
bridentke~etl fe1h~16 507
bqeIÖh i<~k 2s4 C.I05
bqelöh "~I:lSZl6somb 251 Droc:rIDe5l'fI.OIlionP3Sli'l'RL 571
bek'pt~ okbl 572 Dtegoric:s 5S4
bd56elem 26 DUSoes\'~li<blion 2119
bemenet jl.Olc!ás;, 3 wd>k~l6ru.k c...UPadding 425
c...1I5pacing ~2S
'"
Ix:menet I.OInom1ny:inak ellen6Iúsc Ctunge Type 329
""
bCmCI"K.1 ..... lIcnfué5 96. 262
bcnll:,"K1-b>'~nresjtC!5 96. 262
ctur 300
CheckDolt 252
Chec kBoxFle-ld 43.'1
b...~uds 296, 37t 3n, m Check&xü,;t 253. 346. 408. ·120. 424
be~r:1s engedél)'erese,WC) Check«l251.254
be=i1Ó mód <lOO Ch<:"oosr 0:11.01 Soorce 347, 410
betöltés -17 ChooIle Loc:mon 58
betlJuptl.'oOk P8 aktus 137
hetllrulapdoruJgok 186 ClkJUstön:< 138
~'lIcli \"mrl6 204 ciklU$\'~It0z6 137
bgcoIOI"I84 cikJus...:í11OZÓ oo.·elése 139
hlnánó miJvelelek 115 cildU$§~eZelek UI
B,nd <IH ctrnktk 84. 496
Bil 4~~ daS$43
blokkdem 26 Cikk 48, 86. 152, 164, 221
blokkszerke~etek UI Close project. 60
B.\IICllcuI3101".a5p>: 206 CodeFile 31
Bod}I~de~ame '500 coerdon 122
Bold ln ColbpselrruogeTooltop 474
BOOIem 113 CoIb.pselmageUrl474
BooIe-félc vjkod:> 113 Column ~:une j()5
8nnIerColor 186. 354 Column Propen~ 30!1. 435
l'Iotdef';tyle 185.354 Columm 218. 224. US. 218
Bon.Iffi\Kkh 166.3S4 ConurumdHeld 382. 432. H3
BoundFoeld 356. 391. 432. 433 Comm:I.ndTelu 163
~l';;5S8
Comp;I(~\';lhdóltor 265. 275. 278 D
ConftgUre 1);11.01 Source 320
Configure s.'om e-mail sel:tmgs 493 D:ua connections 303. 553
ConftgUre ll ... Selé'Cl SUtentell[ 323, ()at:t Type 305
[}.. t:tb:t5e Di:lgr:mlii 553
'"
ConflrmPasswordt.abelText
Connection 163
m D'~l~b:tse Explorer 16,303,309
DJ(aBIr>ding~ 394
Connection Iilring 321 D:u;tl'ormatSlring 357, 362
Conn..'CtionStnng 325 ()at:dmageUrlfield ~l
ContadS 475 ()al:.llmageUrlf'lddStrtng 442
Content 517. 525. 527 1)1t:tKey:-<"ames 351, 384,!HI
ContenlPlacdlolder 516, 518 ()al:.lLisl 346
ContentPlaceHolderlD 526 ()at:t~"Vlg<lICl:rll'iekb HO
ConlUlue 100 ()ata~~~igateUrll'orlmtSlring HO
ContmucBunonText 4'}7 ()aaReader 365
ContmueI:lestm3lionPólge ol95 ()aaSe!. 365
ConlmueDesunalionJ>;tgeUrI 571 ()at:tSour<:e 319
ConuolStyle 619 ()ataSourceID 351
ControtToCompare 278 DJuSourceMode 365
ControlToVaUd.:lte 266 DJuTe:nField «o
Convefl Ihi~ fleld inIo" D:luTCXIf'ormatSlring440
Tcmpl.atefield 392 ()auTypeChed 276
Convef\Em[XyStringToNull391 !>.tU\'íew 608
Create .. ccess rules 491 \):tte 113
Create CU90m Conlent 528. 531 ()ateTIme.Now 174
Creale ol" Matu.ge rOIe$ 'l89 tLilUm &. id(5 175
em.le U5Oe1" 486• .0188 (ÜlIlmtIpuwk 113
CreateU5erBullonText 497 debugger90.97
CreateUserText 503. 572 DdJugging NOI: Ert:tbled 98
CreaLelJ5erUrl572 lkrim:iJ 112
~:lleU~Wlzard 488, 49-4, 49('1, 570 Debull to 1>b9.(T's Cantem 531
Critma ablaktibla 328 Default Valuc or Binding 435
Cfypeű 122 Oefóluh.aspx 17,30
Current Node 468 Debult.:up.,;. J)efólult.aspx.vb 57
CummlNodeStyle 469 Default.asp.,;.\'b 30
CurrenlTime 49 OefaultVóllue 3-40
CurrenIToRool469 Defme Color 182
CuSlomVaJi<b1Or 251 DEL.ETE 3n, 379
csak o/vWt:Itó rnaók 38'9 Ddele me~ t~bUo 382
Deleie Rule 558
""""""'" 468
aomóponItlpu.5Ok 'n DelcteComm:tnd 3n. 381
css Posltiomng 67 DeletelmageUrl383
CssCbss 354 DeleteText 383
"'.,,,..... , 643
.....,.
Dyn:ImicJ'QpOutIIlUg.eT~f()I'm;;J1Su
I)yn;>mid'opOullnugeUrl47'9
ellnJld6 gomb 83. 198. 206
elkn6rtő kif~ 284
ellen6rt.ő ~'«éri6k 262. :z6oi
DyrumkVerticalOOSCI 47'9 ellentetI 116
elrendeús 521
U elrende~j tul~jdoos:18
Eb< '34
<l2S
p a
P3geE,~ 17 Query Designer 329
Page.I.s\"~lid 272. 2"'.\ Qut'Sl)oo 497
Page~I.o:KI86. 101 . 152. 533 Qut'SI)oouberreXi ·,97
pageloo.",: j6oI. 367
Pagelnde~~ 367 R
P3gel~hangin8 367
P3gCfSculngs 360. 36-1 r.ie< 347
PagcrSt~lc 355 rác:snézct 346
PageS,ze 364 clcsszimú 1U1:l;do.wgok 353
parnmru". j4(), 3n IbdioButton 104. 238, 217. 252
p=lInt!.n ~Ikilli konslrukror 162 lbdioBunonLiSl 248. )46, 4<:8, 420,
P:>r.lmcln l'ropenleS 3P H~
r.tJ2SZÖ8 ikon 70 Jkro,·Oddin.g 384
RangeVahdator 265, 280 Ro--~ 224, 225
Re:r.dOnly 389,..00 Ro..'Sfy1e 355
Recent projects 15,60 RowUpdated 402
Redirect SOS rögzítt'll ~blakok 70
RedirectTologin l'agc 50s rO\'id abk 466
Refo::sh 505 rövid forma 120
Refo::sh schcma _'kS rOvodíten érték:ad6 mO.-elel 120
Regubr Eli;pros.lOn Editor 284
RegubrEli;preMOOIlVahdator 265, 282 S,Sz
~ett.szOldll5 tipudt.Llakiw 124
~en tlpu.d13bkd.s 121 s:.t>ton 57, 37 1. 392
rekord 298 sablonmc:z6 392, 447
rekordok egyed! uoo06lcts:. 306 s.at>toook sZt'"rkes:o:l':se 394
relici6k 342 s.abloooldal5 14
reüci65 adat~1.i5ok ~ 12 s.afoit =tlyolt 166
Remember Me "'atTime: 502 s. ..C!M0610
Remember.\leSeL 503 Se:lrrlt 0nI1nC' Tempbto 57
rendelkez6re ~1!6 meZŐk.jj<) Security 486
Rende<CurrentNodcASLink 469 SELECf 322, 323, 326
rendezk 335, 338. 363. 367 Select aml"lem.icallOfl IYpe 486
rendezk enge<J,,:;Iyczác 367 Select rnaSler page 6l 525
rendezheu5 adotok 367 SelectConun:ind 325,,WI, 377
rendeúi felüle! 368 Seleo:ted 243
rendszergazdik -t89 SeICCtCd Fodds 356
renmzem;n 182 sdccted Node 473
Repe:atColUITlflll 4~. ~26 Sel«tedlnde:xChanged -108. 412
Repe:oll)irectlOfl 425. 427 Selectedltem 246, 421. ~23
Repealer 346 SeJe.ctedRowSty1e 355
RepealLayoul 425 Sel('<;ledV::l.lue 423
Request.Url ToSuingO 192 ~a fri""í tl':se 348
RequestUserHOSIAddreti 192 Serverl>bppath 610
RequuedFte!dVatiWIOI" 265. "lfJ7 set as Startup Page 37
Requm:EIN~ 4')8 Sho.... T:oble 0:11:1. 309, ~36
Results abbkt2bb 328 ShowfJl;JW>dCoIbp6t' 4~
~~zrt346 Sh,,..:fooI:er 354
rt:roub~g 177 ~howHeader 354
Return 149 ShowlJnes 475
_469
Relum only unlque rows 417 SingleU"" 224
Ro'" 489 Sile Map 319
Root Node 467. 46f1, 472 SiteMap[);luSooIU' 319, 471, 475,
ROOI.ToOJm:n1169
RowDdeted 3&4
'"
~ne~pP2th
5.\fI1' 493
460, 467 • .l68, 523
r..... 1151
.,.
StalicENbleDefaul!l'opOutlmaglf" SWll473
SWlI=i!; 107
SllI.iX:ltemPorm:nSlnng 478 WrnulaJdon:s.1go1c ISI
.,.
$u.tid'upOutlnugeTenPorm:nSuing SU>rd.$ 115
.uövegbuboTt-k 188
StalicPopOulln);jgetTrI H9 szöVegcimke ·19
StaticSubMenu lndenl ·1"79 5ZÖ\'e8ffil'8icJeniI6 vezM6k 170
statiku5 mcnOponlok ..19 sro.-egmew81.197. 2().1. 218. 496
statikus wd.lokt.tl 5. 60 $ZŐ\:egmew ho&sza 228
Slep o..'et 99 $ZÖ\.-egmez6be írtuló br:.t.klCrek 2~
stilusbriIliwok 187 $$~181
5lI1U5fel1emz.ö1c 26 szubruunok 141
SIlluslapf.1jl61 sziIkil<"i tipu~tabkít.á$ 122
.Slnuslapok 184 uúres 336. 415
Stop Debugging 100 S2l1r6ért<!k 336
suict 124 .nűt6kife;ez6.ek 4-11
string 108, 11 3 $ZÜr6rmn",,1eI 336
SUing..Empty H2 szül6csornöporu ·112
SlructurW Que!)' \.ang;:Iuge 296 nOrkc "bbk ·167
törlés engedtfyerese 382
T, Ty tört6i 5UW:ly 558
törltSl enge&lyeUl r:1csM;2e! 382
tibb ad;ltaill~k mqjjelcnrl60e 309 tÖll5zimok 112
l<ibla~datok me/IIClen[ttso! 438 Tree~odeSI}"le Collooion Editor 473
tibl~k 298,.»i Tree\".ew 461, 471, 472. 522
tiWk közönl Dpcsoblok 548 Trut' 113
dbUk oszlopai 299 (ucJornj,n}'05 jdOI& 112
tibb-ö5szckapc$OUs 63' tubjdonsig 36. .w. -18. 158. 162
tJWzal bestini5a ~21 luherl>dll:lgfilgg.'myek 161
tiblázatok 520 -ryp., t\llafdon~g 1:16. 281
T~bl.,,; .»i
\agmS8"~Y 44. ISS U,U"
uogfilggvé-nyek me8hi~';jsa 160
l:Ogs:ig .1&1 un11Ú művelet 116
woh djicl:lok 303 L:~jOO
"
"isszlIcsatolols 9,', 226. 574
vi:;sucsatoló l1rbpok 202
XML 28. 460
XML f~jlok 319
XmlDat:lSOurce 319
V1~>:alérni fntk It?
vizsgált vez"",, mcghatároúsa 268 Z
vOrOs felki:ilwtcl310, 329
úDdék326
w úr6jelek 116, 133
Watch 100
Web form 62, 203
web ho&ing 9, sa
",·eb.conflg 17. :'A), 38. 57. 61. 98,
321, 19,~. 505
W'cb,sltemap -163. '167
webes aduvezérl6k 346