P. 1
ASP.NET 2.0 24 óra alatt

ASP.NET 2.0 24 óra alatt

|Views: 338|Likes:
Published by informatikaanyag

More info:

Categories:Types, School Work
Published by: informatikaanyag on May 18, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/21/2012

pdf

text

original

T_ ...

Scott Mitr:heII

IZASP. ET 2.0
II 2U......

TARTALOMJEGYZÉK
Aszcn6r61., .. ,
o •• " •• , o ••••••

. .... xv
. . . . . xv",

Ik\'(~z('((>,;. , .. , ... , . . . . . . . , •

J. rMl
1.6ra
Mia~

ISfllIIrkedés az ASP.NEl-teI Ismertedés az ASP.NEHel
... SP.NET! .. ..... ....... , ....... ,.. , .......... 5

Statikus ,,'eboldalak kiszolgálása .. , ... , .. , . . . . . . , ...... 6 Diruornikus ",eboJdalak kiszolg:lI1s~ ..... , ....... .. ........ 7
Az ASP.1\'ET weookblak clhclycz6c ... ....... . , .. , ....... , . . . . .. 8 Az ASP,NET-mowT, a szerkesztő "s ~Z adatbázis-rendszer tel"pil~ , . . ... 12 Ismerkedés a VISual Web lk"dOf"'rrcl ...... ,... ... __ , ....... 15 Új ASP.NIT "'ebh,,!y ll'lrchoz.!isa __ . , ... , .. , . . . . .. 16

Egy egyszeri! ASP.NE'!" wcboldlll(,trehoúsa k klpróbáL'lsa ÖS5zcfoglalh .. , . . . . . . . . . . Kérdezz-felelek ...... , ____ . . . . Ismétlő kérdések ..
V~laswk

... 18 . .. 19 _ ... 19 . . 20

........ ,

_... , _"

.. 20
. . 21

Gyakorlatok .. . ... .

2.6!a

IUASP.NET PfOQIlImoási modeUje

Az ASP.l\'t.i· weboldal IITML re,;7.e .... 24 IITML-gYOf:SlalpaI6 ........ . .. ...... . .. . ..... 24 Al XI·ITML-fÓI röviden ...... . . . 28 Az ASP.Nt. T weboldal HTML ,bz(""""k ló:trehozása ~ Visual \~eb Developer " segíl~gévcl ............ . ...... . Az "'SI'.NIT weholda! forráskód..esze .. Objcklumközp<>nlú prOjjramo~~ - gyorslalpaló 43 &eménykezel6k az ASI'.NI::T·lx:n ... 17 A webes vezérlók progr~mo7.ása . ..... 48 össlefoglal1s .................... . Kérdezz-felelek ......... . ......... . 51 !smft16 kl'rdbek . .. 52

" "
"

. .......... . ... . ........................ . Gyakorlatok. . . . . . . . . . . .. •.......... ... • .

V~1a'lOk

..... 52 . .. 53

3. 6!a

A VIsual Web Oevelopef ilaszn6lata

Új "'ebhely l<'1.rehozása ...................... . .. 56 !\ webhelysablon kiválasztása ..... ... ...•. . . 57 A "·ebhely helyének meghatiiro:clsa ... ............ . . 57 A forráskód programozási nyelv"""k kiv11asztisa ...•. . . 59 Uk·l.ó wd'helyek rncgnyitisa . . . . . . . ....... . ...... 60 Munka webold~J~kk~! ~S más tartalmakkal . . . . . . . . . . . . • . . . .. .. . .. .... 60 Tartalom houlacUsa a webhclyhez. . ...•.... 61 Tartalom :lthelyezésc. ~ln~·"eZ.,se b lörl~.., . ...• . 64

vi I Tnlljuk mag &l ASP.NEl 2.0 I"III2n6Iatát 24 6ra alatt
A V;,ua! Web DeveJoper 1<!SIrt'sO\abha Kömrele1:; bd.lIitá,.,k A Hl·,\ll-(er".ez6 ntlC1 be:lllftá.", ...... . A fejl=őkörnyezet abbkainak ""'glekintése, SegiL"'g brnyújtlsnyirn Ö",refoglalás ..... ......

· ... 6S .. . ... ..... . .6S

· .... 67
mo~gatás:l &;

lilmtretelése . . .. 70 . .... . · ... 71 . .... . .72

Kérdeu-felelek ... Ismttl6 kérdhek
Vilaszok Gyakorl:Hok . . .

. .....

. 7.~
.. 74 .75

. .....

"

4. óra

ASP.NEl wvboldellk Ulrveme, Ntrllllonlsa él; Ull:ZlIIIé$e

......... 78 A pén;n!lI'i~ s4imoI6g<'l> swlg:;l latá",,;nak meghalároz;1sa ............... 78 A fclh;lSZnáJ6i felüler me8Ie,,·e7.ése ... · .79 . ... HO A r"lIwsm.116i feJűlC1 kialakítása ... . ........ . A lórom TCXlBox vCléTI6 houáad:lsa · . III Al",,,; lörlesztúrészlerel kisz;lmító gomb howad15a .. ... 83 It kínlt'nel megjeit"nil(os,." cgy címk .. "ezfrlúbeo . .. ..•. . .. · .. 84 A feJh.a5zo:íló; felülel tcl;':'sst 1&(')C . . . . . . . . . . . . . ... • . · .. 85 Az ASI'St.T oldal forráskódlio~k megir'd5a ................. . A SlöH'gmezúk <'rtékeinek kiolv:1.'iása ... ...... . .... . · .. 67 . ......... ' ....... . A teljes forr.lsk6d . . . . . . . · .. 88 It pl'n7iigyi sz.'i.mol6gép klpr6W.l::\sa ....... . ..... . · ... 90 . .... 91 A feldolgozou forr.bkód megreltim~ . . . . . . . . . . ..... . Hitxlk keresé.'" ~ hemt."nrlLx"fl ..... .. .. . ........ . ..95 A ford,kód vizsgálata ......... . ... .. . · ... 96 . .. 97 It hihakereső használata ...... . ..... .. 100 Összefogla!:i. . . . . .... . Kérdezz-felelek . . . . . . . . ..... . · .. 101

"

Ism~t1ú ktrd~k

Váhl-'wk . . . . G)'3korlatok .

........ . . .. . . ... . . ............... .

. .. 102
· 102

... 103

5. ÓIl! AVrsull1 Basic v6ltoz6i és mOveIetti A program()lá~1 nych'ck dJia
A programozhi nyeln,k ~ltool"nOl> swlg"lt;l1ásai

· .. 106
.. 107
. ...... 108
Hl')

V111oz6k bevezetése ts h:m:/liílata .. . · .•. Értékck hozz;lrende!~se \':\Jlozókhoz ... . · .. V.illoző b"....m.:lésc .. . .......... A változók e1nevezhérn,k ~7...1"'lya; . · ... 1\ v~1towk ad,nipusai .... . . II Dim ulasítl, .. . . ..... . . . . . . . . . . . , . ·. It \'isml Basic méh'elele; .. . ....... . . ..• . ........... Számtani műveletek ... . .... . . ............ Öss7.chasonlít6 műveletek ... .... ... . . • .. ... . ....... Az összerÜ7.<; mÜ'·cl<.1 ...... . II \~~ual Basic énékarJó műveletei .............

I{)')

109
IlO

.

114
IlS

115
116

117 119

T.,uljuk liliiii 11/ ASP.NET 2.0 haSZn6IatM 24 ón! alatt vii
A Visual U"-'ic lipusokr~ Típll.';;\ tabkitis ö.'-~7."fogl~ljs . Kérde"" -felelek Isml,tló k"rdé:sek
V~Ia.'lok
von~tk01.6 s;--"b~lyai

I

.... , , _ . , 121 , 121 ,125

,,.
m

,. _ , .. , " 0

"

.

_ , •••••••••••••••••
o

Gyakorlatok, ............. , ..........

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 M:i'ik fchl'tek... uta,illi .• vl'grd'~Ms:l _. _• _ )wmisnak bizonyul6 fcll(1c1 "-'Clén ........ , .. A Visual Ua.,i~· ciklusoczerkezrtej ...... . For ... NeXl ciklusok . Do ___ Loop ciklusok ...... . Egységbe fog6 vez"rl"sl szerkezetek, ......... eli<\r:\sok és filggi'l~nyek
o , •••• • o ••• o o o o , •••••••• _ o o •• ••••• o • __ • •• o o , ••• , •• o • •• o , _ o o

o

o

••

o

,

135 137 , 137 ___ 140

"" '28 '" , Ul '"
,

1}4

A felesleges kódok rnenny;ség~nek csökkem& 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? , .. , .. . ÓSS2efoglalis . .. .. ..... .. . . . Kérdeu-feJelek
o , • o • • , , •• , •• o •• o , •• ,

o

••

_

_

o

o

_ . 151 , ... 152 153
•• o , • o

'" " ''"
'"

'40
I'ÍS

'"

lsml:llű

kérdések

Vil:l5Wk , Gyakorlatok

154

, .. 155

7. ón!
Al

Objektumok II visual Bak:ban o:wályok ~S az objcktu,nok S"~cn;:pc - még c~'Ys~er , ... , .• . .• , __ 1s.s Ar. ob;"klumok szerepe az ASPJ'<lIT webal hlma~sokban , ............ 159 Objektumok !ffi-eho~"" _. , , .... 160
o • , _ o o ,.

Paramtterezett k005truktorok ......... . Objektum l\llaid()fl~gainak be:illítá..a .,. Objekrum ragfoggv6n)'cinck ffiI'8lÚVáSll ... , ....... .. • ' I'_""ménykezdűk K>trdlOzá.sa az objektumok eseményeihez
Összefoglalás •.
K~rdezz-felel{'k
o o ••• , • •• , •• , • •• , •• , ••••••• ••• , •• , _

.... 161 ..162
, . 163
o o ••

164
165

o

o

,

,

.

o

,

••

o

••

o

. ..... 166
••• o o ••

Ism~16 k~rd6ek

V::ílasmk . , Gf"korlatok .

...

.

..

o

o

167 . . 167 , . 167

8.6nt

Az ASP.NEl sz6vegmlgjllenft6 VmrI6i SWv<'gm<'gjd<,nit6 "~zcrl6k .. 170 A Lit..-r-~I vezérlll hus~n:ibw. • . .. . , . . . . . . , .. , ........... , .. , , 171 A IJtera) "e~érl6 Text tu13jdon~g:\nak bd!líJ:j ... programból . ..... 174
o ••• o ••• o o o •• o •••• , •• o •• o ••• o o o ••

vii T~

I

meQ

az ASP.NEl 2.0 ~ 24 6re.u
..... 177

A !,.:.Ibd velérl6 ba~lllálata A !,.:.I~I "cn'rl6 által dMllilOlI llTML-kód A ubel "eúrl6 form~úsi luJajdonslgai . , , .... ÖSS;;,doglalls .. , .................... , , ..... K<':rdell·felelek .. " ..... " . .... ", .... ISIOC!J6k~rdések .. " ............. ", .. .. V~laswk ... , ...... " ..... " ..... ", .... G}'llkorlatok ..................... ", .... II. rész
F""IISll~16i

... 179
, ........ , , ... _. . , ..... . . ... _... , ........ , ... . , ..............•..... , ....... . , .. . ... , .... , ....... " . ... ,., ....

181
189 189 191 191 192

adatok ~s. ib feIdOIgOmSa

9. 6re

A webel drIaPat ~ 196
197 19') 201 203 204 206 208 210 213 214 215 215 216

.. , .... , ...... I'dh:l5wjI6i adato k "'"zegy\Ijté;e HTML weboldalakon A~<illpu!>dem ..... , ...... , ..... , ...... , ...... " ... A bemelIel átadása a wcbkisrolg!il6nak ~ .. forrn> dem ..,gítségévl"l , , .... V~;oacsatol6 és :llir1llyíló űrl.pok ...... , , .... , .............. ..... Az ASP.r-.'ET webes .lrlapok működése .... . ............. , , ... Webe5 veúrl6k a fdhaszru\16i .dalok Ö55zegyújtésl''''' ................ A B!.!ICalrulator.aspx ASP.NET 01(1.11 u'sZld<':"" .. . . . . . . . . . . . . . . . .. A f<"lha,zllál6 ,Utal megadol! t'rt<':kekre emlékez6 wcbes a rlapok ... , .... A ll.'dICalruJalor.aspx forráskód n:."iléllek mcSidsa ................... . ...... , , ...... , ... Összefoglalás. , , , ............. , ..... K<':rdeu-feklek ......•...... , , , , , ............... lsmélJ6k~k ..... ,. . ..... , __ .. ,., ........... , .... Válaszok .. ,...... . ... ....... .. Gyakorlatok , ...... ", ..... " .... " ...... " ...... , ...
10.6ra
Adatgy(1jtés ~kkeI Alapvel6tudnival6k a TextBox vez6rl6r61 .... , ......... . Ma"elet "egrehajt~,S;l az űrlap eJkOldés.-kor , , , , ............. , ... Többsoros szövcg!Ilezók (,S jdsz6mcz6k l<':u-cho:clsa , , .............. , ... A löbbsoros szö"egm<'z6k haszllálata .. ".. ... . ..... , .......... . ............. , ... A jds7.Ómc7.ók has7.Il:llat:l. ...... , . . . . . A TextBox veúrl6tulajdomjgai ... , , . , , , .... , ...... , ... A szOvegmez6 hCXIsz:l!uk meghatározk:l ......... , ... A .'!7jh·egmez6bc írhal6 brakterek szá~llak korliltolJsa ... , ..... , , ... EsZl('tikai rulajdonságok - a szOVcgm.. z6 bctatipuslnak eS ... , ... sT.ineinek beállítása .................. . ................. ~lefog!JI:ís .. , , , ...... , . . . . . . . , ................ Kérdeu-fddek." ._ .... , ..... " ..... , ....... , .......... !slYl<'!tlő kérdések .. .. .. . .. .. .. . .. .. .. .. ........... V~lasmk .. _., ... , .......... , ....... ....... . ...... ... , .. "" ,._ ... _........ G}'llkorlatok " ........ ,. _.,

21l> 221 223 223 225
228

226 229 231 231 233 233 234 234 235

11. 6111

AdItgy(ljtá JenYI6 istikkIl, v61esz16gombokkll tb

i~kkeI

A h"vih~'tő ad.1tok osztál)'o:clsa .... , , ..... . A megfelelő wel.>es vt'n'rl6 kivllasztása . _. A DropDownUst v.,ú-r16 .. ' ..... , .. , .. elemek hozlJacUsa 3 lenyíló lisl::lboz

.. " ............. , .. 238 . ................. 239
, ..... , .......... 240 .... , ., .. _ , ....... , .. 240

T...... '"'9 II: ASPJET 2.0 haao6llltlil 24 6ta
Len)1I611Slil Ilo=tldisa egy ASP.NET wcbokblhoz II DropJ:loo<o."Tllisl ""zérl6 esztáibi rubjdonsigai. II Ibdlollunon ,..,~~ . . . . . . . . • . . .. •. II Te;lC1 & a GroupN:.une ruJa~g 11lIs;cn;lI~llt . II be,elölt wlaw6gomb meghatj107Ji$l II ,ojla-'1.tÓiumbok esutl:lk:>i rulajdon.<oig;1I . ,........... .. ........... .•.............

_ lix

. 2·H .. li7
2~7

II Che.:kBox ''e~érl(' IllIszn:1lau . . . . . . . . . . . II bereiölt jelöl6négyzelck nlet!h:mlroú5:I . .. ....... . . 254 ö-.~zo;,foglalls . . . .. . . . . .. .. . .................. 256 Ki!rd"~7..fcldek . . . . . . . . . . . . . .. . .. 257 Ismi!tln: k&dl:""k ... 258 V;tl:l.S7.o1c . . . . . . • . . . .• .... ....... . 2~
G}".. kOfbtok .. .. • •. . ..... . .

.................. 250 ............ . . 251 .....•. . .....•. 252 ...... . •...... 252

u.o

lZ. ln

A~IdItok I .. n6rr1

II fel~l61 a<blok: e~ S7.0k:w;gcsol"gc ...... 262 II bemen.:tdlcn6rzés f:ljtjj . . . .. .. . . . • . .. • • . .. 263 II relha$m1l6i adalok cllen6m!se:lX ASP.1\"F.T okblakon ..... .... 26-1 ASp.NET ol<bl az ellen6rdl "nMOk bemUI:I~", ............ . 265 1\ RequlI'edfif:ld\':Ilidator "~"Z("f16 ........... ..•............. 267 A~ clk-nőn6 "e~M6 ~II:II vi~111 "ereM megh:tt;lrozkl .... . . 261:! Az i!,....én)'lclcn bemenet eseI!n.. . .. ............ . ..... 269 rnegjelenílcnrXí hibaüzenet n-.eghatárol.h:o . .... ....... . ....... 269 Az liSP NIT ukLl kipr6b11:i5:1 . . . . . . . . . . . .. . .. ....... . ..... 270 II bemenel é":("Tl~go:!:nek ellen6n:i!se progr:amból . ..... . ....... 272 Az elJenGn6 '·el.ér16k abpszo~l!lttá$.3j - OSSzefogblh ............... 2'" A ComI"'",\':Ilidatorvez~ .. ....... ..... ..... . ........ 275 Ki!! melO' ~"tCtu5OOlít.W. a Comp;lI'e\':Illdalor ,."zérl6 segít.~·d •.... . 278 A Ibnge\':tli<btC>r ''e71:r16 ........ . . .. . . ... . . .• •. . 280 IIOC"TltroC!l eHen6nése a RegularEll:press;on\':thdIlQr ,..,zM6 S('gl~'eI . 2lU Az dlcn6rz6 veúrl6k =~ik:>i lubjdoo$iga' . ........... . 284 Eg)'fi> ..1IenlSrz6 "e~ __ . ........... :287

Osszefogbl.1s . . . . . . . . .
Ktrdeu·felelek ... ___ . . . . . . . . . . . l~ml:Il6 kt~k ..........

_. . . • . . . . . . . . . . . .

288

. • • • . . . • . ... _.... _ 288 . . . . .. ............. 289

Válaszok. . . . . . . . . . .
G~-akC>rlJlok

. . . . . . . . . . . . • . . •. .
...................

....•..... ..
_ ......... ..

290

....... _.

290

UI. mz 13. ón!
Az

ad.'I~zls·k"l.elt:s al~piai

BeIi_* lIl"'U46ook ViII96be
oWopai _...... .

Munka ~

..............•

II jelenleg tuSZJúbt"" ad;.nt>;;\zisrends~k SUuktur.11t ,.dnak WOI;i~ .. . ...•. ... .... .......
IIIlb1~k

...... ............... m

................ 296
296

Els6dlege kulai ",,;dopok .. lI<btl>;;\zi5 ~5a . . . . . . 1Id:.lb::Iili1ll.:ibL1k Ji!lrehoz::is:. ..

.. .......... .. .. 299 .................. _300
. . . . • . . . . . .. . .......... • ••• • _302 . . . • . . . .. ..... . ........... •. 304

II I T ..... meg az ASP.NEJ 2.0 haSZnáIttM 24 6ra alatt
Adatbázis-ter\"ez6 di6h~jlxm .. . ... . .. . . ~ Adatok homadása a Books t;lbl;looz J<>9 Ös.",.efoglal.is . ....... . . . .... 313 K~rdezz-felelek ........... . · 314 lmlMl6 kl'roések ............... . .... . ....... . 314 V:iL1szok .... . ........ 315 Gyakorlatok . .... . ............ . • .....•.. . .. 315

14. 6ra

Adatok ~S4I az adltform·~eI

..•... · .~18 Az SqlDmaSource \"ez&l6 haszn.1Iat~ ... ............. 319 3. 1 ~5: A lek~rdeWs kipróbálása . .. 324 AJ. SqUht3S0urce \"ezM6 kódja. . . . . . . . . . . . . 325 Az ad:ubá1.isok n)":! ..e: az SQL .. .............. . ............... 326 Az SQL SELECT UtasítáS.l res..J<.1cscn . . . • . ......... 326 Az SQl-lekádezések er<."dményének meglekínll'sc ...... . 32; a Visual \X'eb [)e1.·elopcrben . . . . . . . . . . . . . . . . . . . ....... . .327 A vissz.aado« sorok ","-"mának korlitozás.1 a WIIERE lJil""dI.lékkal . . 330 Az en.'drnény rcnd,,~ al ORDER BY zár~dékkal .. . . . . . . .. 333 Adatok s~Gri'", k .........:tez~ az SqlDataSoo.m."e vezérl6 vará15l6jiban ....... 335 A~ Sqlll'~'aSou= vezérl6 aclarnínak S7->'íre.~ . . . . . . . . . . . . ....... 336 Az SqlDamSoutce vczerl6 adat.ainak rendelése. . . . . . . . . . . 338 A WHERE ..k.lClékhl dl:llllll l"kérdeztsek kipr6lXikisa . 339 Az SqlDat"-Sourcc .. e:térle;: kódja. . . ........ 340 O~zefoglal:'is ...... . . .....~1l Kérd"u.-felelek ... }n Ismétl6 kérdések .. . ..... .... . . :142 Valaszok . _ ....... . .............. 343 GyakorlalOk .. . . . . . . ....... . . ............ _.}4~

Adatforrás-ved·rlők

15. óra

Adatok rntgjellMlltm I w8bes ~

Webes ad3IVCz,érl6k - ánekinté$ .. ..... . Adatok megjelenit6c" GridView \"eU,rl6 segítstgi' .. el

· .346
· :149

A GridVi .....w kódja .... ...3SO A GridView te<;t.res;labása .. .352 Egyszerre egy rekord megjeleníté.se a DetailsView vezérlő scgí~"'g(·"el . . . 359 A lapod> felüle! testreszabis3 ...... . ... 360

A DetlilsViev.- megjelenésének
A Det~iJsVicw k6Jja . . . . . . .

tCSlres7..abá~1

.. _ . . . . . . . . .

. _. . . .

_.......... _ . . .

u.pozás (os rendezés 3 GridVlev.- segítstgbcl ... . . . . . . . . . . . •• . u.poz:ls ... ..................... _ . . . . . . . .. ..•.
Rendezhet6 adatok megjelenít(·", .... _ . . . Összefoglalás ...... _ . ............ Kérdezz-felelek .. Ismétl6 kérdések ... . . Válaszok _ . Gyakorlatok . . . . .. ... . . . . . . •.

. . 361 . .. 362 . .. .~3

. .. 364
. .. 367 . .. _ 370 _ . 370

· . 371
· . 371

..

.... . .

.. 372

15.6ra AdIIak t&16tt, bII2Cria .. szn..,, '•. Awtok flWi,bc, tÖrIke és b...;ZÍII"i.... a~ SqID:lI~rce ~'d .. 374 A1 SqIIntaSourao \"~6 forr:bkOdj:> . . .... . . . .. 376 AdallTlÓdC:l6it6 SQL--uwit.isol< ... ••.... •.. . ••. . . .• . .. . .. 3n Az NSERT uwitls ........ . .......... 378 Aduok törll:sc a DEUITE Ul!lsí'~s.s;Il . . . . . . . . . . . . . . . 379 Ad1tok $!crl".~·.d~ az UPDATE ut~.,ítbsal ... . . .... 379 Ad.;nok $~rkc,zlbc és tl">rlésoe a GlidVk'W \lczC:rt6 s.,gí~o!·""l .... .lOIIO "datok törlk61~k c"8,xHyezke ~ fe \ha"'1.... ~ 16k n "k .................. .lo81 Sl"rk~'het6 r:1csnézet létrdlOz$:t ........... .... .. . ... . .... .lo85 A nerlc"'zt6 feliIlet leslreS7... I:dsa és II frissítki 'IJ';lWlyok .......... 3f17 Optimi"" """,,nllk . . . . . . . . .. . . . . . . . . .......•.....•.. 397 A&.."k !,.".;r.úr.i"" a Dct:Ii!.o;V,.,..... \"eú-r\6 $C8r~gé\·el . . . ..........•.. 399 A !,.,mjr.i51 dmog:nó Do:taib\"oew tesuC$Ul:d..<:I. . . . .. . .400 ~ogblh . .. ...... . .............. 401 KtTdt:u·felcld< ......... ........ . . . . . ... . . . •.. 402 ~k~ .............. 403

,..,lérl6

U~nok

..............
. . . . ... . . . . .. . .

. ...... , ... .. 403
. . . . .. . .......... 404

Gyakorbtok

17. 6rI

AdItkIPetOIt ltnYI6 kt&. ·. fI '''vombok '' i"/iI5tli0ata
- :lnekimk .... .. .. ... . . .. ... . .......... 408 Adunk kapcsol:l"" II lista"ewl6khOz ............................. 409

J.isla"e~érI6k

A 1 ; ~la\"ez~rI6k dinamikus fehm,(:sl;nck eloSnyei . . ..... 411 !'rogrmnN<lU v:\1asz a kijelölés m(><.!o.;ít~~r:t . . ................ 412 ,u. credn~ny s7.iIrbt- a DropDownUst "cz("1i<f S<:gitM;g<-.... eI . ........... 415 A mtlf*k feborolis:l egy 1cnyíl6li51~ban ... . . ................. <i 16 Acbtok 5I!tlrésc a kijelölt mt1bj abpj;1n . . .. .. . ... 418 Adatok ~l1~bc a fdhasmál6l61 a Checl<1 k>xW! és a RltdioBuIlOnUst "elM6 ....lj:ltso!~'eI . . . .. . .. . . . .. . ...... . "'O A hs"wez.MtI clemeinek fclsorol.aúisa .. . ........ . A Selt."CIL-dltem és SelecwdValuc rulajdons;lgok ~1~1lt ...... . . 42.~ A bdioBuuonWt és <ll«kBoxllil ....~1it5It ........... . 42~ mo!8Jek>nbm....' Ics.treszab;is;, . . .. .. .... ...•.. . . ~24 O$.sze(ogl:tl~ . ... . . . . . .. .. ..•.... . ............ 427 K(..-deu-felelek .. . .. ....... . . . . . . .. . .. .. . .......... . ... 4~ [,m<.. IG k",~k ........ . .. ....... . ............ 428 V~ la,mk . . . ....................................... . 429 Gpkorbt ...k . .. .... . ....... ......... . . . . . . . . . . .. . .. 429

""

18.6rI lu 1dMk'l :1 :.111" má,ldItokkll kIPetOIItOI wm6k A GritN"ICW k a Deuil,V""" mcz6inek 1uekinté.'I<: ......

. ....... B2 A Bil tipu"; O.WOPOk megjelenÍltsénck módia ...... . .............. 434 IliperM"lI.korlsok meg)denJtóc a ( 1)·J>C--rUnkHdd ha5DúJat!i\"a1 . . . . .07 Kc!-pck megrelení,be az InugeFreld h.L'<mlbti,"~1 ••...... ..... , . 441 Helyet1t,sít6 kat:llaerek Ju.'lt\~bl2 a WHERE sz(I"r6kifqe7bckben .. • .. AcbtJapcsolis ... . . . . . .. . . .• . . •• . 446

«.,

. 1..... m.g IZ ASP.NET UI halo""" 24 6ra-.u T
Eg}v:iinyíi éi k~ir:1n)'íi ad;nkllpcsolh .... ,.................... . .. 447 A vcztr16ll acblkl1pcso1atinak l>e;illitig . .. ..... ,447 Ós.,z.,foglaLis ......... , .. ' ... , . . . . . . • . . . . . . , 453
K~ro..u-fc1elek
V~laszok

...••
,

. . , .. , . . . . .

.454

l5~kénlésck

., . . . . . . . . , . . . , .. , ...•.... , . • . , .. " ..•. 455 .. .....

Gyakorlalok

. . •. . . . . . . . .
f

·

lV.rtR 111.6ra

Nftig6ci6. ....... _wl • "tzoldlllk . . .dll A .. 1IIrl1llylk 1ZIIbmte6I lI8'Oio'cDo lLItWtWOei

.,.

,,.

Az ASP,~U navig:lct65IcI ...... ~k 1tt(:kmL~ . . , ... . .. .., 460 , .. 461 'lt"t:hbe!y\lnk szerke:t<."16wk meglutirozás:o al oIdalLérképpel Ar. ,,1ct.It~rk~p dk6ziLése ............. . ., .... 462 OldaILc;rk~p k~szíIC~ ~ webhely szerkezete ~Iapifn ...... 464 Morz.'<3útvonal mcgjclcniLbe a Si!",Mapl'~Lh veúrl6\'cl ..... 467 A .s'{e~lapP~th ,'"Zénó n1egjCknésénck Le'II~biis;l .. ... . . .... 468 A wt:bl>ely tel;es su'l'kel.e1ének mcg;elt:níLé5e .". ,.470 'lt"ebht'I}i1nk su'fkete\ének rr~sjdenit~ a Tn,,,Vi,,,,,, ,.ezérl&.'e1 ,471 A Tn.""V.....ow v"zfrl6 megjelenésén",k tc.S\teSl;Ib:1s;! • . . . ••. • .. Wcbhcl)'\ink 5lerltcttLtnek megjeknitbc ~ Menu ,..,zérl6>"CI ..... · 475 Osszt.foglal1s . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. . . .. . Kl'rdru-felc1",k .... . . . .. . , , . . . . . . . • . . . . . . . . . . . .. . ... . .. 4íKI Jsméd6 kérd6ck ....... .. ...... " ....... . .. 481 Vilaszok .. " .. " ., , ....... . Gyakorblok ........................................ , . ' 4!ll

." .,.
""

2O. ón

~kw

III'

Felhasznil6i fiókok az ASPl\U kÖlll)'ezcthen ..... ••• .484 Tapig timog:uJi ... al ASP.XET w~-bhrlyekCtl .......... 485 fdlu~16k 1...m.lroz;isa szcn;pek szerint . .......... 489 Hozz::ífér6i Sla~lrok l<':trehol1.o:. éi )(e",:I(-se ,. . .......•.... " 491 A wt:bl>ely S~ITP·be111iLi.~i ...... . . . . . . . . .. .. ., 49.~ Ft:'lh"-Sro~l6i fiókok léI,,..,llOcls. a webhel)' fel\ll~~n . . . . . . . . . . . ... .494 A CreateUscrW'7.ard vez~rl6 testrcszab1S:l . , .. , , ... , .. , ... , , .. , ,496 Elektronikus lev~1 kUld6e a fiók dkéilOh<':t kÖ\'~6en .499 Inaktív fclh~szn1161 fiókok léttchozi5a . Bcjelenlkere. ~ l\,'ebheJyre a Log'" ""z~'cl • , ........... . A Login IC:Sti"CWIhha ....... , • • . . . •. .., ..•. Kijelem.kere. . ......... . ........... . .... 504 .. ,S06 TafUlom mcgjCl~..,í!l:5e a hitelesíLé:5i 111~poI ftIAA"f:nyében .•..... ElfclCJIctt ~l~,.. k ,is5zaáUit.>:S~ ..• , ... , .. , . . . . . . . . ..• , ... ... . 507 Ós.",..,foglalJs . ,................ , ....... . . ... 509 K~rdezz-fclelck .... ,. . ... , .. , .... , .. ' .... , ... , .. , · 510 , ............ . , ... 510 J.srnétl6 kérd8ek V~las7.0k . . . . .. .. . .......... • .. .......... . .... .510 Gy:akorl>tok ........ . ............. . . . . 511

,..,úrili

"'1 "',, "'

TaruIjuk meg II ASP .NET 2.0 haSZn6IIt6t 24 ÓlI alatt xiii 21. m MmerOIdaIek haszrM\1ata II eo'sz WeIlheIYre MWnYeS t'H*
LbJoklétrelJozlÍÚrll

I

Me~teroldalak - áttekim6 .. . ....... , .. , ............ 514 Mcslcroldal lélrehozása. . ... .. ...... .. ... ... .. ... .. . ............ 518 /I webhelysablon meglervez.!~ , . . , .. , . . . . . , . 520 Mesleroldalt61 öröklő IISP.)\,'ET oldallttrehoúsa , .... , ....... 525 Meglévő oldal be~lJíl~sa mesleroldal haSZrl:1lal:1rd , .. , .... 527 Abptnelmezen tartalom közltse 11 nle5leroldalon .. , , .......... , . 530 A1apMdmczcu "agy egyuli tartalom ha..ználalárwk be111il<4a _.. 531 egy ASP.Né·T oldalon ................ , .. , ............ , ......... 531 II meSleroldal ford~k6d rb1.enek módosíL'ii53 • . . . . . . . . . _.. 532 /I meSleroldal működb;ének kipr6b;ilása .... , . . . . . . . . ... 534 ö...,zefogla\ás . . . . . . . . . . . . . . . . . . . . . . . _. . . . . . . . ... , 535 Kérdezz-felelek ... . . • . . . . . . . .. ,.•' , 536 Ismétlő k('rd(,-ek ......... , 536 V:llas7.0k . . ..... ,....... ...... , 537 Grakorlatok ........ , .... , . . . . . . . ,..... , 537

V. rész 22. ÓI1I

Webf14 fot6111bum készltése az ASP.NEr SegítSégéVII Afényképtlbum-aIkIImazjs Ie!vének aIkéSZftéSe

, .... , .. , . . . . . . ... 512 A fényktpalbum-alkJ lmaz:is terve7.ési .,]vánsai 544 /Iz .,]"án'iok megfogalmJzása ha:;zruílali esetként ... , . 545 Az aWuházi<;-"-1.erkezct l~rehozása .......... , .. , . . . . . . . . 547 Kapcsolatok modelJelt~ egy adatbillWan _ .. 541! Kapcsolatok kiktnyszeríl6e idegenkuks-megszorilásokkal .. , .. 550 II fényktpalbum-~ !ka lma ;t.1s ad~ll)ázi~lxlfl szcn:plő ....... 552 c!.'}·-több kap<:SOblOk fe\somlái53 . , . . . . . . . , ....... 552 II felhasználói fiókok lábláinak ].!trehonsa . , .. , , .. , . . . .. 553 II Categories tábla lttrchozás;l , ....... , . 551 II Pkturcs tábla szerkezL"lének meghatározása _557 II Commcnts tábla Il1.rehm,á"" .. _........ , , ....... , . 5S8 Modellek felVlÍl.Olá.... az alkalmam felhasIDollói fclOlet(,hez .......... , .... 5flÜ Ó.=efoglalás .............. , . . . . . . . . . . , . 562 K"'rdeu-felelek .. . .... _...... , ..•.... , ................. 562 lsm&ló ké~k ... , . . ...... . 563 Válaszok .. , ....... , .... . , .... _. 563 Gyakorlatok .. . . . . . . . . . . . . . . , ...... . 564 23. 6nI A fIInykjpllllum-abknaz6s eIaPjainek fel6p1tése A~ alkaln13Ús feloszr:lsa kezelhető feladatokra .. ... , .... , . ......... , ... 566 Egyszerií mesterokk,l hozzhdá", ........... _. . . . . . . . . . ...• 567 A helyettesítő ",cbold~bk létrehozás:! .... , ........................ 568 A felhasználói fiók oldalaiIllI k l~trehoz:l5a . _ _.......... _ _. 569 FellusZlÚI6i fiók lfuchozás:ln:,k lehető"é lélele 3 látogatók sz.:ím:íra 570 A bel<'plető oldal U1rehozá...,. __ .. , . , .......... , ....... , ....... , .. 572 Uejelemkelk;; inform~dÓk felvél:ele a mesteroldall""J . . . .. 573
A tervez6i folyamat áuekim"'sc

Jdy

I r...... 1MII az ASP.HET 2.0 hIIZniItjt 24 6ra . .
A "ebe!; fl-nykfp;llbum kezd6uld:tljlklk létreho~s;, ............ . . 574 !oz. SqlDaUSource ,'e~rl6 houb.di$;I b brillíth1l ___ . . . . . . . .. .. . 575 571:1 A rl"1lyk~palbumokra mUlatt> hl"~lkoz1sok megjelenítési< .... ..• . . . egy Grid\"lCW S<'gl~~'el . . ....•..•.. _ . . . . . . . . . . . . . . 578 A Iu.teg6ri~k kezelbe . . . . • . . • . . . .. .. ... . _. . . . • . . . . 579 . 5BO A n~c1"n feLllll5Zllál6k felügyeleti o ld:olhoz ' "dIó . . hoz~f&é."'n"k kurl~lozá$3 ... . . . . . . . . . . . . . . . . . . . . . . . 5BO A bcjelwt k"le1.1 fe1haszn1lók kale86ri~H$I~inak lek~!Í= _. . . . . . SSI Új k:uC"g6ria [elvéi"l" ... . _ _. .. . . . ...... . ..... . 584 K~t~·góri.1k megle kiméso: . szclkc5ZI6c és löMse .. _. . . . . . . _. . .. . . m ÖS$zefnlll atii> . . . _. . . . . . . ....•... .. . _. . . . _. .. . ... 591 Khdeu-fo:ldck . _ . . . . . . .. .. . . . . . •. . _. . _ . . . . . . . .. .. 592 24. 6ra ~ llltöltiJ I n~ 1 1 . . .. Ittw ll-ujegJ ! I k'6A A ff-nykl'p:lll>unl felilgyeLeti okbbin:lk b._{~;C:césc • . __ .. . . . . 596 (Jj k~-k fchölt~ a fm)-ktp:.nlUmba ............... . 597 Meglé\1i k4-:k mcgtddntbe. !i7.metiZtC:sc és töri~ ....... . . . ....... 6 11 A fo!-n~'k~lbum megjclC"nítbe az ÖSSle$11lO8:n6 ..,.~mlifll. . ... ..• .622 A ~lh:1.szn~6 fénrklpall>umAA:lk WJ~ . _. . . . . . 623 Egyetlen k~ & a hov.! urtozó 1l~"Zbek megtekint6óc . . . ..... 628 "''''gjegyzbek tr:isának lehet6,·~ ,l-leLe . _ . . . . . . . . . . . . . . .. . . .. 629 ~ l>t"jelmtke= f"Lh:i5Ul~ I6k ,.,..:lm~ .. •... . ... ~ _. . . • . . . . . . ...... 629 MegjegrzC"SCk mcgjc:knit~se .... , ...... _, .. , , . 6.l~ A "..,bhcly sttfkc~~1énck fel~ft~S<' é5 a navigkl6 mcgval6síl:1s,;o , , . . , . . 6.~ 055Zefoglat1s. . . . . . . . . . . . . . . . . . . . . . . 635 Kl-roczz-fekkk .. .. . . . ... . . , .. , .. , ... _.. .. .. ... , _.,.. . 636

'*

T_

639

A SZERZŐRŐL
Scott MitcheR, ~ki II 4Gu)'!;l'romRolI~ .com n"v(f fltpncnI ,\Sl'/ASI'.NET-forr:lwkal
k07.zél<:.··.. 6 "''''hhely n"rke.m6je és f6 szerzője, 1998 61~ több 5z:1~ dkket ín ~ Microsoft webes Icdonol6gi<lir61, ti" al< Irll"mel"" cikkek törnkdegén kh'iJl nur öl: könyy," is megjelent az ASP/ ASP. NEl' l'::makOréb"n, <I nou'" IOllrst'!f ACIj,,.. S..nl?,- P"ges 3 .0 j" 21 Da)'! (Sanl.S), a l>erisnj"8 AClh'/! Sen.,,.. Fuges (O'Reilly), az ASP.NET: Tips, 'I illorta~, a"d Co(},>(Sams), aZ ASP,NEr D<l1I1 \feb Comrols K/ck Start ($:1ms), illene a Teac/, IOllrs.eIj.4SPNET in 24 Ho"",-(Sams). SeolInak emellen foJy6ir.uokban is jelennek meg irásai, pt'1,ulll a Micro$oft MSDN Magaz/ui'-jában. \"dLlmim az asp ,ncl PRO-ban
Az íráson ki,iil Scott akliv résztvevői<' az ASP/ ASP.NI:.,'·relha5znil6i csoportolrnak. ts ormg>o-""ne sz:lmos ASP,!"<TI-konferendín WI doodá<oka1. Az ASP,NIIT 6 a hozz:! kapa;olód6 'echnológiák hawlilatál oktatja is a Kal iforniai Egyetem (Uni" cn;ity o f Dlifomia) San megói ré5~legében_ lU irá~ (OS" I<lnítás mellett &tilt s7.oftverfejle.z_ I~I is foglalkotik. filggeden tan~csad6kl'nt, &; m~r szjrn<:>l< ke""kedelmi alblm3l,bt alkoton (,5 dobott pL~cr..

SeoII a mítchelli 4guysfromrolla.com eimen bhe!:6 el, webnapl6jit pedig 3 www.ScottOnWrit inll .NE'l'eimentahilhatjukmeg.

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
E-maii: t ..dbackbamspubli .. hil\9. 00.

LevéL GK'g W~gmd As.5oriiote Publisher &.111"\11 Publishing 800 Eas! 96th SUttt tndia~poIis, IN 46240 USA

,11"8/t'8.IZ<'s: Grt'S a kdn)V lémdjáL",1 kDpcsoImos technlhl l kérdésekben m:m wil seg{uml, de 1000'<1bbiljtl azokal az O/m.$dszoJJJdlal n"k, ahol kéSZ.SfOggCI ,'<f/l/uoll/llk rtljllk
1\ kÖlc!r6l!s a S~n~~ kiadó tObbi köny,,~r6l a """'. ,,oQpublishing . "'eboldolon tal~lhlltunk további inform.:lcj6k~t. Irjuk be:l Search (Keresés) mcz6be a kooyv dmér.

,:e,."

\"311Y ISBN szim:il (:l kÖ(6jelckkel együtt), és megjo:'lenik a kereso..11 oldd

BEVEZETÉS
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"lrchozásár-A súnI, nép'7.o:rú ASP.NU tedmoI6gi~já""k JegÓjabb viltozat,,! mutatjuk be.
Az IISp.NE'!" wl,:balkalm:aí"<>l< önálló ASP.NET,,-eboldalakból ~lnek feJ. AJIOSY

a könyv ~z:im~ll1n pc"ldilj:í1 ~t(ekint''C lálni fogjuk, em az ASP.N!:! oldalak k~k l fl'ML megjelenítési....,. rdh:!Smil6ó adatbevitel fogad1s:i,...., illetve adalhlzisokkaJ való
cgyütlnulköd{.,;n, ls. l\z ASI'.NET wt'lX>ld:J.bk HThIL'jeJöI6eket ~ forclskódokal is tar-

talmaznak: a fomisk6d leSzi Id1f~I6vé az olyan fejlettebb szolgáltatások elérbk, mint az :ulath!ízc",k adataihoz '"::116 holziftré$ vagy egy elektronikus k'\'él küldése az ASP.NE" oldalról. A forrá.,k6dot többféle programoLW nyel"en il; megil"h'ljuk; ebben a könyvben mi ~ Microsoft Visual Hasic nyd"", fogunk tám:lsd<odni. Aki még nem programoZOIl VNJal Basid"",. ~agy még tdjesen ke7.dó a progr.llnoz:lsban. ~fl/l;lk ~ kell aggódnia' az 5. órát6l keru-.., három leckét i.1; a progr.1moti~ nyd\"{:k fogalmainak. iUet'.-.: a V~ual Basic nych"l:lfWlJk sZC"ntelünk .
• ASP.l\1::"T ~-ebolcbbk fejlesZl6il1. ml'g\<önnyitend6 a MicroS()fi. VI.>;UlII \reh Developer "-2 n~'en közzétett egy ingyenes szerkesztŐ! - mi is ezt fogjuk haszruiJni a könyvb....n ASP.N!:"T oldabink Iélrehozis.'ira. A Visual Wd, lk",eloper egys7.erubl'" t.,;zi mind a HTM.L-jelöl~sck, lnínd a programkúd« l.J.nalm:lló részek megir1s.'it Al ASP.NU old:llak Hl'ML-res-lC gyorsan dk6zílllt-1.6 a WYSIWYG (What You $ee ls Whal You Get, '"::Igyis.azt kapod, amil láL'7.") "hű gralllru5 5LC"fk=6 segit5tgével, amelyben. különféle lifML·.den>eket egyslerííen az ASP.N!:"T wchokb.olakrd hÚ7Jlatluk, 6; puS"aán néh~ny cg.r,rk.l nintáss.'! elhe! YC:l.hCljü k.
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:ílisokkal 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 _
hogran hozh'llunk Ime eg)"S.:en1en mcnükd. f:mé=clt:Cl ~ IusonIók:aL A 21. 6r <'gy új szoIg:1lt::lw...al. a """,,~-rokbbkbl fogblkoLik. A rne:slt."IOkbbk .. ~-d 3 wt.-bfejlcs:ttők oI}"20 ,,~\ k~k. ;undrekt.1. a webhely mindt..., okblml alblrnaV\2.tnak.
aZ újonc ASP.mT-fejl~6knek 5J".lImuk. igy Mm súmíl, hogy V".. n=k-e mir t::lp;1Sl;I:iJataink II ! n"U-I('1 vagy ~ progr:amodsi nydvdd<el kapc50lalb;m. Mi~ ~ kÖflYv v('gérc frűnk. k(,pesek lesZiInIc elk~5zíl""i saját dinamikus, auatvcl'krcll "'·eba lblma7.á""inbl al ASP.m. ~gll~gl~\"el, ...& a 22-24. fejezelekbcn fel I.'i épitünk egy teJjese-n maköd6lt.fpes dektronikus fot6:t.lburllQl, alTl<'lyben felhaS7.n~liuk a koclbbi fejc7.elckben lanullalot.
KOI:~(lnk~ tt.~. ~

A könyvben haszná~ jelölések
A r".... oly.! fogísokat mutllnak be, lmelyet az ASP.NET hatékonyabb hasméIlItát teszik le!wtővé.

AFigyelmezte/ések adon he-/v1:etben le~6fX1 problémákr8, illetve megold6s8ink
meDékhattlsai ra mutatnak rj.

A Megjewz9sak I\as.znos kitQ6szlt6 lIIdnival6k81 tartalmaznak. ameIy.bt eUr helyben i$ eIoIvash8tl.r1k. ele k6s6bb is vissmttHhitliillk fájLt. III nem SHfttnénk ..:Ion pibna~ _SlI"" • fljtzet lonaMl
A fentiek
kön)""ilnk killönbOz6 betűtípusok:tl has=il a k6drbzlelek b ~ fcjczctek sZÖ\'egértek eháhw.~sk A kódok:tl I>%On08 néle .... 6g4 kar::tkterelc ... jell!k. A helykitöItők - olyan ~ .... k. ilk'l\'(' kar.lkte~k. amel}'ck hclyt~ kblibb.m51 k"lllmunk - azonos sz.l ...~ d61e bcttlkkcl jcl"nnek meg.
~1I~1

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 jelemen nekem - jó programmj511 ~

mcgir1s;a

$(011 M,rch<!IJ

.. I tch.1114guydromrol h. ,co-.

I.

RÉSZ

Ismerkedés az ASP.NET-tel
l. Ó!1I 2. Ól'a

3. ÓflI 4. óra 5. ma 6. óra 7. 6r8 8. óra

Ismerkedés ill ASP.NET·tel Az ASP.NET pfO'dfamoIási modellje A Visual Web OeveJoper haSll1á1ata
ASP.NET Wilboklalak tHfVH l!ÍSII,létrshozása és tesztelése

A Visual8asi~ váltolÓi és műveletei PTogramok irányitása a Visual Basic vezérlési !Qerlr.emeivi!1 Objektumok a Visual Basicben 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

Az ASI'.NET egy izgalma.. webprog!':1moLlsi (cdmológia, amelyet a Microsoft dolgozon ki, (.,; amcly lehet(,,·,', teszi a fejleszt6knek, 1>q,'Y dl,wmiml$ ".dJOida/akat houanak

I&r". A dinamilru~ webol.dabk olyan oldalak, amelyeknek a tart:llnüt dinamikus.1n állitják ,,16, amikor a litog.1!6k l"k("ik awkat. Al Amazon.com nyít6lapj:l péld\ul bejelemkez&ünk Ul~n olyan könyveket mmal, amelyeh1. kif<'jczctlcn Jl('kQnk ajánl. és ezt a korábbi vá,!..'irlá5<linkn. alap<J7.r.a. 1:7. aZ olcL,1 !dl:Ít dinamikus oldal, m'-"fl a t:lnalma arr61 roggöen v:íltozik. hogy ki látogatj:! mcg. Ebben a könyvhen a dinamikus ASP.NIT wchhelyck gyors és cf,'Yszeru létreho7,.ásávaJ fogklJkozunk.

41 rt&z • lImeIked6Iaz ASP.NEH" L
Al. ASP.!"ET eI6u:l. \lkn...,(l dlllanukus "~rogIamoúsi technol6gijpt Acti\'~ 'ic:n..".

Pagonek, röviden ASP-~k hh'1J.k rur a1. ASI' no.::'J>ST.CfŰ ~'Q/t :I. dinamikus "'d>helyeket fejle'l7.U'!k köri-ben, fontos uolgiluti.ook hi~nyoZI:J.k belőle, amelyeket más prog!:lmol~5i nr", ...,kben megtallthanun" II Microsoft az liSP hiányos.s:lg:til a~ ASJ'.NJ::T 1,0 mt.'gjck'nt~1~"el küszöbölte ki 2002 janu~rj:lb,m, Az ASP.l><U h~rfI:Ir sok:.lk kedven..: wehprogramotlsi megoldása Ictl, a Microsoft pedig 2005 novemb....... 'ben kiadt~ ~ rég~n "ln 2.O-s változatot, am~lynek let'\'c:tbckur a l<'g8Yakoribb wcbfcjleszl~i febdalok mcgh.1t:'irozis:\ra és a1 c1,ck~1 a fd:«bIOkat l<'Cgyszenhít6 ":tOlg;\lt~t:\sok lx-{-p ilé""", Ö5.S.ZpontositoUa k Mid6tt aoronban neIuI:\thatn:\nk el,;6 ASP.J\"ET w~'uhdyonk e[kw,Ít6(-nek, lelep~etlonk kcll a SI:."I' ketelrendv.ert C\'r.T' FrJITK.'WOfk), a VJSUal \\~eb n.,..'dopen o!s az SQL Sen~ 2005-01:, A .I\TI frm..,,,urk nélkQl ~l 1.51'.1\1 ;, nem kq,e. működni, a \'iSU31 W"dl Developer pedig egy olpn kiflflOlnuk ft1leSZ16körn}'e~ amdl)'CI ASP,J\1rr """,hdy,,k<-1 b ,,'dx>kblal,," hozhatunk~. SUTkesnhetOnk o!s tes7.lcU>etilnk. Az ASP1\TI ....:lXIIdabk egyszeriI .V,Ö\<-'gfjjlok, c:mt h1nnil)"m sima $ZO\..,gszcrkeszt&."". ptkljul ~ MÍI:ro· 50ft Jegyzenömhj""d - Notepad - dkbzlthC161<. de ha ITÚr k6:zített!lnk kcrlbb.tn webhelyeket, akkor tudjuk, hogy 01)';11'1 eszkÖZÖket ha=l:ílva. num a Mic.u\oli Front_ l'~ge, jelen~ ~·gy.zcn1bb{: tchetjük ~ fejlesztbi folyam~(ot ann.fl. mintha e<ak ~gy oIpn ~ltal~nos SZŐ"egov.erk<..><;Z\6t h3$zn.fln~nk, mint a Jegyzettömb, Az ASP,NET
c:.<:t~ben

pontosan ugyanez", hdYlCl,

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, .... Ebben a leo::k8>en arr.. összpontosltunk, hogy mindent mcgfdel6en bclll;L~unk. hogy nekil~lhaS$unk az ASP Niif wc:balk:Jlnl:lúsok k6zito!sfnck. IUr nem lmru: 1'OS..z rögtön n IISI'.NIT oldalak I~rehozi~n~k mikémifre mtmu. fontos, hogy d6ször ami szánjunk egy kil; ;00t. hOb,), clJen6riUOk, hog)' minden demet megfeld6<:n lclepitettOnk ~S ~llitollunk-e be , ami n ASP.Nl:.T hJszn~lat~hoz ~-tük5tges_ A lecke \'ég(:n clk6zitOnk majd egy igen "l:!yszenl ASP,Nl;:T weboldalt, dc ~ rbl.letekhe m~g nem mcgyOnk bele. Az ASPJ\lIT oldalakat részletesen a kö...etkező tI'Cko!-ben, illt:\ve II 4 6r.'ioon vizsgáljuk meg

,. óra • Ismerkedés az ASP.NET-tel I5

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... muvele'!1 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~ . Awkal ~ weboldalakal, amelyeknek a larw.lm.-íl a felhaS2n..iI6 általme gadot! ad.1tok ""dgy mi.. infonnkiók alapjln. dinamiku.san haliiru1.Z:ák meg, dindmiku$ u'Li><;/tlalaknak neveuiik. A webhelyek keres60ldaLi például mind dinamikus weboJdalak, mivel a I.:lnalmuk "gy~ azokt61 II kcresesi relt&ell:'kt61 fugg. amelyeket a feJhas.zruUó megad , mi5rbl:t pedig II "lvebkis.zolg:1l6n úrolt dokumenltuookt61. AZ Amazon.com személyI"<':' .subon apn.lal:1i szintén 3 dirL1mik"s wd>oldabkra adn.. k példil. Az Am.non.com állal ajánlOIl köoyvek és más tenn<'kek :\Szerint válto:/:nak, hogy ki te1tinlÍ meg az olddll. 6, hogy kor.íbban milyen termekek olda],it n~zte meg, és mil vá~roIt .
.... Sf(ltiL~1$ u'CboIdalaka dinamikus wd>oldalakkal éppen ellcml:lcscn működn.-:k :

a I:utalmuk nem dllozik. ,\ ){Th1L oklalak I*ldiul Sl:lti\rus w~hohJalak. vagyis ha egy wcbhdyell egy oIilith a kovetkez6 HTML-kódok irnak II:', n "ldal statiku~:
<html>

<body >
< b>H~ll o . Worl~!</b>

</body>

</ltt ..l>

Ez az oldal azót statikus. men" IálOgat6t61 és nús ll:nr'-:Zúkl61 ruggcllt,nül mimJig "b'Y3nalt a kiml:'n<!tl:'t eredm~nyezi: a _Hello, IXbrld!' (HeUó. ,ilig') $LÖ\·eget, fHkö\""r lX.1űkkd. Az egy<':'\le!1 alklllom, anuko, e!,'Y st3!iku. weboldaJ l."lrt:llma meg-.-tdtozik. az , amikor valaki áL"\.Zerkeszti n 010011. 6, a m/'x.k),;íúsokllt menrve felil1ítja a n'gi dIIOZ:UOI. lényegében minden mai wetmely stati~us és dinamikus weboldalak keverélo:éból épül fal. Kizátólag statikus oklalakból áll6 webhelyeket ritkán találni, mivel ezek képességei igen ko~álOlOttalt.
Al ASP.l\'ET hasznábÚl el sai~tit\"a megtan" lhaljuk, hogyan hm.hatunk létre dinamikus

wcholdabkall.,)!\almaz6 wffiheJyeket, ehhez azonoon tis.zt1ban ke!llennünk a statikus l's dinamikus weboldalak ki5lOlgáLl~nak ktilünlm!geiveJ.

611. rkl: • lUn8Ibd6S IZ ASP.NEr·1II

-a k~r& Melelt.

ASP.NET csupán egy, dinamikus YllelM*illlak tIIóáIitásk. haszn6tla16 ~ k&iil. k ASP.NET az Activa Server l'Ign IASP) utódja, amely . MICrosoft kIribbi tecMológiaja volt a dinamikul WfiIOIdaI_ Witrl!hozásáfa. A hasonló me~ t 6lÖtt o/yllllOkat találunk, mint a PHp, a JSP VIgV. CoIdFtlsion. ~n $lIIrnélyesen az AS~NET·et lal6iom aiegköooyabben és leghatékonyabban haslI'1Athat6 megoldásnak Imk err61, és nem más technok>giákr61. Al. ASP.NET sokkal többet tud. mint III ASP; ha kOl'ábban msr ktiSlitettiink ASP pai'ill'lCstájlo.\:at. IijOlletünk, hogy mindazt megtehe~ük III ASP.NET-beo, amit III ASP-ben. csak jóval röviÓllbb idó al3tt, lJ9yanlgy III ASP.NET 2.()·1 változata is reogeteg Í!\YÍIMI tart111maz III \.1) .$ váltOlllthoz kbpest. P6IdéU ~ jócskán továbblejleszten uerteSll4t. • Visual

~

il'"

HI mér fejiesztettiW:: WebaIkIImIZ6SOb mb prograffiOlási techooológijk. ~ III ASP. 8 PHP vagy • JSP segitsigevtl. • most kMtbzó két részben lArgyalt Inyag mér ismerós lehet. H. III • htlyzet, nyugodtan ugorjunk Az ASP.Nff.mot~ il :uerktlszt6 ás al «kRbAziH tnd$lflr rffhlpkáse cfmii rism!.

Statikus wBboldalak kiszolgálása
Ha konboon m~r fejlcs.w ml1n k webhcl)'ckL1. ,... Iószín(j]~g mdju k, hogy annak OzellH' l· 1~6;l;hcz eb Ir'Cbklszolgúlóm van S7.0ks~g, A wL-bk ~gM6 oI)'l1n s1.ortvcr. amely 'Y fol)':lm..10S:ln "'"-r a bejövő U~ 1Ih',!/mdtre, 3melrek ol}"ln k~res.,k , ",mcl~k egy ~don URL·", idnyu lnak (Iisd al U :l.b!'1I). A "·ebkillwlg;;'iló rnegviUiPlp II kén UIU.-f. megkeresi a megfelelő fl~t, m..jd \~ killdl:lll anna k :ll üS}ftlnek, :lmclyiklGl

-_
A t
U I

•'

\U"

, ....

1.I . 6brI
AfótIo.' ......... olljl_ • l' l'" A ,Iti' 'i'" . . - - o........ 1IjIl
l , le

A,, ~~16

llezelll. b.j(Jt6
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ó t,..ulmi:. :lnll 3 l:x'ing&z6nk jelenít Ill\.'g.

nlegf~lel6 f.>.~,. , ~

és \isslaad);: :lnn3k

1. 6ra • Ismerkedés IZ ASP.NET-tel I 7
A webkiszol~lá5 e mod~l l jc statiku.:>, nem Yáltoz6tartalmú old3lak kiswlgálás:íhoz megf..-ld. dc ~ dinamik~ oldalak kiswlgálás:ílK)z mir lúl egyszer(!: e5lt'rinl a modell szerint a ",..-bkiszolgáló csak annyir 1e$Z, hogy Madja a kért URL-n lev6 f~jl tartalmát a kl'relm<'l kiadó böng.':sz6nek, II tartalmat lllOnoon semmilyen bemenet alapján nem m6Jo,;ítja.

Dinamikus weboldalak kiszolgálása
A staúkus wd.lOld31ak csak HThIL-.:lemeket tartalmaznak, amelyek le1rj!ik. hogyan kell m..-gjdcnnie aZ olOOln:1k a felha",-nóló böngé<7.6jél>efL A wcl>kiQ.olg~ló igy kére<re egy~;:L-n1cn, módosit!is nl'lkfil elküldht:ti aZ uldd tartalmit a kérdlll"z6 bfmgés7Linck. Ez az egyszertl modell nem működik a dimITÚk"s wcbuld.,lak esetében. ahol" I;,I.rtalom l:ilogalónkl'nt különbö:d) leh~1, ~S több tényez6r61 ftlgg A dinamikus tart~llllat az oldal fOrrásk6dja írja le, amclr~'l az 01001 lekéTtsekor \'l'gre keU hajt:lni (lásd aZ 1.2. ábnít). A kód a '-égT'('hajtás "-f'-xlmL-nyck6ppcn állitja el6 azt a HTML-t, amely~1 majd II látogaló böngéóz6je megkap_

--• I 'i"

, ·"'teT",

.fíjIr-..........
,.",, ' 'NjJ_
"'~
' _ _ ii . " ....

.~

~.~fóiIt

~ . k6dOI, .... OI6M!jO .III~~

,,_. .

A P'~"'-­ .... M,J 100'1< I/IIOL fÓOItI. lis
~.I/IIoL_

.... i!.';·'! ,,6jIoo

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:lsodpercenkl'nt módusilania kdlcnc az o ldal!, hogy az id6pont fris.~ü1jön, aITÚ nyilvánvaloon k<!pt:elensl'g. Egy din;mtikus webolOOlon amnban forclsk6d állitja elő a dátum<:>l h aZ idő!. ITa q,'}' felhasználó mondjuk 2007. febtuir 4--<"n du. 4:15:{)3 6r:tkor 1110gaqa meg az oIOOl!, a k~rclem pillanat:lban v~g,..,hajlódik az aktu:l!i.'i d:ltumOt él! idÓllekértlt:z6 foffilsk6d, b viss~adja az adatoJ"n a kérelme7.ó webbönt."'sz6nek. amely így a 2007 . febru!lr 4. , du. 4: 15:10 id6ponlOt jel/!f1il; rut'g.

ali, rész • Isrnertedés IZ ASP,NEl-tal
Az 1.2. ábr:ln láthat6 modell re"",e ntmHeg Iccg)'szenls1lcu, a "'cbkiszolg:116 ts

"dinamikus weholdal forriskódjának vt"greh"jLása ugpnis rendszerint egymástól filggetkm. Alnikor egy webes kórclcm érkezik, a wcbkisZQIl(~16 mcgh~Lározl<:l, hogy II kén uldalMlllikus vagy dinamikus-/:, (:s h~ i\wilrus wcböldalr61 van szó, a tana!mát köZ\etleniil elküldi a kérdmez6 böngbzGnek (~hogy az U. ~br!in L1trukJ, míg ha dinamikusról (p"'Id:jul ASP.l\'ET oldalról), a kiszolgál6 áudja az oJdaJ v.:grehajtáS<lnak febdatát az ASP.NET-morornak (l~sd al. 1.3, ibr!it>.
Iv. 4SI'.I«T......

t~'
A lijlo='
ol

_.-."fo.
lIlt ....,..

I'

.... 1IoIIIIIjt.1fTML

·1=1' ._- . _ot
.,i!'
",ASP.0Cf-.
POOIg ..... oloojljo • l:IidO<.

.__HTML_

h__ . ~
10'"

--.A" tp..,ou.!

_~

_t- ,•
• .. bllilOltU6 .......
• "'1ójiI1ogf tI1Ml!OjlJ. k ~ iOI.ÍPO<i . 1ITMt.___ ....,IIIIv'P • ., 11.4;'1.

\ull~

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.
Amikor az ASP,NE'I'-mo!or yégrehajt egy ASP,NI:.' old~h, ! n'ML kimen"tel h01-1étre. amelyet visszad a "' ....bkislolg.i!ónak, az pedig tov-.ibbadj" aZt" wdJC.' k"relmet ki:!d6
bóngész6n~k,

Az ASP,NET weboldalak .Ih.lyezése
Miul.án !(:(rehol'lunk egy ASP.NI:.' ~vebold:!ll, ahhoz, hogy meglekintsilk, Je kell k6uünk egy webOöngé:;wn kere5ltÜJ. A böng<.'>71l elkUldi 3 k~ a webkiszo!g:U6nak, az pedig továbbítja 3.l ASP.I\'ET-motornak, A mOtor fddolgoZZ3 ~z olddt, 6 visslltadj.1 az cn::U' ménykén! kapott J-fl'1>tL-t" böng'::'SZ6nek. ASPJ",TI wcbhdyck fcjlcszt6ckor" !'::úeho~ott ASP. NI:., oldalakat a .wmlt6g.,p(jnJrno ment jOk. kipfÓb:1Hsukhoz p<.'<.!ig tdepiten(jnJ;;: keU egy wcbklswlgálót.

I. ho ~ IIlASP.HET-t.lI .
A kiqolg!ik'i
ldepíl~sh ~l ~ nffll ..

ll\:lgunkn;ak kell bőljl6dnunk. ~

koo}'\"Ünkben i$ ru.5zrníll VlSu~1 Web De\'eIoper 1:Inalll\:lz egy ~8y57.ffil wri>kis7.olPJót, amcl)'CI am 1CT"I·~Zl~k. hogy az ASP-'''loT oIdabka\ ~lyben Les7.Ielhessiik. Ahogy a k~ lC'Ck~kben I~Lni fogjuk, egy ASP.NEr oldal !esZl~lbekor a "L.ua! Wcb De\'eloper elindítja n ASP.'\"F.T /:Jet"CIop'nem In-t> Semm." elindít cgy bön86s~ is, am~ly kiadja 3 kttes\ 3 kÜH"tkcz6 fonn~oon: http://loc~lhost :k,,pu/lz.ím/ ASP. NET_old"l . -'BP",

al ASp.NET " ..d)hel)"ek kés7.Íl~re a

A ktrelem http,'ll.cx: .. lhost rt:szc aITÓl t:1jo!kozt:uja ~ bOngés7.a, hogya ktIelml'l az adott sz.1nút6gép "'chkiswlg;ü6j:lhoz kel! iru"'znie, nem pedig egy mislk kisz.olg;\J6hoz lU Imerneten A /c.tPIJszám adja meg 3n 3 Ilinpu/(ponOO. amelY'-"fl kcNSZtűl a kMIrn.!( dk!lldjük 1>I\I1&."fl w<--bkis-,,;>lg:l16 qn' adon k:lpun kerez:tQ1 fi!!)...:li a bqö\'6 kérdmeket. Amikor a7. ASI'.NET Ik>-dopmem WebSefvert elindítjuk. az v.I!asLt egy n}~toU k:lpuL, & el jelenik mo..~ az URl. k.1PUBZII.oI ~~ V~I, al'. ASP ....TT_old.ol ."spx rész a tcs;,:telni kÍ\~nt ASl'.:>:J:.T oIdallljlne\-e.
Az ,\SP,NEl" oIdabk hc:1)t>en történő elhdyezbc, és az ASJ'.Nl' De"velopmL"flL \l,"d, Ser.'eren kel'CloltOli kiszolgál:isa több el6nnyel t~ jár·
o

ti I<!SZII!I& jlltl!ml!llm/XSoIltt ",Nk!ll is dn:gf.'z/wt6. Mivel a böngt5Z/'ít61 l>rkc7.<'I kl:re. s.1~1t gtponkrc ir:1nyul, 37 A~P.t\'ET oldal~k klpr6b~U51hoz nem kell
k~pooJ6dmlllk
g~bbak .

az Internetre. o GJ':''''. A helyi k!relmek t",rmé:s7,ct"-" ""öd..,n .'iOkk~1 ~mclycknck kCTeSZtOI k",U utamiuk az Imemf:'len.
o

mim azvk,

I"l/(mjiJle Mbakerr!5ésf Ichl!lóségck ál/mIk fCmlc/lN!zésfl'. Hl'lyi f~eszt~nl:l spe<i11is hilxlk<-.....':Sl'Si m6ds=kf."[ ~lk:lllll:lzhatunk. p(>kUul sorróI5OIT.I.
,·igIg!~kedhetünk ~

kó<.lon.
\Ji~

o

Sen'er c5:1.k hd}'i k:lpcsolalOk3! engedl-I)'el., igy flf:'fIl keU agg6dnunk :l.O\I:IIl. hogy egy IO'i.'aindUla1Ú fel/l;lszn:l.16 howf"'~ 5z~zhet 3 rendslerll'.."Z egy nyitOIt wri>hl'lyom kCTCSZlilI.

B;ztf:mságos. Az ASPJ,TI Dcvdop~m

.0\2: ASP.I'iET oldalak hc:1}'lxr.tooénó elhclye~nek Iegr6bb Mtr.1np, hogy a2 oldaJak:u CSlk a SóLP! .~mÍl6g"píinkön tekintlK-tjük meg. \'"Jgyis a 11tog:1tök a szlmít6gq,..1kőn nffll rudnak ol}'\ln URL-eket beimi a böngés:dSjOk chn.-;:lvjjoo, amelyekkel n)CgI;ll.og.~t­ tUl/Úk az ASP,NIT webheJyiinket, ll;( olY'~n ASJ'.NllT wl'bhelyf:'! ~en:,tn6nk készíteni, ~yet b:irkJ megtekinthl'l:. aki imemt."tk3p<..."'IUlau;l1 nmdclkezik. "'g}' ul?bgazdállOZ kdl fordulnunk, \IlIgyis egy olyan <:éghez, amely . wd) ho"ting' szolg1\t:1w..'<l kínál.
A ..dlgv<b S1'.:Imos, imcrned:apool:m:d reodelkez6 wmlt6gépf:'l. üzeme!tf:'!, amelyeken m<lg1n........m(~)'ck \'\lgy cégek elhelye,thf:'!ik.1 ...-",bhclyeiket. Ezoekm :I sz:imit6gqlf:'ken ...·e!>ki.'l1.o1gi16k fum.ak, lIImel)-ekf:'! bárki elérllt.1 az Iml'rIlf:'Ien kereszrill. Arrukor fIÓkot nyilunk egy webgazdjnjl. megkl!rtll'I.jük ~ céga, hogy ~'"zzen be qn' /lIr107l/iil/)~If.'l'et mmunkl'lL, A 1:Inom1nyn!v (domain name)

10 I L r6sr' IsrnerbOiIIl ASP.NEl'"
a ,.,..ö\'eg, amelye! a IJIlogalók a wd:>böngtn6jOkbe beírva ell~!0g3th.'lnak a ,,·wdyünkre. CA Micruoofl webhelytnck \anom~nyne\'e ~kÜul ..icrolloft .~. a ~zerz6é pedig '-JIÓs1.ln([leg BCOt tmi tche II I n to. COm lenne.)

:lZ

TamWszetesen csak olyan tartom6nynevet vát&szthatunk, amelyet még senki más nem Íflgy8lletett be. lia meg SZIIretnMlk tudni, hogy az italunk klWn! r.t~ szabad-e, 16togassool el ft http://_,netaol.cOlll eÍlml, ib. elmtt beIrVa 'g i6iiaük. hogy mig .1érhe16-e,
Ha a webhdyOnk<..' el6nyei vannak•
<'11}'

,,'ebgazdán:ll hclyC7.>:Ok

tI. annak löbbek köti,!! a kÖ\'t'lkezó

A U'ebhdy II)'iIt'llllOstl/l clblM6. Ha a wclJhclyet egy wcbgnda t;ul~l fenn, bárki megtekimheti 3-tl, :iki imcmedc:lpc$Olau.a1 r.,nddkezlk • SQjállarto",tln)~,CI(1' has::ntlllwl,mlt. H.:l bq:gyeZlClOnk eb'Y lanom!nynevet, ami a "'e"helyünkre mUl3t, a 1::<ln8:IIOk egy olpn em'SZCI"Úen megjegyeWe!6 nb-en keresztill &hetik el n oldalainkal. mm! a ........ webhely .COlO_ • TeJjer mértikb,,,, a Ii'Cblwly leJipírésL'ire ~nlOSithal,m' Wchl(c~roIg116t !e1<..'P'1enl. biZ!oru1gi ja, 116csomagokbl eU1!ni, a I3nom!ny~eket megfelel6cn beállítani stb. meglehd6scn Ixmyolult feladal, de h~ eZ! egy webgald:lr.l bíz;tuk, ez a srolg:lhat1s benne v~n a7. árhan, igyawebhely elk(:~1.ílb&e ösSZporllO-'.olthatunk.

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.
webganb szoIg:lltatisa mir üzemel, ) wd.>Oldal~inkal r"liölthe!jOk "1T:l a wmí\6. amelyik a roólcunklll tlrolja, ~ ('z ulin bórki mcgtckinlhcti azokal a:t Int('lTlC!en. H:I feltöltOnk I*l<'üul egy ~.hun n<....,11 f~jlt, és a tanom:inym""ünk bobahomepage • org, az l ndlX. ht .. oldal n>egtekintéséhcz ($;lk annyit kell beírni a böngés7.6 dm.si\'jjba, hog)' Mtp: 11_. bob,hODepa!le . org/lndC'lC. h~ ...
H~ ~ 8~re.

A magfelel6 webgazda megkeresése
Miel6n nyjlll~nk egy 1l6k0l egy webgazdjn~1. olyan $ZOIg:\JtalÓ( kell keresnOnk, akik t'lmog:l\pk a:r; A$P.J\TT 2.o-s dlloz:atát. \'(:k.'1l1ényem szeriru alegkonnydx...:n ugr bukkanhatunk egy l1ym~. ha mcgn(:uük a TopIIO&S_comho:r; \";Igy II Host-

l . ón • lsmerbd6s II ASP.NEr·1II 111
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. Ha ki\-:I!aSUOflUk II wt:bgazdát, & meggy6:t6dIOnk róla, hngy I1mogatjjk a z ASI'.NET(.:jICliZlé.'II, I~nk kapcsobiba ,·.,Jilk, b. ~ilnk e\6 "gy roókr:l

"ti"..1 mU'ld:l hclylleT1, mind a "'ebgazd1n:il ~ e!J)('I)~k rroegvam1:l.k a 1'1'\;183
dOOyci, , k.'gjahb. tu. eg}-s=e mindkét rncogoIdiSl alkalmazzuk. A f,-;leszt6t, lt'$llC'lbl és hibakcn:,,(."'iI Í"\-..,;<)h helyben. a Visual Web o.".·clopcr be<:piteu w,--bk i.,..zoI~l6j1n keI'CSIIO I \'~g"7.nI. és ha d készOltilnk:l webhelly..l, ~ kkor feltölt.,ni azt a "·ebga7.d~n!i1 nyitott fl6kunkból. Igy II fejlC:S.Zl{'S.i kö rnyezet is idc~lb \cSl. 0.; a w"bhelyünkel is b:l rki elérhet!.

Lehet a satát számftógépem 8 webgazda?

Azok. akik jlandó sd!lassávú, ~ t~mes 'O'3\IY DSL kapcsolattal, iletve $ tMitU$ IP cmnellll!ldebmek. sej'l mmft6g6pUkr61 is iil'lIm.rtethetnel
w.bheIyel, H. m 61 I Iehet6s6gr61 többel szmtnW. tuOOi, lépjijnt kapcsolatbe IZ i'ltemetszolgíltatónkkal.

Ha nYMnOS webllelyet szeretnénk, uerint,m c"smUbb 8fl'{ 'N'eIlg~
1 0r<lOOI. SajA szitmft6gépűr1k beMlitAsa egy nyi/Y6nos webhely íizeme~elésére t bonyolult. is ha nem megfelelDen végezz\ik et biztons'gi rések mil(illl1aln/li;; Brendszeren, ametyen blr8sztül Yilsz6tyet IlSelkethtnek ránk. 2001 júliusában péld'ul a CodI! Red new intemeles fi reg lNorsan e~trjedt IZ Intemeten, ~s megfert6tte BMic roso~ állllllNérton webkiszolgMótBt. lA féreg olyan program, amely /inmagát megsokszorozva teri&d sámft6gé!lts I1616zatokon keresztOl.) Ei. fértg a .HELLO! welCOlD(! co Ilctp, 11_,WOrID.com! H.o.cked by CIlin. . . ! • szöveget írta 8 wvboIdaI8krI. (A codt Red féregról
' Ilttp: 11_. ".,rt,arg/a,willOri.a/CA·2001·19. htal. címen k~ további i'lfa0nki6l) Ha saját Sl6rnIt~ rt'(iIV*IO$ W~I

iilatneItt!iri. etnu: hiSSCriI tírndSOknIt tehetjl& ki \JIIIgII'Ik8t

12 11. r6sz • lsm8fked6s az ASP.NET·teI
A v&SZé1yl csöl\kanthetjuk, rn. beSll!leuiik a legfrissebb biztonsági jllVÍtócsomagokat a MicrQsQlttól, illlll'le ha tájlikOl6d\rll:. arról, hogyan védhetjük meg legjobban a ren~erfinket A webgazda cégekné l azooban profik doIgcmak., akik valószinűleg nagyobb tajlamalanal bírnak a webkiSlolgálét baáll~ása, Ülemel. lelé-se és biztositiisa terén, eIért ell Bfeladatot érdltllleSebb rájuk bimi.

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.

Ha a Windows 2000-nél korábbi Windows·változatot N$Ulálvnk, például Win· dows NT·t. Windows ME·t vagy Windows 9B·at. nem lejlemhetlm ASP.NET alkalmazásokat a ViSllBl Web Developemd.
,,"cm cJ~, ha a 5zimíl6gépünkön a megkiv1nt of"'nici6s rendszer fut; mielőtt mllnk1ra r"gl ... tn.:lnk n ASPJ'IET-<et, lehet, hogy további Iépé5eket is v':'g~ keU hajtanunk. A W,ndO\\'li Xl'·t haSln.-\16kn.1k p<"ld-\ultelepíteniiik kell a Servkc bek 2 (SI'2) j:lvítÓC50magot is. Ha nem ludjuk biztoSan, hog)" II ~ndszcn1nk megfelel..., a kö\"ctdmén)'Cknck. anól még nyugodtan ""-1lkisé~lh("[jilk II telcpíté-sl, mm a teleplt6prt)g,...~m úgyi., nb'}'<.-",· mezte1:. ha valamHyen összet ....'ÓfC - pdiliul a Service bek 2·~ - ~ 5ZÜk<t.g van. Ahhoz. hogya kon}"\' ASP.NlIT-pc:ld~il dkí:sÚlhcs..,ük. három OOlctC"\t>t kell Ldcpítcnünk. Az elSŐ" .l\'ET F"lJnt:work no:víl kCr<:l",ndsz..-r. amely n ASP.NET oldalak fddolgoz.'is!ihoz 5ziik~ge~ alapkön~"\'I:í,...~kal ~lrt<llmaua. Az ASP.NET-motor is ennek a kcmrendszcrnek II része. A második a VISual W<"b !)e,·"lop<:"r. amely az ASPl\'ET o ldalakkal val6 munkához II legalkalma",j..b szerkesztő. Végül teleplt<"llünk kell az SQL Server 2005 adat!JjzÍ5moton is, a"",ly~"l a 14. óril61 kezd"e folyamatosan haswálni fogunk. A három összetev6 egyetl<"n telepit6programon k<"resztül td~l'íthet6, amelyet megtaJ:\lhalunk a Microsoft webllelyén, es kiírhan,nk CD-re. Ha 19y t.."zünk. a tdepítés elindí· tásához c.'i3k be kclltl·nnOnk II CD·I a számítógép CD-olva5Ópha, és rrn\ris nwgj<'lenik II telepítőprogram kczdú ktpcrnl'6ic, amelyet az 1.4. ~br:ln láthatun k. A köv~'"lk<'l6 k!'-t abl.:!km a Next (T""ibb) 8um1x>I ".·...:gnyomva ltpheliink.

1. 6rIi • lImIri::edM IlASP.NET-tel 113

'-

1.4.6brI
tll"I<'PfI~
Q

""Skczdéséhez heI) ..;u,jk
CD-JlQ.\I. /lJeghojl6jdi>«

CD-l,.

udmil~)

Ha a Slámll6gip(ri. nem tes.! eleget , követelményeknek, PéldáU Mm \elepkettük a Itgfris$ebb jlYftócsomegot. 8 teIePífÓPrOgrar tijékoztat a PrObIémirÓI. H utas/. láSOlliI is .ut. hogy mi'nt fTisslthetjUk I rend5lIIrt. Miut6n lrissítanii. • OéPtt. funllS$\lk ujra Ilelepitöl

A Microsoft a Visual """h Developcr- slerk=61 ASI'.NEr ,,'Cbhelyek kffiít{-s(:ht:1. l"r",,~l". e;ren a CSOIn~1! t:ln3hn~zza a .NEJ' kereuen<bz"n is. amely 'lZ ASI'.NET wd)!lel}'"k fddoJgoz.1s:1h,:>7, ~i~ges alapkönyvctrJkallan.;,lmaua. Ezt a kerelrends~..ert ~ Visual Web Devclopcr lelepít6je aU10UJó<tikus:Ulteiepiti r;7.en kívíil k~ núsik C!lOONgot i.. \-!ilawharunk. amdy.. ket az \.$. :1bcl.n l:1thatunk.

. __.....,--.... ......- ..... _ ._._ -._ ...... . _ _---'--__-- ... __ ,_... .----'-'--. - ...._ ._-----,
"".,~,
_-- ~ -

'"

...

_--. _
...

1.5. In
G~J'ltI.j,

"'<ll nJIa. hogv QC: SQL~""

XlQj EYp'_ E;htiQm tc/cpilftlk!

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 Ilru<ú WOO lJftriopf:rt!

.".-.info'. a

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

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).

ln Jjthatjuk a ,züks"llcs J.... nIeztenllet

n~lIy>!ig:Jl

_ _N

__

~ "_

.. - - - - -------_. ~

'*------1.7. ibrI
Kó<"..,1* fJf1JoNm-' a "","pílh ttWlreIit!

1. 6ia • IsmerUd6s az ASP.NEl·I8I I ,S

Ismerkedés a Visual Web Developerrel
Amikor a telepítl's bdei<-'z6döu, wnjunk egy ki. idől a Visual Web Oc"el0p"'rrel való ismerh>dl'sre. A progm'" elindít:is.lhm: v~la'''7.uk a Start menG Pr<>gl'Amok al 111<-"nGjl~1I'iI ~ MiC1'05Oft Web Developer 2005 Expres.~ Edition pontot. A prog"-'''' b'.. 'löllésckor nll.:gjclen6 ablakO! az 1.8. ábl'd mutatFt.
At _ _ ""'" _1P'*'iO 1.,0106"'" .. - . 0 1

_1'OIOIIt

_

"'-"_

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ó. A program ablaJcln.1k bal oldaHn a Toolbox (\'ez<"rl6k) pal<"lta helyezkedik cL A Start Page megjdené5c:kor el a paletta ilre~, dc amint elkezdllnk dolgozni egy ASP_ N!;;, oldalon. webes vezérlők széles dlasztl:ka jelenik meg r:r.jL:l , amelyeket elhelyczhctunk aZ ASI'.t-'ET oldalakon. CA Wi-1.>es ,·,-·zérl6k mibenlétével é~ céljával a kűv<..1.kező 6r:lhan foglal kolunk.)

16 11.1lÍal • J~edés III ASP.NIT·IBI
A progr:lmabl3k jobb szélén a Solution Expl<.>te, G\fegold~stanúz6) taUJható, amel)'

a Start Page esccében szintén üm;, de ha reoltil nk VJgy létrehozunk "gy ASP.NEl" ",,,uhdYl'l, iti annak fá~jai j<:l<,nnek Jll<'g, köztök adallXtzisf~ilok, HTML oldalak, ASI'N ET oldalak. képf:ljlok. CSS fájlok. bcálHtóf:ljlok, ('$ igy tov:'ibb. AZ ablak jobb oldalán wUlh.ltó a Solution Explorer mclk'u a DataLYdsc !;xplorer (Adatb:'izí~llóro) is. amely az adon proj<'kth<,z tartozó a(btbMisok.1t mutatja, I"s amelynek 8egítségével "lá"t al adatMtisokat lctll'hozhatjuk. s:&,kl-szthctjük <'s lörölhetj(1k.

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
lt:tr.,lIuzmk az új ",ehhel]'.,1. a k~pemr6nknek az 1.10. 1br1hoz hasonloon kell kjn~znie. Új webhcJy ké5zítésckor a Visual \\~t:b Developer ~ulolTllltikusan I~hoz egy AppJ)ata nCVll" m"pp1t, egy Default.upx nevll ASP.\'.TI oldalt. ':5 egy "-cbes bellJít;\SOkal tartalmazó 311ományI (web.<;onfill)' Ez a m"ppa ~S a két fljl megjelenik ~ SoJulion J::xplorerben_
Miul~n

..........
'M
c,- .....

,~-

---- _._._,""-,..._..••_-,•....•.. --.,

•. '_.1" ,'.:0.."

_...

,-,

..

__ ..
..
....

....

.:,,-

-,

. - . ,- .....

..-

0-

"-

,.-

",..

'

••
M

•• ..
"

..
1.I0. /ibra
Az uj ".:McI)' ,,{.",,-hozá< .<111"•

",

••

" Dl'[""{I,mpx
ASl'1\U ű/dnl/(l{

Az automatikusan létrehozott Default ...."px oldal megnyílik , ob a tartalma megjelenik a fÓ'~blaklY~n. kL ASP,NIT oldal jelenleg még csak m 'ML-I tartalmaz, de ahogy a kés6bbi k",k'::k!.>én látni fogjuk, ~ I-ffM[..,en kíviilaz ASP.NIT oldalak webes l'ezM6ke! és kiszolgálóuld"li fOfT'ásklxlol i~ magukba fogblhatnak. Az ASl'.NET oldaln.lk ezek a részei

jt'll"rmocn k':'''l kmiln fájlha kerülnek: az egyikben lesz a lITML-kM ~ a webes l'ezúl6ket leíró re,'zek, míg a núsikban csak a forrisk6dol: találjuk, Valójában ha ~ Solution Explorerben a Detault.aspx elem metlen; plu~~jélrt: bIliniunk, kilhaljuk, IlOgy van egy másik, bcig"azotI fájl is. Default ,aspx . vb n{-v",,: e?; a Default .... spx furdsk(x1· fljlja,

Ne aggódjunk. ha elsóre túl solnak találjuk ell az in!ormáci6!ömeget. Ennek az óráolll; az a cÍII}g, hogy áttekintést adjon a Visual Web OeveJoperr61. A következő három órábllO részletesen megnélz(l az ASP.NEl oldal. részeit, és a Jétrehozá· sukhoz. illetve kipróbáliÍsu!dtoz szükséges lépeseket.
Amikor ~l. ASP.NET wt,'buldalnak a HTML-t ~ ~ webes l'etérl6ke't tanalm.1ZÓ re5~...el dolgOlunk, kél n{,~el!ill n:-nddkez{,sünkre. Az. els6 a SOUfCC (Forr:'\s) nézet:, amelyben 3 !-fn.1L é,. a webe.. \'e~ri6k kódjá! Uth..1tjuk, a m:lscxlik pt.-dig a Design (T<,IV<''''ó,I néz"l, :ullelybt:n eg;-'$Zt:r\lbben határozhaljuk meg az oldallaM..ollmát. A SoufCC néz"'ben sajjl

lBI I. rész· IsmertedH az ASP.NET·leI
kezúleg kell begépelnünk a fITML.kódol, míg a Design nézeth"n a I ITML-clcrf\ekd h 3 wd:>es vcl<':r16kCl a Tooloox p;llcttáfÓl húzha~uk az oldalra. A kf:t nézel kÖl.ön a főablak alján u.láli1aI6 IX,,;;gn {os SOI.m:" gombokkal v:.!tll:ltonk.

A Solulion Exp]o",r 3hu aPropenie, (Tubjdonsilgok) abIakOI laláljuk. Ez az ablak n okl:.] b..:"il]líll",IÓ l1.Jlajdonságail, illetve az éppen kijelölI HDIL·elemet vagy we~
vezérl61 muI3Ij ... Elt aZ ablakot mcglcl'L16scn ASP.f'<TI weholdalakal kb.zílÜnk.
g)~~kr:m

fogjuk hasutálni, amikor

A Proverties, 1001OOx, Solution Explorer és Database Explorur ablakokat áthelyezhetjük. lia a címsorukra kattintunk, és ill egérlel elhilzruk oket, a szagélyükre k<!ltintva pedig átmératezhe~ük IIZ a~akobtt. Ha vé latlenül a cfmsor szélén ta~lható X·re kattintva be~ámánk valamelyik ablakot, HView (Né~atl manüből Mmtikor visszatehetjGk.

Egy egyszeru ASP.NEl weboldallétrehozása és kipróbálása
Ha ki szereménk próbálni egy ASP.NET "-'eboldalt, egy hf>ngés~.6\"d kérelmel kell iméutünk az adOlI olda lI kiszolg116 webki5zo1gáI6hoz. PJÓb1ljuk ki mOSI a Defau l t . aspx okl:!lt! MielÓlt a mnban nekilámánk. fel kell I,illenünk n~mi ImtalollUll:llaz oldalI, mivel a HTML-kód jelenleg még nem jelenít meg semmit. ha 1 :l:ÖltjOk egy böngész6be. SouI"O:' n~zel:ben :íU;Unk a kun:orral a Default. aspx oldal ... <div> és <I"iv> cimk~; kÖl~, é.• irjuk be a kövelkez6 s.livL"8et,
~hl>Hcllo,

World!</hl>
"~orid!"

szövegel jelenili meg, nagy mérctű" bertíkkel . Miután I"-'Írtuk 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.

El< a .1 Idio,

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.

Most bizonyára azon gondolkodunk, mi lehet az a hibakar8sés, és miért nélkiiki inditottuk el a kiszolgálóI. A Start Debugging (HibakelBsés indításallts a Start Wrthovt Oobugging Jehetóségek közötti különbségeket a 4. 6rában tárgyalj uk,

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·a1 a Vjsu~1 Web Developer környezetet. juk 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
v:
K: ,'rlI afő klllt:mbség (/ S/Uli/ms é:< a dinamikus U'eboldalak k6z6l1l
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
amely mindrn mérk6ús UI~n fri.....'Il11. Az olpn k~orok , minI ~ Googl~, ~ dinamikus I.3rt.:11,",,1 webhel)"lldub;\tiwk és a 1:lI(>g;lt6lilI.31 borirt k.:fC!likifc)(:_ res Ó5SZe\·et~'el ~I]rtj;ik dó. K: SZÓ Lull r6la. 11Og}' u Ils/lal treb lXl'dopcm:t DZ ASP.NEl' 1)clJcloplllem tr•." Sen"<-," fogjaM hasznA/ni. 1,4fallck mds u'f!bkis..-vlgáló/ fctld$zerr.-ll ls uZ tlSPNF.T
olda/lik /ruzoIg<.l/dshm? V: Az ASP.NET I)e>.'o:lopmc nl

ASl'.NhT 2.0-$ ",~boldalak he!~i teS7.lo:l6be 1~'fVCZl~k. J la a 'I'.ebhel}ilnket egy wd'lflWa ~gn~1 helyczzük el. ot! mh wehkiszolgjl6 szoftvert haszruUnak. ~-dig vaJ6:színiIleg ~ Mkm.. 50ft Intem"'- (nfornuliun se,.,.cn (liS). am~Jy ~gy prof"""zlon~lis 5l.lnt([ weh.. kiswlgil6. amelyet a Microsoft din:tmilru$ wd;e; lechof}oI.~ihoz -:1.7. ASP·hez és:u. ASI'.:-u:T-hcz - fcjleszten~k ki II~ UíntJoo.,,'S 2000. WJlldot>."'I XP Pn:>f.,."ooru.l '"~gy W ndcn>.'" 2003 n...".J,;;ren .... h:..,;zn!ilunk. az liS mir ,.,.JfKóni1leg lelepltve \":In a gép(l.n\n'\n. l la nem. a telepitb.hcz ,-jta~z\lk a SUn, S..:tling,;.. ConlJUl P3Jx.i .. Add or R<:'IT\O\c I'rogmms (Sc:ut. Bc:Ulitások, \'cz!rtl'ipull Pn>gr.l.mok t.,k-pít~l6rIéso:) rTIC.-nilpontot .. majd Iclturusunk 32 AddIRenove \nnde""" Cumpon.:nts (Windows <~e,,.6k howadáS;>/ eltá,'Qjítúa) lt'llCI&égre En ~zt j;wasJom. n~ teleplt<nk al !lS-I, hanem hasZlÚljllk ;nk~t)/) az ASJ'.t\I:." Deve]opm('m W('b se"'en, hacsak ~ '~gyunk p"'lQ5ak a ~ ilS hdllit:1sjb<ln és hi1.lonsjp ha~zn.1lalJb.,n AZ ASP.NIT O~""elopmcnt \'reb Se""'cr bizIOn,:A!.'O""hl.>. nlivel csa k u adon ~lIm1t6g;;pr61 ('rkezó webes k~lmckc! c!lgl.'<.Iélyezi. míS aZ us teljes ért'-:k\l webkls~olg:116, igy mcgfclcl6 javll6csom~gok ("5 l)(':\Ilít:1..'\Ok híján ki '"lIn té-v~ a fQSstindulanj felluszn11ók l:1madá$Olinak.

\"("~-b Serv~rt kif~i<'zett~n

I. Mi a killönbsl"g a .5tatikWl b a dinamikus wcboJdaJak közötl? Z. ~1i a Feladata aZ ASP.'TI.. motornak? 3. •Az ASP.NI:T weboldalak kiszo[~lhat6k Windows ME oper.klb. rendszert használó szlrrút~krl5I.· Ig:u V""~gy hamb? 4. MIlyen szoft\"ercsomagokat kclltelepiteni ahhoz. hogy ASP.NET webotdalakat szolg~lh~nk ki egy s7.lilmítC>g;;pr<íl? S. Mikor ~rdemcs fontolór:> venni. hogy cg)' webgazdánál hel ye~.zUk el az ASP.NI:.T oldalainkat?

1. A Sl:.ItiJrus ..."riloIda.bk H1"ML-k6<.lja \~ItQutbn m:I",d. amig a Fcjleszt6 ~ m6tJ0:,ílp azt. núg a din:tmiku.< w.:bokbbké cs:Ik akkor jön [(1re, ~mikor a "'dJo(dalllckcri. a ...'ebhely ~ik látogatój:l..

1. 6[8 • Ismerkedés azASP.NET·tel 21

2. Amikor II webkiszolg{iló egy ASP,?-''IT oldllra icinyulb kérdmet fo&ad. az
ASI'.NET-molomak adja nt át.
~mely

lIllán végrehajtja a kén ASp.NIT oldalt. és

vi ..s7;1adja n el6állitoo HTML-\ II webkis7-01g:i16nak. Az ASP.NIIT-!tIO(or teszi

leh<..'16\·0,<, hogy az ASf'.NET oldal !ITML-kódja dinamikus;ln álljon e16, és ,runden kérdemn;;l más és rn.1s legyen. 3, l !"mis. ASPNET oldalabt csak Windows 2000. Windows:'\P. WUldows server 2003 vagy Windows Vista rendszert fultató sz!imitógépekr61 lehet ki5zolgálni. 4. Ahhoz. hogy ASP. Nic weboldalakat szolgálhassunk ki egy sz:Unító#pr61. , II ./'.TI keretrendszert és egy az ASP.NEl" -t:t tárno::;:aló webkiszolgiJÓI kell telepitenünk. 5. Akkor érdemes egy webgazda cl'ghez fordulnunk. ha ASP,Nt.. webhelyünket , clérlt<..1.ő"" S7.erelnénk tenni az Intern~1cn k~re.sztÜI. A "'ebhelyeket általáb.1n a legjobb hdyocn ft"jIe.<Zteni és egy webg:lZd~n~1 közzé!ennL

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

Az ASP.NET programozási modellje


lrrML-gyorst.~lpaI6

rövid be\'e7.dbsel n XtmtL-be

Az ASI'.NET wclx>ldalIiTML és forrisk6d részeinek I:lrtalma

• ASP,NEr weboldaLJk és webhelyek léuehoLisa :I \r15ual Web [)e\'eloperrel • \l:'cbe;s vezl'rl6k hozwd~s.:l az ASP.NIT w'cl)okbl JITML réslkhez
• • Az ASP.NEr 01<1:11 működéstnck megha~roz.js:1 kiszolgAI6old.~li forroú;k6dda1 Az ASP.t\'"ET old;d~k megtekint6e egy webböng6zl'ibell

Micl6tt nekil~lham~nk aZ ASP.NET weboldalak kl>wl6;l-nek, fomos. hogy pontosan értsük. hogy.1n működik az ASP.Nl"T progrJnlOÚSi modell;e. Atlllnt az Óf:I 50dn I:ltni fosjvk. az ASP.NET weboldll13k két részb61 állnak: egy fom1sk6d é;; egy lITML részb61 . Az ÓI1I első fd~ben nl néuilk meg, mi tartozik 3 IITMl részbe, míg a m:isodik fclt\x>n

azt. hogy mib6111l a forr.l5k6dol 1art."I1maw rész.
A leck~ a Visual Web [)evelopert is múkódb kö1hen 1~ljuk . lImi jó alapo! ad a kövctk.,z<'.i fejezcdlCZ. amelyben részletesel:>bcn ls megnézzük a köo}'\'bcn ~n~lt w.crkeszt6 mak~.

24 11 rMZ • IIfTI8IkIdM az ASP.NET·t.! .

Az ASP.NEl weboldal HTML része
Ahogy n cl6z6 leckdx:n cmlilenük. al~llvC(6 különbségek ""nnak a S(~!lkU5 és a din:llniku, weboldal:ik köZÖlt . A legl~nyegesebb. hogy a dinamikus webokblak vegyesen tartalmaznak ~ITML-jclölki k kiszoliPJóoldali forr.hk6dol. Amikor egy dinamikus wcbold~ lt SU:l'Ct~nk megtekinteni. k~résünkrc \'1!aszul "ég~luft6dik a forr.isk6d. ami előállítja a HTML-t, 6; ezt a dinamikusan létrehozott tn·ML·kódol bpj2 meg az űgyfe\progl""~mun k
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 ""eUbö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.)

A weboldaIiIk formázásiWloz HTMl·elemet széles választéla ál rendelezlÍSr8 , Ha többet Wlretnénk tuOOi a IiTMl-r61 és a külöllféle elemekJÓl, lapollllk fel. sams kiadó Te«h Yourse/f XHTMl and HT in 14 Hours cfrrIIÍ könyvét (ISBN 06723Z0761), ML ViIIIY kIIrllSsük fel III Intemetan a httP" I www ... )s ..h ..... lB . =-/ht ml. cimet
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
Ez
~,

125

egy egy

bek@zdá. lÚalk bekudi beke'dé.

Ez
<o>

h

~ eqy

Ez utóbbi e:;et(o!:oen ViSZont ha (igy gondoljuk. ki is teheljilk a záró drnkéh1
~p~Ez

<p>Eo
<p~t •

egy beke.M.</p" '"'ilY daik bek ... <U.</p~
."o;g .,gy bekez<lá~<lp>

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öYtitelmé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.

Felesleges elválasztó karakterek
Amikor egy böngéQ6 IITML-l jelenIt meg egy webhdyr6l. a kódban 11.'..6 el\'~1aszI.6 karnklerek (.Oreshclyek" . pél<Uul koo;j\'i.s.sza . tabulá,or. szóköz Slb.) 'zarnit figyelmen kNi.U hagyja. Nézzük meg p(:lcUul a 2.1 péJdiiban szereplő '·ITML·k6dot, amely több ilyen kaf:l.ktert is t:llta lma~

,,, <" " ,, ,

<h1>~"lc<De

'0

~ Si~,,!<'hh

., ., ,, "
<,

<b~wel~!<'b>

'M

uo "~ vleltlnl/

~

alte,

<l>Thla

"

nut.

,

Ilk ..

10,
11, 12,

"" ,

<'l></p~

~1lJfi,

A 2.1. példában esek azért számoltuk meg a sorokat, hogy megkÖ!lf1YlWik " réjok 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....
példiu! <XAk eg)'-egy szóköz len a bOngé:sz6bt:n. Az 5. sorban [/\bb Rf>ki\7l ro u.bul~tor k.:or:ddert is elhely~Zlünk a. You are" b a .now ,;sitmg my ~te" 'lZö·.-egdt kózúlt - a ~ e:ztket is egyetlen ROköuc nyomp. &w:

.'!l:'~,-

-e

,,'eleo'lIe to my Site!

2.1. MIn
.4/f'1':1fL.btmkt<6fo' "
V~1.

.... jI"'n6 ............... ,,~ 'IJr~nwnltl ll~ ..
~
<o.>

mcgfigye!l!etjOk. hogy ~ elenJek Úl 50fba keruinek. mig nú.....k kÖH1,k A· c,l> elem ulUlnu pékUul ktll(ln 50rban je1enik meg. mig a ' <,Icmck., ugy:Ifl:lbba:l sorlxa foly,k
A I rr:-.IL-elcm'.-k
k~féleképpl..., jclenilht.1ők

ITlCll' bebö elemekktnt és hlokkdcmekkmt

A bds6(inllfle, hel~Uen kift.1t.1I) elemek ,,,-nr k,,;edenek úl sort" z:iro címke uWn, nlis

a hl()kk"IcnJek igen. Ahog}-" 21 ;lbcln I~UuIÓ kmJefletb6l rrW ~"lIl6s:limTl(:g ]uuUltuk. a <hl> blokkelem. mig a <ti> és:ll <1> bels6 elem. (A péld:lböll<'het. hogy nem~, dc:l <p os bIokkclem.)

A HTMl beISd és ~telemeillet ttljes Jist6t6t e http: !>NW.htalt •. p.~ . .
rer.,r.,nce/htal41 inI ,htal,iletwehttp:, '>NW.ht ""f.,r-enc<e/htal40/bl 'k, ht ... l címen tdlalJl* n-.g.

M"eI a ~ összetömöriU az el,,:;\I:I.WÓ bDkt~kl"l. [~CS, 1>0(0' fdlllt'fUl ~ k.. rdb: hog)':m helrezhetjílk el a IITM~lemeket az oldalon? Ha nml q;jmit lllCIVlyi :\Of1Öft51 \"~gy szókÖZ! teszünk kJ, hogyan keszíthetOnk oly:1fl v.-'ebol<.bh. ame1rndt tallalrnll jobbnlgaZ'tOIl v:lgy amelyben beh .... z:i5Ok '"Jnnak?
No., ~ IfrML..dernekhe~ kOI<'inféle sN1I1SJl'iÚ:",z6k~owak, amely<,kkel ST,;dJjlyoz,hatlUk fortrJjzhl. péld1ul a kitöltés!. a trullI!Ó!t;I[. az. dhcl~'t'z6il. illet,·~ a ~. '11 ful)';Wrln~-lt. ""!nos kOny\i1nk terjedelme nem teszi Ichct6\-c. hogy.,:ztkkel fogblkouunk. de;l.~ demck dhel}'t'z6éne:k nflliny I1lI'xlp.t l:ith:lllJllk nuJd a kOnyv !iOCln. illetve - ammt ~m'>I a kÖ\"etkewleckében meggyóz6dlll"lOnk -:II VIMJa] web ne.-doper is segk az eIerrJek
J

elhel)e~be",

z.. óra • lu ASI'.NEl flI optmáIi lIIIIIiI+ I 'cl
Egymásba ágyazott dmkék
A !·ffML<Írnkék. t'XI'»IÚ5b<1 ásJ~zha/6M. ami azt jelcnh, hogy egy HTMlA:írnkepjJt "gy m1sik dmkep:i1'Ofl beliil is dhelyetl\elOnk , lb pékL1ul aZl s7.cretní:nk , hogy egy ""eboldal egyszem:' dólt ts félkö vér bt't:Ovcl jelcnilSt'n meg egy szövcgct, mind az <b, mind 'ól .:b,. cfmkékl'l kileIK'IjOk, valahogy így:
d><b,.ez Mit h
f~aóvo! ..

h</b,. , ",I", ez

'.al< d<'Ilt<1 ,.

Ebben a pél<:Uban a <b ,. dmke n <i> címkén befl1ltal:IJhaI6. (A köny.'ben n 'RI1násba ágyazás. iIlel\'e a ''''JallIJ(uáskift'jezést is h:.lszrnljuk = . ) A kód it-4emése könnyen
mt-gfejthel6. Az < i,. címke 3zt jelöli. hogya l:ut:llm!inak dőlt betűvel (jt:llics) kelJ megjdrome, 3 <b ,. pedig azt. hogy mirxk-n. 3mi 1.'7= az demen belül ":10. félkövér. A2...Ez d611 k f<'lkö"ér js" S2&-eg lehil d61t t:; félkövér is lesz, a .mig el. csak Mh" pedig

d6It belii$.
A cúnkcpMok:u

meg is cserélht'tjiik, k az d> elemet 19y3l.haljuk a <b~ elembe,
t lU kovér lu/h , m1V ez cs" k f<H kov<!r<!b>

<bHi>g. d<'Ilt h

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.

Keríilja; 8 helyt~niil egymásbll égyazott cfmUk hasmálatát, mert neoozebben olvlI&ható HTML k6dot eredm6nyeznek, lk ahogy az Ól'ában k!sóbb látni fogj(j;, az ASP.NET weboldlllal: HTML rlmének egyes elemei nem is engedik meg az i1Vesmit.

A kis- és nagybeblk megkOlönböztetése
A lrTML-clemek T>e\·&en nem leszünk különbregel a kis- ~ nagyben1k között. A fo'lkö",o'r fórm:i;ciSl <b> és <8> fonrliban i$ jelölheljük, mig a l~bUz:IlO1 rneghat:iroz6 <t .. ble,. címkét ímatjuk <tA.bLe,. ""SY <TABLI:> form:lban is. A bc:«Utl~snak az elemek kczd6 és;cir6 ctmk~ között sem muszii m~gegyeznie
<b>E z
! ~l kOV~r</B>

Ez a kód ugyanazt en.odmt'n)'czi, mint aZ alábbi,
<8>Ez f é H ovér</B>

28 1t . . .

~

IZ ASP.HET-til

Dr Irt\:;Jtjuk ~zt iS·

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;.

E7.cn kilill U XJ-mll dokumemumokban minden kcW6 drnk8lez tanoznia kell eg)' t1ró címkrock is. It. bek~Wt':s "ekként pékU.ul nem :oIlWm:!.~llltiuk Onmagil;r;tn a <I)" cimkét, CS2k igr <1»_</,,>. lU oIy;In. 7.aro cimkt·..d nem rendo.-lk~z6 ~let'nek. mInt a <bn & a <hn oettben az XlmtL a kOvt'lk~zó f~ ilJ" elő,
<L

l"

<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~.
\'~1.

az XlITMl·megfdcl6s(,gI~l ~7. is :RlIk5l-ges. hogy al. elemek ,..llcmzóit ldt'ZÓjckk
~l

kOú tegyük. It. jdlcmz6lz olyan ne.~ piNk, amelyeket kÍ\<Íns:ig t\lnk a k~zd6 cimkébo:n, ,,,,Iahogy íg)':
<Il _ ·-h-"tr-uctioruo" -styl •• ·o:ol.or,nd,->bl" bla bl"."p>

dhdyeme.

lu a <Il> eICnmek ket ;e11emz6je VlIn az ,n.tr-uctlon& (u~) érttk(l .d bZl>flOljlló), I",lamUll a eolt ~ : ced (~.in:\"ÖI'Ö$) tnékU et y l .. (SlJ.1us), filn'cl,ok 1l1l.'g, hogy mintlket jdlc:mz6 értékét idez6jelbc tettük, C5:1k:1l igy relölt jdlemzókkcl ~ko:zó ~1enK'ket t:1rulmaw doIo:umcntumok !>limít.:ll1:lk XHTML-megfdo:lOOck

Az XML, amely IZ tXrllMible Mllrlnip ÚfIgIMge rövidítése, 8'If olylll1 nyelvntk • neve, amely elemekkel rl~ le IZ lIdatoklll. Az XHTMl i5 az XMllllgonJ kirvetelméflyeire 'PijI: kis· ts III!g'(bettlk megküIÖllbÖzt.té$ll, heIYUen ~bII
'wazon cfmUk, z6r6 címUk k6111ez6 hBslMIata, Ha tObbet SlefetnW; tudn! az XMl-rDI is az XHTMl-r6l, 1IWIdri.6ppen SZet.mJ: be I s.m kIId6 TIIIICIr tbcnel XML111 24 Houn (ISBN: 0612322137) is Teec/t ro.net XHTML lIIId HTMLin 14 Hrus (ISBN: 0672320162) cml kOtlItait.
A2 ASp.l\1rr ..... ri>okblak dkktil"""l~z nem feltl\lenI1l.szú~ az Xl fT\ll mdrebb isllleft:'1o:. de bizonyo:'! okok mtou Ibl~, hogy a l'de kapcsobtOl'l fogalmakkal tosztlban leg}"Ünk. EI&zör~, a VISUal Oo:n:lopclben egy'Qen1cn dlcn,'írtmt:'1",k

w.:u

2, 6nI • lU. ASP,NET PfOVI'IITIOZIIa mOdIIje
(llsd a 6cl1), hogy az oldalaink megfe!e!nek-e a s.z:IW-lyoknak, ami mJg~ba XH1'ML-lTlf'gfelel6:st'gel is . M.1~lszor, ~Z ASI'.I\'ET webcs veZértólt. amelyekkel n"'g ebben az 6r.lban megismerkedílnk, XtITMl-le! írjuk le:..z ASP.!\'ET oltbl Imll rész~ben. Ezen kl\'Ol. amikor" böngbiW egy ASI'.1\t;"T oldalt kl!r. a kisrolg:i16 a webes "czérlókt'1 Xl-fTMl-l~ alakitp.,1!s en a k6doi adj;! ál" böng6z6m~k
fogl~ljJ ~Z következő

1 29

lU ASP,NEl weboldol HTML részének létrehozósa a Visual Web Developer segitségével
Az ASP.NI:T webokLIJk HTML r6ze Slalikus I-ITMl·1 éi u'f'hes I'f'Zér/óket t3nalmaz. A webes veztrl6k olyan IIDll-kódrészletek, amelyek programozh:u6k; lIegitsl!gllkke! a fejleszr.6k módosíthatJák a böngészőn"k elküldöti HTML-l, A webes vezM6k emellett arr is lehet&éget adnak. hogy a fdh"sz"~16 :111:01 bevitt adalOht összegyiljtsilk, .. Il'h.1t hídk.,m szolgálnak a ImlL és az ASP,!\'ET oldll forráskód része köZön. A webe!; vez"rl6k homad:í.sit és m(iködtC1ésl~ részlet""'" megnéuük ebben 3 fe;eze\ben, a 8. 6r.'l161 kezdve pedig rengeteg webcs ,,",zérl& fogunk használatba venni.
A Visual V,-eb Ixve10perben kM"le módszerrel adh;!tunk IITML-",-nalnL'u és webes vezérl6ket az ASPS!:,' weboJdalakhoz:

l. $:lját keJ::iileg beírjuk a lfT/oll-c.nalmat es" webes wzérl6k k6djit 2. A VisUlII web [)e1,'eloper grafikus ( w) :s'IWYG) 1<m"".rop'eL'!;egítsl!g~'el HTML--clemeket és webes v('zérl6ket húzunk az oldalra.

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 atokkal 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),

_w. ,.

- _.. A·"'-_ _ _ _ ---,,-_ .... ...

...... ..

,,
~

,

--... -

- -..-

--

_....

:::.:..:::;::::;.;:;;

1 =:JíI~

2.2. ...

A Location

• File S)1'tem jF'íJrltl1dszllf Iehet6ÚOtI .... almazzuk. dit mM 1Ithet6s6vtk il (tndebzHra állnak. Ez.! 00, ~ k1~~i prOQlar'.'r'tlvUnt. Vu Basicot haSmáIit*. elért lImilor uj web/lelvet hoari. létre SQV'SQV PékWIOZ. lTUtIdig hagYJUk a Language jNvHlI beMltMI IZ llapértelmezen 6rtétell IVu Ba.icl. A New 'MIII Site ~ , kiivatkaz6 ÓI'iÍba'I résMtesebben IS

leOYI6 lista ~ meg • WebheI'f mtntHénri; he]yjL A kÖnVY ~

--

a_ASP.\1iT ~ 1t1.ehu:uf.J6...a

1~ ....

/<9+,,,'"

MlI.u1n e"'~nilk a megf.. le~ bdUil../oSolcl.I;ll ~'"«'eb Site ~rbe$zM;lbl.:l.kb..In, b az OK gombra kalliNouunk. a V~I '«'el> o.:.-eIoper az alábbi m:optJ4ik:ot t:I fjjlobt

hozz:t

~

az álulunk

~dott köny"t~rban

AppJ)ilta - Ez a Ill:Ipp:i. Ilmel)' kewedxn O~, tartalmazza nul'! u adaúJlom:l.nyokat. Az adatved-reJt ASP,'!:, alkaJrnazisok k~lit~1 a 13, 6cl.t61 kezdve foglalkolunk • Default .allpx - El II rajJtllr1~lrn~l1..a ~z ASI'.NET oldal ImlL ~W, • Defaul t .aIlPx. vb - Ez II fljJ t::nu!rl1l1lZ:1 u ASP '<ET oJdll fO!1"ilskód ~zét. • w b. >nUll-Ez U XML fortn:\úSll Ujj tx-.'IlIithok1lt urtalnuz a .... ebllelyhel. ..

A B ábr.ln lálh.:u",k .. \'1SU:lI "«'eb IX\'dopen az új ....mody létrehousol utJ.n A PfOId't f~jJjait II jobb feb6 sarokban ul;i[ható Solution Explorer muUtf:!. A főablakban a progr=> nIl"gJlyiljil 3 Default ,"'IIPX f~JIt. és mqgeIeniti annak
I IT\t1... k6d!;It

Z. 6n. ' No ASP.NfT ........ ,....... ild ", 131

.--

_ ,_ _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.)
A INMk gomb II Sou.Juo, amellyd f~ \"~lth"'iunk. im·l:i.lha~k az ~P"ET okbl il'n)~ HTML-kódját Abp;llbpotban cl. al.akti, IIp, e7.C1t mo<;! II Deh",li •• *Pl< ImlL-k6dp1 Ulh:lljUk a koi'pml}&, Mt-gf'.g)'cUK'lJllk. 00g)' bir nq nem dunk egyetlen Itn{~:sem az A,<;1' '\;ET dd:dhol., ~... bmennyl In'Ml·k6d nqis .'IZ.erepd f".Ip

AZ

oId:" let~n

pl'1d:lulll ePage

ut~sil<lM

ta1:iljuk
• l>

<_, Pali' _

l.anguall."VB· ""tölWentWlreup."fahr·
lru..rit"r-Jlat.~l

_Pil~,·o..f"ult.&8p",vb'

Ez n u~u.s iruonnációlu.i köWI n ASP,\"ET OkWtÓI, A -.que"e;et1enu6 al. okitl forrhlWd részeben haszn;;il\ p.ogr.l.lnozisj nye,,~ lIdj:a meg; III COdeFU. jellemző pedig a f(ll'dsk6dot I3rtaLmaZÓ fl~ nevd Anukor az; Ór:I \'égtn maid megnl"zűnk qJY icl,n pl'1W1. JaIhatjuk, I>og)' az; ASPSET oldd tanaJmjt '" kL-relmct kudó böng(":W5 nmllapp ITIeg teljes egtsztben. Ilyen ~ péld:iula UiUIlJS. amelynek Iart~ln\;l a "ebki5Z01~16n t.:Il~lh:lt6 ASl'~"ET·motornJk »WI. ezért ~1. üllyfelnek nino ri nü~ge

'''''g..

A fIIPa"e ut3s1Lis ubn azt az abptrtelnK"2et! lln.tl-lartJlm.:1l wl:lljuk. alTlelyct a \'1SU~1 Web Jko,'eIoprr 3ulomalllrus:m brir. ~mikor IéIrehozunk eg)' új ASP.!\"ET ...·ebokblt Ez a resz egy <ht.l;> demb6llU, ame-lybe <I ... ,b b <body> elemek agpz6druk, a <b:dy> elem egy <tor.> elemet, lll. pedig egy <div> elemet I3rulmaz,

Észre'''ehcuuk, hog).:o. LJ. oilirin I.:illuI6 .. t., ....,. ctmke wulmn eg). ,una~ • •rvec· jelkrm6\.. Ez n=J sz:.b\·;iny'06 IID1 L·~UmtZ6. 5Ót:l 2.3. ;ib!":l <fc,,-' (.~ egyoih.:lllo nem is J-IT).1L.,.c,!eml AZ ASP , n ...·cbokJ;.Il:lim.:ik:o.wk a IITML-dcmci. :lmdyekbm mcgt:Itilhaló :l ",nat .. ' Nrv.,r· ;dleml6. a we/.>Q ,·ekrl6k kuklnJego."" ~ei Az. 6r.I kd6hbi resztben ponl(l1S;tO Il~Unuk, mik azok ~ " ..."-'"'" \"e:rhl6k;;s mi :l QcrepOk :ll ASP.NEr ..."CboIdalaknn, a 9 6ráh·~n ~ig r6.;de!ellCbben t1rgl':djuk ezt:l kOlónlqa d ,m,. elemet 6; annak ~lj:jt ls.

AHTMl·tartaIom szerkesztése a tervez6 segitségével
Az. ASP '"'ET okbl HntL ~k szcrk.,.zt6é""'~ 1uszrú~ljuk:l Design lapot. amd)= grafikusan \tgezhelJilk a uerXeo.zt6l. ~:lgy:l SaulU" nhe1ct. :lhol II JIDl t.-forr.l5 megtelmll~ közben s:.1'I1 kt"Zl1leg ír1"'IJllk Ir a t:..ulm:lL lJ&ZÓr ntzzllk meg. hog)"an adhalunk t:ullIlm:1lll~ okblh(>~ a ~·"'1.6 qit#""el! Eg). <table> JITML· elemet fogunk dhd}-.,zni. amely ~ intemetes hd)-ekct - ntlOO'. Google. \ IS'\ L)'CQ!, - foSb] t;tb!lzalba :l~>k cmblénúl' III qn"lln.

A .. tabi...,. HTMl-elem riessan1 ueReatRI hoz létre, amely sorokb61 .. oszJopot;b6I él. Ert al elemet gy*-' hauNllfii; weboIdllltlt efilndeáUnll! kIaIakltáitl, bíf ..,., más m6dsze.-ef:; is reodelkemr. AInak. A HTML oldalak elrenderim-6I <tobi."
elemhaszn"atá'6II httPl' '"""".w). hools.,,=/html 'M
.1"YCLll ~lmen

'* .

kaphatunk b6Y8bb feMIáoosltb t.

- -- --

--

Z.4.~

Aml.lo:»" Mz"rn.1k <:!tI· I ffUl-/fIhI.1zalOl.
Itf<!I'dhllli" k 11kt..,
ti

JOI'OJi h oa:Itp>lt u.. .....r lábl4mt s.z~'f"
ti

""""'""'«<"

Kezdrí1k aZZ:lJ. hog). :l ()e;ign fiilre ""ninI...... len=6né-~~ v::iJrunk .....1. ds6 d''-''sunk az lesz. hog). az okblhoz ~djunk egy <t ·,bl .. " IITML-elentoe"l etJho,l! \'~Ia ...... ,k a (.;t>UUI (EI~) menli Insert T~bIe IT~bL1ut bewJráso) poruiál. EMo.-k 1Ul1.... r.. 3 2·i .llldn L:tlllidÓ pjlrbesztdabbk jeIen.k meg. :o.hol ,-;tbmlulunk. hc®' rg-,' sz::atJ\-:i11)"O& .... blon'"

2. ID • Az ASP.NEl pr.,. ........ 1I'IOCIIII- 133
(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 ké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!

s.oo

Ehhez ~'srenren jelöljük kl a klv~nt webhely n~'61ek szÖ\",~, ",aid v;.\.I.:lSS;nJk II Fonnal (Forrn:\tum) menii Font ( 6elútípU5) almeniijénck RoId (Fél kövér) pontjjt Ez ut:!n 3 meg mindig kijelölt szöveget a Formai meniiJustify (Igazítás) almeniijérn:k Cente-.. (KÖU::".-e) leJ~őségére kattintvJ ígazíthatjuk középre,JIa ~ szöveg továbbr.> ~ kijelölt mar:td, a betűtípus l11Ód05it.1s:íhoz csak annyit kdl tennünk, hogy a bal. felsŐ sarok közell'ben 1",,6 Cut (Ki~g:í5), Copy (;o.11~1s) és Paste (Ikillemés) ikonok abu ulalhatóli5clból az Arial lehct6séget ~Ias.ztjuk, (Az emlilelt ikonok egr ollÓ!, két papíJ"l, illetve egy \"1g6bpol 1brnwlna k. fs köz"et!eniil. a \1ew. Fomllu és 12yout m"nuk alat! t"Ulh"tók, )

_.-

-

-

2.5. ibra
Az ebió oszlop larmlmn:aa

a

>r<1u' u'<1bhdy ""'~

)I j

l,.. • 1Irr..ucMI. ASP .NEl-.
hogyan fest "ebhel)' oeo.'':'" fonnizlUk. A 2.6. :il:rln
láth~IIUk. ~

VISUal Web I)eo,-.:Ioper ablak:!, mlutjn mind a n{,gy

~~-_

...

_------I

, _ 0_,

-

-

-- -.. .'IIJ. •

,
2.6. bt
II ~..-bhcI,t*
Műli{IUJ~

-•

,.... ,~ />i'M" ..
b" A"'"

fill""*"' u-tt,l"

/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.
adjuk az cmbI~bt a "~)'ekl~ a második o<l.k>phan' .-\ To<~1>m: palctt;l oIy:m I-fI1>lL-elemeket 61 ",ebc::> "ezhi6k~ l:malmaI, antefyekt'! a gr:J"tlrus Icrvc:z6ben n c:gl'rrel az olclalrd hi<zh;l\unk. A Toolbox paletta ~bp;llbpolb;ln II Visual W"'b I)eo,'doper bal olcbl.1n t;I.\.1!haI6: h.a nem IJl[uk a progr.1IlUbbkban.:I \ _ menO Toolbox pontfIt \"lbszwa a k.:pcmy6re \"llr.\zsolh:I.lJUk MOtII.
~1t8

• <;Caodud (Abpclcmek) • n:..t;I (ACbtdemek)
• • (ElIen6nt5) l\avigalJOn (Na\"1.gXi6)
\~lid:otlOf1

• Login (Bejelentkelc,,) • \t"'d*aru (W~ ekrnr:k) • tmtL • Gencr..t (ÁJuUno, '-.ek!

2. 6ra • kASP.NET !I"9.'''''*i IJIC>I'

'j,I 35

Muxlegyik rekesz több elemet tanalmaz. AIa~lJapotOOn a St<lndard rekesz van kibomou ~lJapotban, é!; olyan elemeket I~thatunk ill. mim a bbel {címke).:I. Tel<tBol< (swvegmcz6). a But1an (gomb). a ünkBunon (gombos h;V'~tkoús). é!; így tO\~bb. A (Xlletla a kibomotl Standard ,...k<-'SSzcl a 2.7, iOCin l~th.at6.

..-

-...,...-,,_o

,.-

"-

',,-

2.1. ibnt
A Too/box ","ktra <M)V'" drou>/ocl tana/mil%".

tlmclyc/«.1 " l<'1l. tibr h,i.zh<lu",. n

A Toolbox (Xllelta ....<--bes vezhl6k<-'t és SZ:Ibv~nyos, st.1tikus Ji'\1I.l~lemeket Í1i t:uulnlal. A fffilL-elemekel a palelta InMl rekeszt:-ben találjuk, az összes többi rckcszben w~ ,",.,zérl6k vannak. Eddig ,n(og nem tisztjjZluk.I~' mU:><-'1l különböznek a "'<-'be!; \"ezér16k a st.1tikus HTMl-clemekt6l, de mirc végzünk a ImlL ress~. és rlténlnk az ASP.r>.'ET oldal fOfl"iskó<i r6szbe. a külöobségek ~ilágosabbak lesmek. M06I \eg)'en d~ :mnyi. hogy hacsak nem a In'Ml rckeszb6l választunk elemet. wrl>es vczérl6t ~dunk az oldalllW. és nem I-ITMJ..<!Iemet. Ha a Toolbox (Xlletta ''2lamelyik elemét az ASP.NIT weboldalhoz $Zefetnénk adni, egyszerűen kanifltsuflk cl, l!s az egér gombi~t 1('nyornva tartva húzzuk a kív~m helyre. majd engedjuk fel a gombot. Amim a 2.7.!ibdn látható. a Standard rekesz egyik ek'rne az Image (Kép) we~ vezérlő. Ezt a vezért6t. fogjuk arra 11aS2nJ.lfli, hogy a t1bL1z.'Ii második ():)zlopában elhelyel.luk a ""ebhel}'ek emblémii,. Kezdjük nl:al. hogy rn:gy IrnJge \'ezérl61 a ler\.'ez6be húzunk, egyet-<'g)'eI a n~gy sor második oszlopáb>.. A 2.8. ~br:i.n I~dlatjuk, hog)"dn kell kin~Zflie az ~bl~knak, miutin e1helr~21ük ~ négy Image '·ezérl6l.

36 I Lráu: ' lIrrMIIbd6S IZ ASP.NEr-tII
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

':" ;;";;;;,'-

~-

' .. ' . . I . .

-

2.8.6bnI
.~

láIJJá=J m"kkt, sorrIlroz~' image u'i'bes l.O'Z&1& adn",.

Ha Ielöh~\űk ~ nt&)' embl<:m~t ~ sz:iml~pOnlcre. !TIÓdO!'iítl~"iuk J7. Image vez;;,I6k lmageUrllUlajdonságil. A webes vez(;rl6k tulajdollSiigait II Properties (Tul:!idonsjgolc) ~bbkon keresztül tekinthetjük meg és m6d0:sítha!juk, amelyet ala ptlrtelIT!eZés srennt II iobb alsó S;(rok]y~n találhatunk meg. Ha nt.'!ll I~tjuk a Propeltics ablakot, válasszuk II Viev.' meml Propenre5 Window pontját Az lm:lge vez(;rl6k ltoageurl !ulajdons!igin:lk megl",úroZ:is:íhoz k:minl$unk a vezérl6kre tcrvero néz<.'1ben. igy betöltjilk a fUbjdon'llgaik:!! a Properties ablaki.n. Abpértelmez(;< szerim az ltoageUrl tulajdons.~8 é n éke egy uro; k:!rakterl1nc, ami all jelemi. l><>gy még nem adtuk meg aZ énékel, írjunk be <-'gy értékCI, ~"J~' k;ittinl$unk II három po!llQt :1001.016 gombra, 6- ,,:íla~1;Uk ki 3 megfelel6 f#l.

2. 6ia • k. ASP.NET p"",.,itiZMi IIIDIWjII I:rT
Mivel a képfájlok már a wcbhelyUnk gyölcMön)"tiliban ":mmk, mQSIlCllIintsunk 32. említell gombra. Ekkor mt.·gjelenik a Sde<:! [mage (Ktv kiv:iIawá5:a) pjrlx=édablak. "rnc[}"eI" 2.9. :lblin üthatunk. ~ ahol kiválaszthatjuk. milyen képet S"lL~tnénk megjeleniteni aZ Image ",ebes v"zblóben. Mind" négy Image vedrl6 t'$eI&en Iollön-külön vilasszuk ki" megfdel6 ernblém.it.
_ . ....,. ' x

---............_- ....
....
,

2.9.6In
\',,1<1.«%11. iti <IZ fm<l# II"l'bes
"'~ ""'81<"""ftetu16 JOfPeI

G:JC:;;:;O

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 Debug8Ill8 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.

A Visual Web oevmper két IeIletóstiget bIZtOSÍ! az ASP.NET oldalak böngészóben történó kiprobálásiÍrlI. Mirdettö a DebUV menüben tal~lható: az egyik rMIV1I Start OebiIggmg, 8 másiké Start Without Debugging. Mindkettő le/ordítja 8 forráskódot, és automatikusan elindit egy bönQész6t a kezd6 oldallal, dit 8 Start OebiIggiflQ 8fTlllllett egy hibilleres6t is elmdíl A hibakeres6 hllSlTliYata akkor IIasmos, ha

.!

Lr6u: • IInwUd6I IZ ASP.HET....
meQ 1l9I'81nánk ~I • forrásk6d hlblll'lllnt~.

Ha VllZOIU nInl progf"

mol"i llibékat keresünk, IIaoom csal:; meQ szeretnénk tekinteri IZ OkWt. hibakeluft niliil is m.gteha!jíL A hibabrn6 ~Wa • kés6bbi IIIcklitbtfl m69

"""""'*-

&, lÖOr V6/aUIOm • Soo Wrthout Debuggng 1lhef6s9t, ha IWQ Ilihégam

• hiblkefn6 szoIgMtatisllta./qy gYOrSIbb is, lTIII1 • Vi$lIII web ~ nem kal batőltllfll • hiblUres6l. f'eqze 1ZlII11IIC& S8IM"II baj, IllI11111dig hasznMnl mIflItnénk.. Ha I 1!ibtk.8lHseltönánó inditib melen döntirok, • Web. con ri" ba'lIilÓfAjh ,""heni kel. hogy jeIeZZíik. hogy 8 webhely hibllkBrml m6dban van, dllIT6la V"ISUII web 0tWI0Per ~ 61 ....... hogy tIY6QZl hll'(ettíri: 8 1lI"'ségas m6dosItisl.

ASP,N!:."T wdX>lc:bJI ~ 1xIoge,«IIxn .. 2 \o :11m mUD!", Fig)'clfllk meg. hogy ~nUI aL oldalunkl':1 lálog;1l6 fcllUS-ln.ll6 Jál. me~'8}czik :lzz:ll. am;1 a s1.crkcmőben lállunk (\l'YSIWYG - Azt ""'pod, amu IJI.SZ),
A~

-

-

Coogle

l.10. "
... OU

A5P .'"ET uftJoldal
m"!l/dlnt''I!'

"'~____-",==-_J

"RY b61~

A HTMl·unaIom
Egyes ,,·mttT,-aők ken)·clmo.cbbnek érzik. ha....,m a grafikus ~cmőre llmuzkodnak. 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
lapról ~ SoiJrc.-13pra, hogy l'nl'kelhessuk, mennyi ld61l:1karil meg nekúnk a szerk"l'V6. A mcgleli ..:IŐ5en hos.;z(j HTMl·kódol

Egy percre

k~paoljullk ,~,~, ~ Dc~,gn

a 2.2 ptlda mutatja.

.
" 3:
,

;'_~~::~~~~~::;.a8v~.Vb' .Inherit._.~;;;'.;";,-,-.--.->----------------'"
<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',.

s: <html XIIllns.' http, II"""". ",3. orgi H99 txhtml' ,. 6: <,,",ad runato· ... tver·,.

7: <title,.Untitled P"g"</ t itl",. 8: <fh"sd> 9: <body,.

10: do .... id.·fonal· nt.... t ··.erv"r·> ll, <dlv,. U, <tabia styla.·",ldth, lOOp": he1Ilht;: SOOpx·,. ll: <tr>
14: <td etyle.'",ldth: IOOpx, text· .. U'JIl' "enter',. 1 S: <at r<:IllI,lHspan atyle _' font· h!l.i ly: Ari .. l ',. Yahoo< lapan> .. . <I.t~on~></td> 16, <td atYle··"'idth, IOO;>x'> 11, <.... P'r-Il" Io.·Imallel· nlll..n~· .. erver· .. . I .... g ..url.· IYahoo.qlf· I><ltd> te, <Itr:>

.0,

U,

<tr>

<td styI".'"idth, 100;>", .""t-allgn, ~t.r·> 21, <etrongH .. pan styl",·font·famlly, Ari~l·>Goovle</Bpo.n,.

.. . <I.treng>~/td>
22, <tcl
atyle.'",ld~h:

lOU;>",:>

23, <asp, I_ge 1[)o.· I_g"., ruNlt _ ' .wrvar·
.. . l.IM~..url."-/Gooo;Ile.9If· Wldth"13Jvx' IH/t,h

H: </tr>

25, <tn
26: <td .tyl .. ~·width, 100vx, text· .. li\ln: center'> 27, <stronq><apa.n atyle~· tent - f&!\lly, "rt a l • >MSN< ISJ)6n,.

.. . <fstroIlq></ub 28: <td Btyl"~'w{dth, 10Opx'> 29: ~~v:I.m.o.\I" ID~"lmoge3" ru""t~·8e~v.r·
.. .
l"_~.,Url~·_/MSN.\lIf·

1><ltd>

30, <!tr>
31, <tr> <td Btyl .. ~·wldth, lOOV'" text-"lIg-n, cent n'> ll: <ftt ron\l:><svan nyI",· font· family, Ar iaI ">Lyccs</span>
]2,

_ .</atrong><ltd>
34: <ld atyl"."wldth: IOOV"">

35: <asp<!mag.. 10.'1_9,,4' ru .... teBerv"r.. . 1.... ~"lJrl~·_!Ly=s .\Iif· '~~ftd~
36, <Itr>

«I I Lr6IZ ......... IZ ASP.PET....

n,
]8:

<ltebl,

H, <Idiv>
4 O, </fora>

H:
cl :

< lbody>

<Ihtl.h
~tlUlluk,

hogy ~ $lerkent61<'>k0l'".1 IIT\1L·k6dol; ir he autornahkusan: 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,

EI6SWr b.

II <t"ble> és" llOW

HTMl. .lemeket 'tIgY webes wdri/ibt , p , It*Ut III ....... , Sl'IIIkeszltllUtomltitUlln be/rjI • k6d!tUt-

Foris

~ is ~nDI

TooIbo~

KÖ\,etken'*.bll núzOk mrg a

A GoogIc-kfp
<"~1l' !_~..

\'''~"T16;éld.

rqy lmage ...~ veztrl6 kődj;it (17. B kódp (23. sor) Igy fet
~'>at.·,

~

ts .'15. sor).

tn--' I"",~e2'

_ loIidtb.'lllg,,'

'>

...,,,r'

lAalle\lrl.· IG<>oQl •. Ili f'

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-ITMLel(,,~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.

1,

~lrX'I'Yl'1l

_

ht"l PUBLIC '-I/W1CIIOTD XIrnJt. 1.0 TTanaitional/lEN" , ' Ilttg, . ' _ . wJ • "nl 1~/"ht "llll:ll'DIKhtmll - tranal t ional . ,Ild" >

"

), ~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. H, U. 16, 17. 18, 19,
20,

",

«!!v~

<tul. nyI ••
<t~>

·",j,·

31, 22, ll,
"(,
)5,

~"

~7, ~8,

29, 30, '1,

'l,
~(,
~

3;<,

.. td "tyl.~·",ldth, lOOp." t'"""t· ...1I1J111 center"> <UTono;J>".""" atyle_' tont-I_ily, Arhl·>Y.hoo<l.po.n> . <!utTDf>\lHltd> <td .tyle=·.."dth, lDOp,,"> <1"11 id, " !:t,.",,"l " er, "Yah lQ.qlf · .• tyle.·\;>Or,I ... ·"'ldlh,ap",· I></td> <Itr> <tn <td .tyl.~· .. id'h, 10Opx, t .. n·alllln, ~nler·> cetrOl1Q><span .tyl •• 'Ion~' l..-tly, llTi.I">G0091to</.pan>. <1.,rOllQHild> <td nyl.=·",id'h, 1001'~·" <1-.;1 14a·ra.II"l· .«·.·QoogIe.lllf· _ .tyl •• ""'idth,ll'px,border·",idth,Opx,· 1>< td~ cltr> ct<> <td .tyle~·",ldth, lOOpx, t"xt-aHOln, center',. <stToflll><spo.n aty le . "I ont - f","-ily, Ar 1.1 ",.Mm-lc {_(lan,.. < { n rOflg><ltd> ctd atyle~·",ldth, 10Opx"~ <I~ Id-"i.JM","l· er, ·"MSN.glf·.8tyle."bord... ",Id'h:apx,· 1><ltd,. cltr>
~tr,.

uyle~" .. ldth, lOOpx, t"xt·,olign, ~'... r·~ 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.

<td

'l,

l8, <{tr> J9, <Itebl.> (0, 41, <Idlv> </fo.-~Ih ... b

(l, <Ibcdy>

U,

A 2.2 és 2}. pél<b k6dp majdnem tg>f()l"!m. de "an ~tun)' apró. ;im ann~l jeIent6!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

<1nP\lt type "hid""'"

M"'" • _VtEi<STATE' id,· _ VlEWSTATZ"

_

v~1'

• • ·IWEPDWUJODM1MDQON.E.ZGOO1189~'VUDlhpvv&glJT9Na6EC~ •• • I>

\'''gUI megfig)'dheqUk. hogya l.2. pékJ;;i.bgn UlO(\
k6dFlb:.ln S7.;lIJ,,JnyOi!i <i"",,>IITML-elemek

lmage"~ "~őket ~

l .3 pékb.

v;ihOlt~k

fel. az l .... geUrltub;donságból

pedig" r. jellcmz6k Jenek.

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-.egbp." 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 folyamat: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ó

Az ASP.NET weboldal forrásk6d része
M06t, hog)'
mel!",~ltuk

al ASI' r>:1:;'T webold:41ak IITML résztt. fúrdllsuk

ket a forrl>kOd~ ..~I,g a IlTMl resz az ASP '\ET oIeb] kO~lak~l. wulmil írp le. a fordskód aZ! dOmi ~I. mi Iqn~ a dJrulJIllkus l;;lIu]omban AJ. ASP,:-.JET oIdibk forrbk6d része két helyen •
I~het,

flg}'dnliln· ,lIeI\"" statikus

~

1"1/ó,, ftJfllxm - Az A~I' NI;, oldalak ~lIha!nak kél külön fJjlb61 n d.ll n ...... aGP" &. n ,l ""ln ...... aps" . vb Jllom;in)'ból. Az dső talUl·
Iluzz;;a a IITML-t &. a wd,e$ '·~eI. mig a mhodik a f~6doL It (enld)!, dkés;titett milll:i1Okblunk is igy tpOl fel. eg)' orfau l t ~ é$ <:gy o.tault .Up". vb nevú f1jlból. llOv/IIlmnab a/áj/nak; eg.. <.scrlpt> bkWkftllxm - A ~rrMl éo; J (O!'Ii~k6d rész eg}·~tJ"n fijloon ls lehC!, ekkor a fonisk6d egy lií$.zoIgd/OOllfl,lf .. c-ript>

bIoIdd.oa kerul.
Bar mindkéllllÓ<bl:er "lf()8~lh;;l1ó. kÖll)'\i1nk p&.UiI:J<oll kü1őn fájIobI ha.zru.lunk sok f~leqt(j eZl a mcgokUst rtsu:siti előnyben. mc.n Igy a t-fn.ll ti a fom..~kOd ré:5z tisreibban dkOlömll, r:1ad.\su! az ASP.:>:!:.' korlbt1l dltoz:.uil)Qn mj, dónyei is \"olwk
a kk kOlön fájl hasz.n~I~!~ruk

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 ~

Vu Basic vagy Vu CI' nYaIVen. ~.Ifnben 11 • • , ~ VISUal s.ie nyeMi.
Ha b6Yebb ISITIefeteUt RWfI,",,*. VISUII8asJcr6I. tapom4 lel IZ 5-1. érik

Az ASP.NET '.... eboldal.Iorf6sk6d lim! kjl p'OQnrTIOlMi ~ 11\1'(11:;'" íhlljW. meo:

""

....

A külön f.ijlokal ~lkahnaz6 módszem,;l az ASI',NET oIcbl fomisk6d rts.ztl h:tromfékoképpen lekintllt.1fÜk nq:
Iv. egtr jobb g<XT1bfi\':1I ~z ASP~"'U okblr;l kannl1unk ~ SoIUIIOrl Ew:pk>n:rl>en, és a VICW code (tÜX:I mcgcekilllbe) lehC1&egel ':llaszljuk.

• A Solution Explorerben ~nn~k n ASI' -':I!T okblnak il neve me!leu l~tha\6 pluszjel~ lunm,unk. ~md)-iknek. a fomhk6dj:5.1 .szerkes<:'...... , szeretnénk EkkOl' meSJCkollik:oz oIcblhoz l:Inoz6 f(ll'dskódUjl neo,'c (oJd.tln~. I. vb)_ A fl~ t:II,.. hNt :I nb-re wpLin katUn, .... ,eknith<.1jiJ.k nq • De5ogn ..... gy SouIU' nf:zetben:u; egér jobb gombj:;i""I .. z ASP_N!:. okblr;l k:luirHunk. é5 a \-K.'W Code menüjxmtllt ~1asz1Juk,
'<:-zzük ~ nqlllOlll :I o..t""l t • up" foml5k6d It!Izét! A o..tau l t
~ kÓ\~kc-mc
...S""

. vb fájlban

kdll:.llilnunk
IlYneoo"W~b,Ul.Pa~e

Parli.l

l ••• ..Default

Inl>erita

Ez il h:irom sor nundenképpen szerepel minden ASP_1\U oldal f0rrá5k6d rés7.tbcn: enn8 keo.·esdJb k6dj;l nt.'ITIlchC1 egy oldalnak, A kód egy o.faul t ne\'\J CUrd{Jf(C!aSS) hatlroz ""'-'g. amely a Syat_. Web.lJI. P... g-e 0$ZI:11y bóvI'be. Az oszt:!.lyok:lz ASP.NIT :ili:lI is kih"C1C1, ob;ektumkÓZJlO"lI\l (objekb.JlooncnI:1lt) progr~moz:ís 1egfoocO/i;lbb q,í-16kÖ\~_ A kövelkc-z6 n8úny reuben inekmt,ok:lZ objeoklumközponru éli az cscmtny~t prugnl1l()Ú5l; lu eZl!.'k fogalrnar... l mJr ~n .... g)'\mk. nyugodlan ugorjunk III Esemén)Wc::cIIJk tU .~NE1'-bt!n dma részre

é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.
Utlonto~

ObjelctumkÖ2pOlltú programozás - gYOrStlIIPaI6
-U A.W_''"ET .... ebokbl~k f0fri5k6d rb;;re az ohjeIlI"",lr6zpcmlll progmmozds(oIJtekprogr.llnoxh) né-\en Ismen programoúsi modeJlcn alapul. amely az "hjcwtll mokm !IpOl Minden ~kIUmkö~ponIÚ prog"~$i nyelvben az culál)'Ok ~ be a 1egfonlQI.:I.bb Slercpet; ezek irPk Ic elvont m6don al obtektuJTKlbt
~lt

44 11. riu: • lIrn.tedá IZ ASP.NEH"
:i.113poUl,f)ák le, lagfiiggnJllyclk(met6du:;:oik), amelyek az obJektuITlOn ~'~hattlJ:llÓ ",ú,-ele{eke{ hatjrou.lík m<:g, illetve =''''")t'>.\!, amelyek olyan múveJet ..k. JJll<'lyekct Jl. oI>icktum indit el. Az objckrumok az oszt1lyok pMdiill)vd, vagyis aZ ..!vom fogalom konkret :1br.1zoI1s.ai.
Az osztályoknak Illlafrk'/.sf<giIik vannak. amelyek

n

~ktum

Ez eJs6re nagyob bonyolultnak hangozhat, de egy a valósigból \(11 pelda segíthCl m..S"iU,gítani a lén~ct. Gondoljunk egy allt6ra. M,ly .." dolgok irPk le 32 am6l? ,\Wyen mŰ~'dClekel md 3z alltÓ végrehajtani? Mily.. n események tneflnek végbe n autó ,mlködbe közben' 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.
Iv. objef:;rumkö.lpontti pr~sban ~ objektumok műveletett It fltgfiiggvények

Ifják le.

A tulajdonsagok, rnűvek1ek (inn<::"t6lncvezzük 6k~1 tagfüggvényeknek) és események egyiInese hatjrwZl meg eh..",\ formában, mi,.., k~ egy alltó. A7.trt elvontan, men. nem cgy konktél au\6r6I be>zl'lilnk. hanem azokról a jcUemz6kr61 ~ képes>;égckr6l, amt'lyek mimwJ aut6n.i1 megvann:lk. A mlajdons.1goknak, műve\elcknck és ~ n}"eknek az az eg)-1luese, amely ~lcJlá~glJ<1O leíTJ<l '7. autók:l1, az objektumközporuú programozá5 fogalmai szerim egy o.;Zl:Íly. 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Ó tagfiigg-.·;;"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,

Az ASP.NET weboldal3k ll'trehotisk h"szn~h progr:unoclsi nydvek má5ik fonto!i .. s:zerkezt.1c az C$('méll)'kczcltf Az esemény, ahogy l:ittuk, olyan művelet, amelyre egy objektum haszn~lata 9C>I"án kerul sor, u e5Cml'nykezel6 pedig az a k6drész, amelyet a megfelel6 esemény bekövetkezésekor "~e kell hajun; Az cs<''flll:nyeket

Amilof.." esem6ny betovetkezik. azt ÍIO'(" mOndhIt~ hogy II tsem60y fJlindulr, V1IIIY Valami kivM"". Il e$e~ II ~ lUttatASn pedig ~is­ ként II lIMrtkOZhahIt..
AZ ~reknek <=ic: akkOf \"dleljlik h:1UIÚI, h;i cxmén)'kezcl6ket ~lIunk homjuk Az ~nykel....16 oIY'~n k6dblokk. ame/yel :1kkor h;iJlunk \~, ;uyuklX"ehndul2Z al;

csenItny, ame/ytkhez a kezdOt mt.oghatlrozruk Az JUIÓ Starung (indiljs) eseménYt:ock escm(:nykezel6je pékUuJ <-'SY 01)'0111 k6db6I ~Ullat. ame/y aml utaSÍt", al; indíl6ku1csot, hoSY gyuJlSa be .. rooIOfI, a J&n.~' esemeny bekö\!Clkenekor pro,g egy 01)'0111 k6dr.::SZI l\.OIjlh:i!uok ~~, amely a (ékdolJlxn SWl'Ítj<l a ft:kpo{;1\<:!.I.
Az ASP,Xl'T wdJOl<blakr,o gondolh:1tullk úgy, I1IIIlI ....seméI1)'\'eztrc:h progr.lInok.l2. :unel)'eknek:1 forr1skOd ~ ~)'kezd6kb61 loU. Az ASP,!\1rr oldalak feldolgoz:;-

sakor többféle ....'<elllény is bckö\"C1kezhel,

Az ASP-ben és:l. PHP-ben, :1mel)'ek szint"'" dlnam,ku$ we/le$ h:dmol6gwk,:I. weboldalak fomhkód rbzc 5OI"OSlIn, rcnlr61lcfelt hajlódik \régre, .'agris ha a fOl'T.i.5kód moodjuk ÖI.sornyi kódol: !.óllt;llrrutl., e\66Wr:lZ e/s6 sor \'égn:ha)WoÓm kerílJ sor, [naid a núsod,k(>flI., ~.lt~1l a hann:ldik&:!., 3 negyedikén', 6; \"égiU :IZ ötödik...." I!.zl a prog"''!motisi. megközditésl, :Imdybt'Tl a kóWorok:lt eg)TI\:l5 uWn, ~ hajijuk ",.ogn:. soros l~rchujl4s,,(JN llC\·ezlk. soro!; v4tn:hajtJ5nál .. kód r.. ldolgoZlis:a :lZ első 5Oft6I h;tl.ad az Ulobó felé. ezm. tudhatjuk. hogy az S. 50fllQIl lev6 kód h;!.mal<lbb h"Jlódik "égn:, mint:l 10. Ii« k6df;!
Az ... semtnl"·ezén:h progr.lInoz:lsIR.n el nincs fehétlenilllgy AZ ~Y"eztrc:ll progr:>mok eg)'ellen '!OI'OI; r6zd. uok a k6<hon.>k képeZik. amelyek egy:1c1o«

C$e1lK;nykczcl6n bclOllaJ!ilhat6k Sok.\;zor rK:1l1 tudh:ltjuk, milyen sorreOOben fognak <"hnWlni az eg)'<"5 ~}'ek, ~zl>ft a homjlik tartOZÓ öen>éIlyketel6k meg!li\':isi som.'tldjtót sem ISmerhetjük Ezen kí"ül abball 5<"1l1 lehetüllk biztosak. hogy egy adon eseményre eg)'jltaUn sor kertiJ..e
AZ aulÓ6 pé{<ü.ul vallll"k.
rrutrad~'OI.

tegyük fel. hogy aut6nknak a kö\'etkeZl5

esemén~'e1

• Su.rung(lIldiús)
• Stopping (1dIlJls)

Applying brakes (fékezés) • St:.Irung ""uxl$lueld \\I1pen (ablaktöri61X'IGl~sa)

48 1L. . • . 'MI II' wASP.HfT...
e;e1n(:nyekr<' W.onyo5an $()I" kerül; ilyen példIul ~ Starung ts a S.oppmg o:scmffiy_ Mis l!!iCml!nyek "zonban (~Idául a Starting '" indshidd wipc'rs) n{'m fel'L'thmOI kÖ\-'ctkeznek he, Emellett fehdleliQk, hogya Sl:I.rung <'5Cmbly kÖ\·ctkellk be eló!;lÖl", a SlopplIlg pcd.tg uwlj::í.ra, de aZl miT nem mondh:llfUk lIle8 .dje5 hiZOll}'Q6Slgg;>1. hog)az App/)'lng brake:; esemtnyre a Staning ...1Jld>Judd ""Pe!S cl6n \":Igy "Un kerül $()I", Amikor egy ASP_l\U webokbh kblitilnk. n:ngt.1eg oIy,In e;;ernrn)'hezll'trdlom;uunk e;l!ménykezdÖl, amely az oldal élele.sor.in bck&.-etkcz.hct. Amikor p,.·..Hg egy <."S<:nt<:'fIy bekövetkezik,lefu. a tlOZÚ 1<Inm6 ~seillE"ykezcl6 ( ha meghal:iroztunk ilyt'l). Az "ull..; hasonl~lhoz \'i557;'II""'<', dko!f>~hel/l, hogy ($lk a Slarung b, a Sropping ~y<,khez ~ ~)~eI, amef)-drnek a kódJ;l akkor tu,odlk ICWe. anukor a rrrgfddG ~y dmdull, Tegyük fel ptkbul. hogy a Slarung esemény kezel6jtnc.-k kódja al aJ.ibbi k~ $OIb6I ~11
I\e(Iln Startl"", "'~f\yke~.16 Jel klllM.e a lIY\ljt"~.l'''..,lórul.k, hog)' 'ffIljl,BA be .. .,<Ort Jel k(l1(16 •• II befe<'.ke"""'16n~k. h09Y adl'>f1 U._nyal,..__ II .... <lrnll~. D!(1 $tarti"" &.~k ..nI6

Am.kor a Slarting esemény bekÖ\-etkezik. \'fgrellólflÓ(bk a SUnIf\8 e:;("m('nyk~ló, El6slör az ~yke2d6 kOd~k ell;6:1Or.1 fut le, ma)d a mhod,k_ AZ autó wl)CS forrlskOdp C'!Cliinkben ket eso:ménykeze16b61 ~II. amelyek közUl ~l "Illik ~ Stanmg,
a m1s,k a Stopplng eseményhez t:lnozikElag'tn ,;tartlf19 -.-,.yk, .&16 Jel k~l~.e • lIYIiithup...'"".6nat. hogy IIYIijt ... be
J.I
~Qld6to • •

bef.,.kendu&ek, bDgY adjon IIz-..yagQ

t<>rt • n>t"rnllk

~ $la~t\"9

.~nykezeI6

lleqin Stovp\ng ..s-'nykue16
J.I küldhe a lo!kdobnak
~ Uz.-anyag-bef~lI:andooz6

1.611ítA••

llI>d $tOl>c>lng •• -.,yk.z.16

Wr a StJruns ~ykl'~c16 ~ fordsk6dban a ~oppmg esernenykC7.C1ó eI6n I:I.l:Ilhal6. ez nem jelenti ~ZI, hogy elóbb is hafl6dik I'~re. Mi,·d az esern6l)'ke~ csak ~kkor futn:l.k le. am,kor a t.ouJJUk ~anozó esemmy bekövetkezik, vfgrctu~asuk ~ndj;:I az oemények .'lOm:ndje hat:lrozza meg.
Az a lényeg, hog). mmdig tartSUk bzben. hogy al e5tillEnykezel6knck a fomlsk6dt.>an

e1fogblt

~ nina

haUssaI a ,'~jWuk.5OlTef1d;ére

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.

• Ib n ASPNIIT oldal IITMl rés:tét !:i.tiuk Design nhetben. e8YS1.enlen k~ninlSUnk dupl~n v:d;aoo\';l,. tervező Idncrtre, ú:lk arr.. vigy.1zzunk, hngy a h:in6be kalunl$Unk, ne pedlg valamelyik weIleS \'eúrl6r<' (példiulüunon v::ogy lm:lge cimkkel_ Hl egy ....ri)es ,...-,UrI/5re laulI1Iunk duplin, n adotl "e~ "ilimeIYlk ~yl'l~z honmk ~ (:S(:,,~,,)"kczd61.. • Ib:l forr:.\sk6dd;d dolgozunk. kk lenyíl611Sd:1 l<Il1lunk az;ablak Iele,ro.
A ""I oIdah Iist:iból ,~bS6ZUk II (f'2ge E'etlb) clL'Il1CI (C'bben Cl.UJh:nók ;az oldd e5efIltnyei), ma,.:! II jobb oIl,bli lisclból II l..Qad leh/."l~ (l~sd a 2. 11 Jbr~t). Az t'SCmo:'TlykezeI61l:trehods.ihoz 6; az oldal Load ~>mény~hez L'íBild~hoz SlGk:!éges kódol. 3a~1 keZllkg is bcirtlllljuk
.-

,,_ ........ _......

.'

.~"

2.IUIn
..u ok/,,1 lead ~JIinJU=Mjh ~ 1et,)fId Itslából JrlnJkm:wa 1>Ozrn.lju.k ~re
HlgseUenül anól. hogy.I.n honuk Ittre az esemtTllkerel6t. II mú\'elec eh,;~ utjn II forr:bkM megfeJeI6 ~k \':lIlahogy úgy kell fe:slmlc, mint amIt II 2.4 I*l&ban Ullulunk

48 t L Nu: • lInwbd6Iaz ASI'.HET-tII

4,

Pr<'~',,,,,,

_

,~It_.&v<!11tAr'$.)

sub P.. qe_u..dlllyV.. l __ A. II.o.ndlu Me.Lo.od

"i".

~l""t,

8yV.I.

AR.

"

6, 111'14 tub 1, 2nd Cl .....

A·' b 6, ~ kö~ birnuJyen kódol: bo::sni,h.3IUnk; az ASp.!\lIT okbl böngbz6bc:

,..16 betóll6ekor ezek fogNk végTehaJl6dni.

A 2.4. ~ 161f1e16 SOIszánoketnem UabId t.ínu't llon'6sk6db« ezek esik Mf!: szerepelnek itt. IIC!OV 8 magylrizatblfl könrTyl!bben hivltkOlhlssLri. • k6dsorom..
Ahog)" a k.....·etkezl'5led:&bm Ulni fogjuk, n ASI' ,lIT \lleI;>okbbk feldolgozis:a ködlen sokf& ~)"le ker!lUK'I sor, Az oIt1alszml([ e5enlénreken (pékUU13 LOIld ~y) ki"ül.3 ,'..ebes ..... ~16khox is \:Ol"loWm:>k ocrMn~'ek.. Az ASP,n ... ebes vezérl& egyike p&UuJ a BUlton (,gomb). Amikor az oldalra 1......ed6 Liwg;lIÓ ~ ~ vezérlc5re katlinl, ~ gomb Cl ick (IGHltI'odS) esern6l~'e indul el. b ha ellhe7, mcgh,na n;>1;I\.mk egy es...'m6lykezel&. az a\)b,m le..6 k6d:l. It:uunw.s t\lltb~r:I ..,;greh:l.~6dik Egyd6rl" uonh:I.n elég. h2 szigoni.an o;Ik al OkbI LOlId eoemmyére &szponlOSllunk

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'Islig: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
Az el\' bemulalislihoz csiswljunk <'SY kic;;il a OoofauH ...... px oId:Llon, b; adjunk a bp letqéh"z VlIl~mil}...>tl dirt:l.nukus:1n el6:lJlitotl 'IZÖ"Cgt.1' A k~<lfOk """ei! es emNem.I'l unalmaz6láb1ául rdc:tt rogunk eIhcI)-eV'll eg)' relu:Uot. a .,"drome 1 lll} 0 sile.;1 is 11(JOI' lllllmllfs_dátr<mjs..../dd' (Islen IlOltlII". ....ebl~-emen! Me,.. akhuillS_.kI· lutn_és_ItIlf,,;IO.) szö>-eggd. ahol az akh.dJlS_d<illlm_I!s_id6n ",k!whs ditum b időponl". webluszolg116n. (A webluszolg:\16 t'llben al. rR"ll>en a QJJI ~yi S2!í.mu6g...'PO nk.)

2. !Sr. · fJ,zASP.NET~ 1_"Ij, lu
Ahhoz. hogy eZ! mes"al6síthassuk. ~rjilnk vi.o;sz:l a Default.npK f~jlho~. 6...:Úrjunk be egy label (szö"egcímke) webe!; vezérl6t a <tabI .. > !1I'ML-d<:m~. A label vezér16t, amellyel rbzlClescblx'fl a 8. 6r.ioon foglalkozunk majd, amI terveZ!H:. hogy dinamikusan el~ilIi1ott szövegei. jelenfu.en meg egy ASP.NEr oldalon. Húzzuk a "cilt-rl6t az cg{'1TC1 a Toolbox palett!ír61 aZ oldal", Design '"~gy SOurcc ntZ<.1ben, v:t!l}' ha J kézi módszert jobban kctlvelJilk. írjuk be az al~bbi k6d<x forr:h néoU.1ben a <tabi!!> eIt.m elé,
<asp,Label IIh"l.Isbell" .unat, "aerv... ' 1'e><t, 'Label '>e/aap, Label>

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 .

........

-

-'. - ;,,--I:: -.... ~ -• :;1

-~.

,-

-,.

..'I'

'c'_

-

2.12. ....
Ji ='<~fm .. ll) h Ti!XI

mIhJtkmwlV.i/ módosflOlmk
fOJT.Í~J):Ik

A ,~Itozuth végrehajtása ucin a lllbej n:zér16

íln' kell kinéznie:

up,l.Isbel lD.·cun .. ntTia... • runat,"serv"."></a$p,Label>

,ou ASP.N"ET oldal fOJT.Ísk6d resz{>ben rnosl beprogr:"nozzuk:l CUI.'"r"nt'l'iJDe nt"vG tulajdons3~t, hogy 3~ a\uuilis dátumol b id6I jelenít.><: meg, Ehhez l&jűnk vissZa a fOJT.Í5k6dhoz, él a kor:íbOOn lélrehQZOlt pa.,,,_Load esemény_ kczel6bc írjuk be" következő k6d5ort (lt:l lTIl'gnézzi1k a 2.4. pt;1d11, láthatjuk, hogy ennek aZ 5. sorba kell kerillnie),

Ubel vezt;rl6 T"xt

lJn"ntTi1I>e .Te"t "

W lcOIIW! tO II!Y site, ..

it h

n"", • ,

o..t"Th'''.N"",

50 L r6R • IInwtecI6IIlASP.NET-CIII
FoodfOk nJCg. hogy II ",'dX:I; "ezer\6re a J"f08I"lImkódb::m :az I D rub)don.""ij l.'f1/:ke ~ Imatkozunk. Mwel ennek alUbj(lo:.oNJgn.:ok kor.í.bbaf! lIcurromr'l'a. éneket adtuk. II progr.!mban II :urrent··t.. tLll.Jdon ....., fOllllMlan hh-:ltkoz/~nmk
lIidl~U'l!_

I

Ha belril* B current Ti .... nlYelI Iorri$k6dba. és kite~ Illo -vv pontot. t VISUII web Oeonlopef ITII'iIjJIenfti az ehhez • webe$ VdrIÖh6Z .~ t..uldon· 56g0k és lIgfilQgvények ~st'I't. fllflllo; • k6dklll/ÍSZÍló szolgMtati!UIIk }fI(,lhS,nse t n8Y11. és re!l\l8teg idill Iakarltllatllllk meg vele. A magengeden IlMjdonúgok H lagtii~k listéjából c~ az eb6 rWIWlY belli leÜtHáVeI k~ • kfvinl tlemel. Amikof • lefJVi6 lil;tábIn kl,e16l6dil • ~ kJ04nt ~ 't'I\IV~. "II)'Sl9fÚ8n "'fOI11IUI:.1I1 TAlI iliilIOtY(lt. és • VISIJII web 0tWi0PIr be/rjI MIyoeniri. I t6dot.. AmemyibIn. ",rr... t~ lao, H' pont beHSe udn nem,.... meo llIno,t6 Wl!a, al .rt hogy • VISUII.....,., Drwelopw nem .... ilya! neva webn veáriót al ASP.NfT OIdIII HTMl rHz6ben. Ha az lenne, helyzet. ~ hogy ,ltbeI vel6rt6 ID tUIIjdOIIS6g6I 'III6bIn unentTim.. 6rtí!re Milonut...

"'11,

a Default ....px oldalt II bönsc~l(5bm (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
S~nlunk

r:ii egy

P<"I'CeI.,

t'o§ ~:a:ük

meg

most

l . _. • • . • • • • - "

._........._--'"
'"

~

. ,.,.-- ...
.~.
,

••
2.13."
lU
A5PS~T oldal

r -

--

a:: u"'wlu d<muPH)/ és

"161 """at....
Ahogy
~

I*lcUban

~Ihauuk, ~

",ebe! WUrt6k lu13jdoru.lgail meglJ;lUrw.lullllk 1tWIt>f
I~

K'tlljf<a HTML-;elölésbenJ. Illetve jmWmmbl;1o'(kódon keresztül)

lb tg}' \'ezerló

P~ abbkb::lfl ''lIg)'. IIDIL részbt.-n ~dJuk meg.:I IUlai<Jon'l4p köz....:umüJ jtlitpJk be: a fenli ptkUb::In al. 10 tula~g<X 1I4il1»:1uk mq igy. :az azt ~ pedig 31! I_geUrl IUIa~got. A progr:Imb61 \Of1m6 tflÓd()$II.1St a Label ~'eZ!r\I'i Text lubjdonstpnak betUílls;;t'-:ll :;;remldlil"ffilk

egy lub~pl ől

2. !ln • Al. ASP.NEl """,.,

f'

me

"

1 51

Összefoglalás
Ebben a I«kéllO:fl jókora anyago! lek"lll'Uünk ~l \ ';zsg;ilódhunk~1 az ASI' .... er ,,'eboId: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 ~ IIDlLkódol sajil keZl11.:-g írjuk be a Soorc:e lafXIII Al ASP.t.:ET "'ebok\aJ mNL ~ t:lnulod.nymba utin r.ltntfink II forclsk6d rtszn:_ Eg}' gyoN;IJp::"(",,~1 kCl(hllk, hog)' n-.ewsmc-rkedjUnk az objekl\unkÓlporllfi és az escmén)"'t'zerdt programolhsal, majd megnéztilk, hogy.In lth.-In>nk oIpn kódol;, ami minden alkalommal \'t'grehattódik. amikor cl6ször blOg:UUnk Ill("g egy ASP,t.:ET weboldah
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
v:
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.? 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
Eg)~ fejkQ:I:6k rnir..:luoruilt::llrrunden l'Inalomhoz ...'dJes vo:zérl6ke1 "llu.hn'lzlUk, ~" ~Jllkw. tanaImakooz is. \:'lóPbIon mi i.s en leUl.lk:lZ et'>Ó pdWnkOOn, "mIkor Image "e~rlőke1 hasl.ll~ltunk ..ullku5 <iI''II~ IIT\IL..-:lemek helyetl HJ nem "agyunk jlrat06J.k 'I HTML-ben. "al6szlnll1eg koonycbl>nek ullljuk ""'ebes veztrl6kkd ""Ió n.unkll, mert így nem kell k~lnonk, h(~' milyen IrTML-clcme1 h:a5zn:l.I,lmk (blor" kggyakoribb IIThIL~k meguLOlh.uók ~ Too/box paletu IrTMl bPflnl A sutdcwln10ll kód ""lotml\'eI in~bb:o>n dolgozható fel. minilu webes veZérl6kkd jclcnítcnénk !l1<.1f: Slatlk,,~ wn.lm:lI. de e:z ar"pró körOlmény ne bcfol~·j5Olj3 "dOmbilnke1 Jllwlmanuk 'Ill 'I megokUsI. Jmetyik ~munk .. kmyelmc::schL, U:a k.....ihhulln'tl-leI dolgoztunk. I-I'J).tl-t:lc:mekkd adfUk meg a :II.ollkwi dc:mckn. mig lu d~'m h~nér'rel nem rendelkezünk, 'I wel.>e< \'ez&l6k le~e.c:bb ,-:tl.."zthn.ak
tűnnek

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
Th"••

W~b

ar. _ t..,

P4\le<lllh of .ry f.vodt ..

<hthlnq'"

<ob
d1>Jh,,~</lh

< h:>'\sP,II~c/U~ c l bll... ~"tba llc/\ ;:> • ohc/b
<Ib 'v>-<Iht,.,·

3. '\hre IIPall" u~iWs? MC'1!FIomik:a ~ 4. lIIi J nc. ·e annak 32 dem&lyketdőne:k, 'Imetye1 'Ikkor kdl hasvcilnunk. lu ... an 5ZCI\.'tn&>k, hogy egy kód minden alkalQmmal ,·égrdw~oojon. amikor betöhQnk egy ASI',/'I;TI "'CboItbll? 5. l-Iog)':Jn adItilIUnk eg)'''''~ ,'C~ egy ASP SET .... ebokblhoz?

,,,ló,,

Válaszok
l. What YOll sec 151l1ut Yoo Get (Azt kapod. "rrut ];ítsl). 2. Igen 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.

'lflC5

•. 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.
I. Az ASP.NETu'l?b<J/da! HTML otszé7/ck létrehozása fl l'islllll Web Dc/t.-Iopcr $i'8ft. !égtfdcimt:l részben elkészítet! ASP.NET weboldal egy olpn <tabl .. > tITML· demct tarwlmlZOl!. amelyet a L::tyOUt lJIeflil [fL'\Cft Table pontjának '>Cgítségl."·el helyeztünk e t az oldalon. Miutin t"zt • weboldalhoz lI(kuk, egyszen1cn tx--~11ít­ hattuk ~ táblázat küiÖfÚele tulajdons;'igllit Gyakorli5képpen nyissuk meg II Default. a'"", f:ipt tervez<) nezeIben, és módosilSuk a <ubl,,> elem bdllitáS3it. Ih IcJ.Uint:issa1 kije1ö1lük II HTMLtábl:iz;,!ot, annak tu13~8"i tneglClennek a Properties ablakl>:lIl. (A ki;elöl<'st úgy I.S e1vegez.he!jük. hogy II J'ropenies 3bl:!k ICflyíl61istáillból a <rABLE> elemel v:ilas;ajukJ Állítsuk most a border (keret vagy szegtly) tuLa~got 3-ra. a C"llPadding (ceUakitöltés) tu13tdot~gnak pedig adjuk n S értékel. PróWljuk meg m6d0sítani" BgColor (hiu&-s.7.in) tula~got is. Figyeliük mt'g, hogy amikor ezt II tulajdonságot v:1Jasnjuk II Properties ah/3kb61. egy wnpaleuür61 vlilog:Jth:llunk. Nyugodtan pr6b1lg:l55Uk a I-ITML·t:lbUzat m:is rulajdonságaifl:l k bdllltás.1t ÍIi. bs némlk meg. hogy a \'~ltoZ!:m'isok mil)'t'n hatással vann:lk a tlbljz;,t megjelenés<!re II !ervez6ben. 2. Adjunk egy feliralOl a DO! fau l t . "S"" weboldal tett'j('hez ezzel ~ sZÖ\'eggel; . Here Are some Populllr 5e3rch Engines· (Ime néh~ny népszerű kerewmO!or:), A ,z&.'eg legyen középre igazított. bs aZ aktuális d:1tumot él; időt meSJClenít6 reli,."t feleli jelen;"n meg. félkOvér Arial belUkkel. II feladat elvégzés<"hez el6s,zór ~1!jUnk a kurzorral kö,;\·ctlcnm a Label ",ebe; vczM6 cll' II ten·ez6/;>en. maid nyomjuk Ie néh~n}''I2or az E.,"Illt billcntyUl, hogy nö\'elii"tk II tfTközt. Ez utln írjuk be a Ikre Are 5O",e /'opu/ar SNm:h Dtg/Jlcs szövege!. és ha beínuk. feJöljílk ki aZ egérrel Ez uliin v~lasszuk ki az Arial betíiIipu51 a bal fe~ sarok közeltben l:Ilitható lenyiló Ji.sI1ib6l, legy\lk a 5zÖ\-'egC! félkö\"érTé a Format meníl Bold lehCl6sl'gére k;i!lintva. majd végül i8"zítsuk középre a S2Ö\·t'g~'I a Format,Justify. Center mcnOponnal. Az l. gy~kor1atl107. hasonl6,," nundenkit arrJ bin:lUmk, hogy kíshlelczzcn a Vi5Ual \X'eb De\'eloper f~zási lehe!~geivel. Nl'v:ük meg J*kUul. hogyan fest 3 szÖ\-'cg m:il; bet\itipu'i~l él; form.'izáM:lI. FigyeJiílk meg, hogy fdsorol:\sjeles é; számozott l\Stábt Ls adlutunk az oldalhoz, és igy tovább.

3. ÓRA
A Visual Web Developer használata
II I«/ee /(molm4#161:

• Új webhelyek b ""cboldll~k K1rehozhól • \,éIeu5 v.'ebhelydc megnyil:h:l • A w:rke5116 !CSlresub~s:I ~ \"~al Web f)c.'eloper Options m<.'nQj{:nek
5C8rtség~'d

• A t-nML-t:l.lulom

('Ircnde~&e

• A fejlesztőkÖITIyelel • ScgiI5tgk~ a lelq'>lIet1 $Úg6t6I

tcr.cz6 ni'zctben ablakainak mozg;u;lsa o!s 1tmérele~

Al. d67.6 ór.iban n ASPNE'T progran)()Zási mOOclljí=\'cl L...,rieUl.ink meg, és megunul-

tuk. IIOgy.ll\ qxllrK-k fel ó1l!. A."P "I:."T weool<bbk t'SY IlTMl és cgy rorr.\sk6d rtnbI'lI lb v~emll!kszünk. azllólnul!uk, hogy u. ASP./'.'ET oIdll l-rI'ML része statJku~ IITMLe!emekb61 <!OS,,~ \~l&l6\( klldpb6J ~J1. mig ól forr.bkM külön f1Jlb<ln l:1UlIl:lt6,

ts

különféle

~ykezd6kk(,!

felvbtezetl 05<tilyk<'f1l ,',dó..,t!Uk 1TIl."!I

A7.. elmuk k~ Qrilxln bo.'P'll:ml;lsl nyerhenilnk ól \ I!;U3I '.ici> Devetoper m~ . A könyvben \q,g eJ;{ a f<:jIes2!l&öm)=elt'I fOSjuk 1l:lWÚ1ru az ASP.~,a:T okbbk f~té!;ére. A:J.I. 6r:lliIon tdcpitcuuk ól \&lal \l'cb De>ek.pen, CS n.n-.dellnek,ntenOk

5& I J. !Ml • lSrraUd6S II ASP.NEr""
,;.zolgjllat:ls:l,t. a 2, örában Jl<.>dig ~ S7.erk~Z!6 felhaSL/Úl6i f<:!Gletí-!x>n melill!Onk el mélyd>ben, és an t~rg)-... Ituk, hogyan hozharunk létre egy új ASP.l\1!T ",ebhelyet, k ho!,O'lln haSZIÚlhatjuk a gmfikus (WYSrwYG, .l oll! kapod, amit 1~1S.l·) (I.'I'\'C'lÓ (Design) M-Zetd, a ln'ML-t mutatö forris (Sourre) nézetet, ilk"lVe a fOl'Tisk6d>zerke:sztÓl

:I

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 rendelkez6 programozói fejlte'5Z16kl:>rnyezt:l, Mint mmden szakma esct&en, a progromozjsIXIn 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:,zhatrulk, 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, Ha új webhdyet Slereméruc létrehozni a Visual Web IX'\'eloperben. bllinlSllnk a FHe tll<:nü N'cw Web Site (Új webhely) pont~lr:l, .... gy egyS7.<:rUen II New Web Site gombra aZ eszköruron, Mindké! mlll'clct hatásir:t II '>:ew Web Site párt:>e5d-dablak felenik meg, amelyet a 31. :íbrán láthatunk
-~......

,

>"

.. .. 1-"'--

__

.--- -----

- -3,1,~

r--;;.'" - _- , '-"--- ~ ---- -'

fl] nobJtdy 1o.1rchozdsa (I Ner., Web S#~ p6rl1ett"'k,bh>lK>~

~,a/

3, 6ra·AViIuIIWllbD"I·I~h

t:

'.157

AIélrt'hOoundó ...-d:>I>cI}'et kiilörúék solMonok ab~n k~JÜk cl. Van sabkln al ASr~TI ....ebhel)Tkhez (ASP t\TI '«'eb SIU'), az ASI'SI:"T ...lI:bszoIgáll~tl.o;okhoz (ASP"!:, Web Service), 11 kad6k .SZem,fI)~ ... ebhdye.hez (I'erl!onal Web S,le SCaner KJt), Illetve al: ~ ....ebhdyekhez (Empiy \\~cb S,lC), fOggcdcnül all61, hogy melyik $lIbIonl \-;lI:oSllOouu k, lOOcjön a webhdy; a s:;abklOOk közötl ~ killönl~ al jelt'nu. hogy milyen abpmcJmczcu fjjlokal fogbl~k bel~ ~ ,,(~-bheJybe, lI:l. el6l6 6rnoon például Ijlh;lMuk, hOogy az ASp~... web Site sablon alapjln 1(:u-d1QWll. webhelyek egy 1:." .\i>pJlat. noevíf mappiival, ilJen-e Idrom fil~LaI-Oehult.a ..px, o.. faulLasplC.vb és _b. -" .. fi; - jörtnek ~_ AZ Emp!)' '«'ri) Sue ",",blont d.Ia!;:r;n"a oI}.... webhelyet hImInk !&ft, amelyben "j.,q egyetkn abpmelmezctt f;i~ vagy mapp:! 5eIII
A ..... bheIy$abIoId: III I eM! Sll'g6ljjt, hogy t.IgyorsIts6k. WebIbIrnIZ6S06: ~Wt.. A PWSOnaI web Sil. SIII'I. Kit SIbIan PMdiUI o/ya1 okIaIalat 6s ~Il ápit, amiy......t I $l8~ ",.boId"'Jton $lIIkUri: 1MnI. (Err6IISIbIoIlóllhttp" ' . . , .. i 'r' ,ft alasp.netl.r,'hivei
default ,aaplClpull rI ibnrylanu Idn.nw1htll.llpw1l ....P címen

UphItLri: b6vebb lIlformációlf

f'nIbáliuk ki I My Templates Imben lZtrejli6 S.arch online Templa~ Iehet6s6gtt js, ameIyeIaz InIemelefI további - I Microsoft" misok AltaJ ktls.zítell - webllelv' sablonokat kerlshetilnk. IUr ...·ebhel~"lf;;IbIonok széles kilÚlatábOl \'ilasttlllltunk. a kÖf1pilnkben szercpl(l nbmenn)'j p&b az ASP,"'TI Wri) SlIe sablonr.l éPOl_

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. eI6JlliIOII pdöI(lnyehi kódot ~tadPk II kérclmelÓ~_ A r~ azonllCm az épilés és ~ t.:5Zlel\'S .KlOin gyakl1lll helywk el .... ebhel)·etkec a ""I'" n1nlieóg<:polkoo_ A webhel)' igy nem éfhec6 el az Intcrnetcll keresztül, de ez igy is van;6l, lllCft ~ ...·eblldy ekkor ~ nem alkalmas nyikmos közzClélelre,

511l , . • 1In.tediI. ASP.NEr....
Amikor:Ol webhely löktlet~ működik. késttn JII arr:l. hogy elhel)'1.'nék ~ lh"Uli webg:outinJt ahol.mr mmdenki. ak, ~kezik in[emetb~lbl. e!éffieti fgy is dönthenlnk pcnu:, hogy mJr:Ol fejbné'l elq.':l6I kezdve egy [olvoll gépen helyeZZük el .. "'ebhel)'l:I, ehhez cs;Ik t'8Y flÓkl1l ~"~n szükségünk a webg.azdil,,"

IIenQIIIg '{,Ib a~ ("Mb IIostrtg) c'v il • ~. kÜIÖnbÖl6 ~ lOU" - és ~ RlliL Iyen céget ~ int8llllln ~ lII6IIaIlD. de az olyan wtbhelyek segitségét " igénybe vtheljiik, mIflt a Hostlnde~.com 'O'8Ilf • TOflHosts.com. lInIIYet nyMntartist vazetneit • WebQaZdt c'oekf6l. HB úgy döntiri.. hogy ASP.NET "".~lÖ.a1 'WI WebgaZdWI Jowuk thtyemi, t1'ItnO dri.~ ~ meg. ~61. hoQy ....roIgM6i ASP.NO Z.Q.l

lá,,,,,,,,..·••

lb a webhdyet mégts a S;lJáI gépilnkt'ln ÜU'fllCllt:tn6lk. en kMélekq,pl:n tc:h\!ljOk meg

• A/ajlnmd.szcrer.Ilerts2l1il-!'.kkor 3 mereo.lemezen It:m.·ho~nk egy kl'wl~...tir:lI. amely II w~bhdy ~riónyrf,inlil!nl szoIg~.I A webl>clyl'leZ tanruó \':ll.mlennyi
f;\~ éIIll1iIpp;!

ebbe ~ könyvt.1rl,.. k..'I'01

A Microsoft lIS u'/.'twiszolgál6,ki/1 IIcresztm - 11.:1 " slfimil~nkre telepit .. '1tOk az !nt('ffll'l. lnformooon Ser\'1C05 (liS) kiswlgilót. ,.zon keresrttil is nlfficödlethe!Ünk egy "ebhelyl!1_ \lelll"tn~ azonban. hogy az liS <.:sIk a \'rmdoY.s XP prof"e5Iiional é!lX'indow, 2003 ~1'.. er rendszerekre [eIC'plthel6. a Windows XP Home kl:odásira nem

H,,:Ol wel>helyu hd}i>en weretnénk Ozemclll:lm.:Ol Loc-.oIlion len}iIO l\SÚbóI ~JI;ass~k 3 file Sy>lem lelll:1~. =jd k<1umtsunk BrowSoe gombr:l. amely 3 3.2. abriin lJtI\316 Ch<JO$e i.oc".oIl !on (Hely kld"'~) pirbe!;zédablakOljCleníli n'lel!

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

A forráskód progralllOlÚj nyolvének kiválosztása
1\ I.:Ingwge ( Srelv) lenriló lr.UbÓI ki\~l3szto1t bdUitls hal~ro=l Irq:lZ ASp.NET

... eboIt.Iab,nk fOl"Thkód rtSU-bO:n II:l.'W1álI progr:unOWI n)"eI\·et. Ket n)"elv könil \-~bszt.ll:llunk az egyik a \'l5I.Ial BasIC. a m1l;ik a \ISI.Q] C--_ AtJOg)':lZ dóm l«kclx-n emlitt:nuk, a kön)'" peld:liban ~ \'~I sasicet fog,uk I~I",
Ha mér programolIuoI:; Jav. vagy CJt++ nvelven, • Visual CN nyelvtlnil ISiTlllr6sebb lehet I sz6munkll, mint a Visual Basod, A Visual BasICet 6ItaI~an alOk választják. lIkik nW haslNttík ezt I nyt!vel iI.tVt azok.. ..ik m69 )inI"""*

Ha Iiibbet ~ lIO:i I ViSUIII C#.roI, ur.$$ij:. MI. MICrOSOft ViSUIII C# c.rt« IWb~ /h ttp" , _ ,n. ""Ivc .,,up " VII/'( olvassuk" Ktm Hoffmln Microsoft ViSUII CI' 2005 CímG kéirryWI:
Oewe/opel

.""""""'"

(ISBN: (672327767).
[k

5Zit6.b~n.

ideiC'. tlO8'T némi gy~korlalOl SlerezzOnk a VisIlal Web [kvefoper-f«le w.:bhelyk~ezbt hozzunk ~re egy Iii .....ebhelyct az ASPNI:.. Web Site sablon ~llI,*n

IleJ)"k/!nI \"~Iasszuk a File ~$Iem Iehet6s/!get. tetszé nerini jelö/jUnk kl egy kl.loy"t1rt1t a wd>hely wndn. a I.:Inguage be1Uiw pedoglegren VOOöoI &sic. Ahogy az d6t6

60

II.mz· l5mt!bd6s III ASP.NET-taI
Iec:kében l:1nuk. e],.zel egy oIpn webhdy jön Iwc. amelyhez egy APP...Dat .. nevU mappa. egy Default ... spx nevd ASP_NET oldal (és az annak megfele16 Oehul t . a .. px. vb f;ijl), illetve egy web. cont ig n...,,6 bdltft6fájl Ianozik. Ez,;,kL'I ~ fijlobl sorolja fda jobl.> fels6 sarokban található Solution Explorer. (Ha nem l.1tjuk " Solution Explorcn. kallin!l;unk" Vlev.' menO SolulÍon Explorer ponljára.)

Létez6 webhelyek megnyitása
MOS{. hogy l<'trehoZ!unk ~gy webhelyd. I~ssuk. hogyan nYIthatjuk meg aZl k~. El6szö< is z.1rjuk bt> a webhel)'el. vagy úgy. llO!:I)" kil/"pOnk a Visual ~'d> O...... elopo..·rh6l. vagy úgy, hog)" a File menil Close Project (PrQjela beúri.sa) poIlljjt v:\!asv.juk.

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. Miw13 ",:ebhl.'lyct helyben. 3 stimít6gépO.nk f.íjlreT'Kb-zer&n hoztuk l(,{fe. a webl>l.'l)'et úgy kl.'1I megnyimunk, l~ a baloldali oszlopban a F~e System ikOl'1 ,'l\lasnJuk. majd megkeressUk azt a mapJXiI. aliO\"Ci a webhelyet helyeztük.. Ha me8""~n. bnllll5Unk
al'. Open

gombra.

Ha a programban mlr megn)'itollunk "'gy webhdyet . n új webhdy megny.tá$:! bez.1rja nt. és betőltl az újonnan kiv;!lasztoo webhely I<Inalnt1t a Solution Elcplorerbe. Ezután a swkbos módon doIgoz/l<ltunk a wcbhcl~1:Tl; wcbold~lakat hoZh:llunk l/"lre és szl.'r· kesZlhetlÜ.k azok lfINL. illetve forráskód részk.

Ha nemrég dolgoztunk a wllbhelyen, gyorsabban is megnyitha1juk BVisual web
Oeveloperben. a Fila tTMInii 1IQY8ntS tart81maz Bg'{ Rll'Cetlt Projects (A legutóbbi pt'ojekm.l fIeYIi pontol. IIITI&IY relsorolja a IaguIÓbb tnII~itoll Pfojekteket. Ha ebben a listában I kfváo:1l Pfojekt nevére kattintunk. IUOtvlal betölthlltjük azt.

Munka weboldalakkal és más tartalmakkal
A webhelrek valójloon csup:ln egymissal kapcsolatban ~n6 fájlok és ~lkönyvt1r:1k t~rol6i. A ....ehhelyek ;!ltalában ~ követkeUS tipu$l'i fjjlokb6l ~UJ\:lk;

$tatikrd "clxJJdalak- A In·ML oIdalallstatJlrus weboldalak: n ASJ>.:'IE1- oldalak· bl ellell.lClben C5Wlk HTML-lunalma:mak, ....cl,.", vez.érl6ket és fomisk6dol; nL'!n Ahogr a név is sug:ollja, n ilyen f~jlok t~"alma Slatilru5, '':Igyi5 nem \'liltoZ!at· h:lt6 meg a felhasználó ,,11<11 bevill "'SY ~ kis~oliPl6ról származó adatok. '':ISY kOlönféle feltételek alapj"n_

3. ÓlI

A ViSUII Web

Dr....,.. ham"""" 161

ASP.NJJTu'C/:JQJdlllak_ Az. ASP.Nl:.T oIcLlbk a ....ebhely dhumikus oldalai. Ká f~jlb61 ~Unak, :l.~ egyik ne..... a~ Oldi! lN"ve. up", fortTÚt követi (ebben !;Iti!halÓ a ln"Ml rész.), a m.1síké pedig az Old.olNev... lJBpx. vb aiakOI (ez ~Z ~lJo­ núny !;Irulrna.7.la a foll"ásk6d részt). • lú'PfiíjloJi- A legtöbb ....ebhelyen lal~lunk képeket. embl(,m.1k:1l é!. m~s gr.. flkus anyagok:ll. A kt'-pfájlokat rendnennt a webheJy g~"Ókérl.:ön)'\1:ir:lhan \"~gy egy Images (Kq.ek) nevU" alkön}"tirban ÚJ"Olják. • Bffillí/6fijjloJi- Az ASP.NET webhelyekhez egy web. config nevű bt>~llit6f~jl ;s lanozik, amely a kiszolg:llón:1k nyújt bei.llíwi infQTnt.1Ciókal. • Stílllslapfájlol4 - A .5ll1usl:lpok oIY'1Il fájlok. ~mel~"Ck " IlleSJClenílés1 w.abályoWik. El6fordulhal péld1ul. hogy azt szeretnénk. 11<0 a v..-ebhelyunkön minek.., szöveges lanalorn Arial bet.iitipw.sal jelenne 1TK'8, a <hb címk&en belill! !;Inalrna.k pedig dőlt benkel Ezeket aZ eszt~kai utasítáwkat adhalJUk meg Slíluslapok !;egítsé-gé-\"el. A Slíluslapokról a http : . I ......... w)8chooh .CO!!" "'8' elmen tudhatunk meg többet. • P(m",csfájlol4- A kiswlg1l6oklah forr:'isk6don kíllŰl a ","ebokblak l)grji:~oId{/1i fJllnmr:..skódol is tllulmazhatn:lk, '"lIgyÍ$ olyan kódot, amelyet. a végfellJ:m"ml6 böngtsz6;c fuua!. Ezt spkr:m önálló pamnao;f.iilOO csomagolják a weNti5zolg:llón. amel;-"el a böngt'sző ig~y sn'lim kl'..- el a kiszolgMÓl61.
A fcnli felsorol5s a <I.'Cbkiswlg:í16kon álmlánOS:1Il meglal.1lhatólegfOfltosabb I'<\jltípu50kal urulm:uza, dc koclntsem kiment61i$l.a Egy rockzenekar wehhelye pél~ul MP3 f~jlokal Í$ közzétehet. am<'"lyeket a !:ltogatók letöhhetnck. al. ASP.NET webhelyeket pedig lelS1.&. :w:rinl !>6v(lht.1juk killönféle fájlokk.:lI, am.... lyek 100"bbI szolg:lltallisok,u nYÚjl3n3k. E"",k kÖ1;Ül a f:ijltípusok közül többel is megismerkedunk a könyv somn.

Tartalom holláadása a webhelyhez
Amikor az ASP.I'oTI Web Slle sabkm alapján hozunk létre új webhelret. eg)" (va!6Poon h't fJijlb61- Default .asp" é!. Df!fault. aspx. vb ~ ~UÓ) Default .... 'H'" nevt1 ASI'.'ffiT oldalt, ,""Iamint egy web.config fiilt kapunk. de a webhelyet egy.szt:nJen b61.1thetjük to\'lbbi f~jlokkal és mappákk::d" SoIutÍQn Elt:plorerben. Ehhez kattintSunk az egé..-;obb gombjával a webhely neven::: ig)" a 3.3. ~bcln I:ltha16 helyi menÜ jelenik meg. Ha egy úi m.1.ppát szeretnénk a webhelyilnkhöz adni, dJat<Sl.uk a mentl New Folder (Új mappa) pontj:it. ha pedig egy fijll. az Add l"ew ltcm (Új elem houJiadás:,ü Iehct6séget.. Ez utóbbi m<'"nüpon\ \"Jila$Zlft$:l ~én az Add New [tem JY.irbes1.édablak )t'lenik mes C :100), "mely fel5on::>lj:l. 3. \'álasztható f~j!lípusokal. Megfigyelheljo.k, SA. hogy in 3. korábban említett leggyakoribb fájltípusok és mis .::illom:\.nyfajt;lk egyar.im megtalilh.:Il6k.

-. -·.d~ --

--111--_.3.3. MIllI
{'Ifojl <"ItI".-ppt> /Jor:n:io<lásoIb

"'",,,mo'" ott ~'r jobb JlOnIbJu''''
Q

WebheIJ' "~n.,.., Q SoI"noll l.i.rp/orerl>cn

-..._-. -- .É---- E=-:-~~--,: -- .-- .. .- -.

. . . . _<-0

- .- -"ev.

--

~-

(':':"

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 [tem ~rbesz<'d:lbl3k aljin kQ1Onf~le Ichrl6séJ:!eket t~lllunk A:l.. hog} poolOSan milycnekL1, ~ \'~bl;Zlott (~j1tIpu5t61 fUgg A \\7.. Form típU$Ú f~jIok e:S('t{;ben 4> <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

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~
• Ilac" codí' ill
~Ikahn;lz\"

~m/<' ftk (A

egyl>é)/d kOI.s6t

~dlulunk ~

",'c:bhcl)TlCk. Ib lllCSIeroId:lbk.,1(
J ~~el.

~ ~In;,

bp<--"OOIJlIk be ezt

hog)' meo;terokbJI

rendelhe5.stink n ujonNn

k.~hoan ASPS~:1' okblhoz.

A !lmler+h'+\.o! nawon kínVftnesen llheljij; ~ a ... ebhely ~ enndeZ6SéI. A mesler+ialak alóny911'Ó1 mo III ASP.NET wtbhetyebn való hat.m6. latl&ról riszletesebben besHüt a 21. 18J8l11\ben.
'WI\!IU:I!t" len)1161i5U u.tnölna7.1 n l!ftékel kJpja. nunl ~mu ~ webhdy Ictrcltozh;lkor n~unk, IdDln ASp,'ET (!kbl forrJskód ~ nyeh'e ug)':IIUZ bz. rrurn al ~ webhel)'(> ~ al egyes wehokbbkQl1 kOkl!ll>f>'dl P'fO!tI'3rnoUs1 nl'eI\'t"ket il. tw.zNllwunk. de el nmlló"ölSOk. ~ eg)-eUen. t'jJ)'.qes nye/\T1l nrgitni a nunden ASP~ET okbÜI.

"'-«1heIY

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 III separ8le lile bdllltWt. de se,nos csak "w Idon PfOIIkIerl belü. VagYtI ha uj ASP.NET .... I~ lIOmnk 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ÖI6nIi;yzIl blUpcsoh iIIIIpotban VII'\.

"tri.

Cipkorohuk n ASPSET okbWc hoz7áoKIJ.s.Il eg) ..'d>lleljhez! Tet!}iik fcl. ltl>f.:)'
II

!>,f , .• t. ~spx

~-nk.

mcllen egy:',. l : .,yTu... .Up" ne>i! ~ffliIŐ ASPSET okbll b Ezt az okbJt" kÓ\etkez6 ~ '·;~greh.. jW.a" ...1 adl~tjuk .......ehhd}'I~L

l. A ~ubon Explorerben k;utlntsunk aZ t'géT)ObIl gombj:h':l13 webhel)' ne'.. ~rc:, 2, A megj<:1en6 helyi men(lh61 dl~SS2uk JZ Add Nt...... hem lehetőséget 3, AZ Add "1.'\\ Item p:lrbe!Q:b.bblakb;on CH ~bt-..) jelül)\Jk ki 3 ~-..O{) h"m bjlupusl 4. Adjuk a Displ_yTi" .. , ",px r'lC.'\·el (};ame) az oIwhuk. a llonguage bt-aUu:Ut
ha.tnJUk Vosw.llkI.sicen.
('$

k3pc501juk be ~ ~ wde on sepM;lte file jelölő<

5, K:mulIsunk az Add,gombra az UI A.<;PSIT oldal ktrehoz..,.:íhoz.

"""=~

64 1Lráz· lSrrlIrUdM II ASP.NEl-taI
Ml:; tlpusú fOl'l'1ÜOkat ug)".mezeket ~ lépewket kövelve adhatunk a webhelyhl."z. CSOlk ekkor a _I, lq>ésben m~s lehet&égeket fogunk l:itni. amdyt"k megfelelnek a voibmou f;ljhípusnak,

lMez6 tartalom ooná ad6se
A webhelyckllCz nem csak új !aJI:Ilm:lI acUl:llunk:. Visual \l;'eb Oeveloperl>en. hanem

m:lr léteUi t,malomnul is eg)'S7.erűen b6vithel;iik azokaL EIólordulhat például. hogy a merevlemewnkön mM 00 csücsül egy k4>f!i~ vagy egy más,k projektb61 egy ASP,NIT okl;lI. amelyet U adou webhelyhez szeretnénk adni, llyef1 hdyu.'iben kattinl.SUnk al e#r jobb gornbj<kal a webhely 1>I'\'(;re a Solution ExpIoreri)en, és ,"ál;u;szuk n Add Existing 11effi (Ll:tez6 elem hozzáadáso ) )ehet&éget:.
J szokásos fljlta1l6z6 p~rbeSZéd:!bl3k jelenik meg. ahol megkereshetjilk an a m:lppit a 111Cfe\'lemezen, amelyben a hou.:íadni lódnt tartalom található, lla meguláhuk. jelöljük ló, és kanintsunk n Add gombra_ Euel a kij<'Jöh elemet a webllely kOnyvtlr"ába m..boIJuk. így az a webhely reszévé ,-,mk

En a menOpontOl: "iilasztva

TartaJom áthelyozéso, átnavazés. és töriés.
A SolulJon Explorerben nem cs:tk új mapp;1k ts Ujlak hoai3dhir:l van lehct&ég. hanem álls hdYe7.heti1nk. illetve törölhetilnk tartllmakat. Ib mozg:ltn; szeretnl'nk egy elemet a "'ebhe!yonk rrutpp1i kÖlÖU, egyszeTÚen hÚl.ZUk a fájlt \"a~' mappal az eredeti helyé-r61 a kí\f:lnl helyre.

:JÍ _ _ 'tl--

--

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),

A Visual Web Developer testreszabása
M.b t"kintél)'t"5 poogulfIOÚ.Si t"QköWk~ huon\ó:In;oL h......J Web J)e.,,--klper is teJ)t"S m(-nékben tc:stresz:,bhaló, telúl ~ fejlt"5Dők úgy ~lIilh.. tj.ik be, hogy a Ichet61L-glut~ koo)-Jhl»fI dolgozhas....anak \'Cle. A V!.<Ual Web Oc,..,doper nem csak apról"ko< be-~11l1:1.'>1 lesz lehet6v~, aD is koonyt"'fl megoldhat juk, hogy eg)nli be:\lIiúsaink~t fájlb:l rnenbllk, m;ljd eZ! a f~ilt bc!öltve;oL tcstt=bol.1 környez('1L1. "Iff má5ik $tiimit6gépcn n:f'rodukáljuk. BdJJít:is:llnk:u tdllt fl,-iheljük '1w a.w~U 'SÚ.mitógtpr61 qo' nCJIesz· gqw-c. .sót. ha,. beállításokat tJroIó f1~t egy \\chhclycn. egy I:~H megho.jtÓtl ' ..gy egy ... ebcs JXlIiUn~)ltban hel)'Czzuk el. :I. fejleszt6kömyeu:1rt bo'lr",lú<cn stilmit~ könnyel \isl.uaJJílh:ltjuk

Ebbt"'fI a .észbell u l ntzzOk nq. hogy:on subhatJUk te.lre J \-ISWI"I),eb De\-dopeft Az egyedl bdllitlsok n:l8)- Il!$Zt'I az 0PtI0r1S (Heálli!lsok) ~rbeszt:dablakOOn adh:ujuk mcg, amely...1. a Tools (EsJo.kö:wJc) menQn kere:sn.ü1 trlll.1u'lk eL Sro nerinliObb ~7.iz bdl1ii:lst t".l11unk in, ezl'n "'-'fl. t1rgyalh:lljuk mindet: ehel).... a fOflto:53bbaklll ÖSSlpon'!1 to.;,tunk. illetve megnézzOk nl is, hogy mik&!t m6d0!;;tha1luk a \llsual Web Dc\-'elopcr abWr.l~bI:iit & azok ~lcsI beilliús;;ait., ilJer.'C:I. ten'eU! nEzetben a HTML t:!.f1;I.!om d~ segitO bclIIit.bok:IL
A ,'1$U.aI \kb De\'e!operOpoons pi~bbka ~l::Ipill;tpr:tlban csak a Iegk.... )~ beilllÚSOk:lt muulJól. Ib mtndet I:l\fll szeretnénk, kapcsoljuk lx a Sh09. Ali SeIllflgS _,.".,ct A könyv képemy611.épein mindig a Vl$uaI Web Omtloper alapénelrTlW!tt be'DitWt ~thltjuk, lb fejIe$lI6k6myemoout $/IJát l(IéOYtmkhIl igazftit*- • monttorrion 11\e1111II1I6 "'01; kis ~ elté!hetnek IZ ~ líthatólttól.

Kömy8l8ti
A

~k

"'".,al 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

\10""

ck'ls:Wr megJelentk,

61 1LNu • lItr...UdM II ASP.NET-tII
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)

Al optioru lIbIak

kalőnbözö

hierarchikus

k~\Cg6Iükr:t

A p4rbc:vkdabbklxon illi sok
kunerftően

klll"'86ri~ {,s ~

úrg)·aJ]uk. eZ&! o.ak

bcllJiús érhet6 elllhhoz, hogy mim.lcl lesfOl\1Oli;lbbak3t vesszük lOOmI

----.----..-._._.-.--

-.-

--....--------'--- . - ... -..

.---_...
.

_._,_

3.1. in
JI l'Imallr'eb Det~ "ZOpftOHS ptJ~bIa.,.. ItI!rns:I:IIlI szabhalj,,/rl(:>lrt!

Az Ennroomern aoportbCIn kft bdJhlhsal ~ közdebbr6l iS ~edni Az dső az AUIORero\'er (Automatikus helprilJ,uJ), Amikor egy "..ebI~ dulgozunk,
~ Visual Web rx""clopo-"1' bizoo)'O!\ ~özönk(:ot automatikusan nú''iObtOl kt"$"LU a nlÓdo5itOll f:illokról (n id6közt mi Jdluu;uk ffit.1I' az abpénelmc1ks öl perc), b ezek ... >! II hil10nSági m,1soblokatll progr;tm ~dol1 mnlli rt.:op!8 ~ (llZ al~p6telmezctl l d l b het napl. Az Autolteco\'er az ellen n)'Újl \'~1T)el, hogy több órán~l nrunkJ.1 \~k cl eg)' \'~l1Ilbn mmkJmlradl5 nwn. EWordulh.u, 00g)' eg)' munk.2bnunk elhalad az aszt:olunk mellett, \8etJ,enm megbothk II hilózati kjbell>m, és kiriint~ II C$>llakolÓt II fJlbóJ I I~ az AUloRCCQ\'cr szolg::1l1:u1s1 bebpc:w!tuk (abpállapotb:1Il ~ Vlln bPC:W!I1I ), II legrosszabb, Jmi történhet, hogy az utolsó öl percben légzett

m\lnkJ.nkJ.l \"CSlitjÜk el (fclthe po:"tRe. hogy lllll];ll*f\elmezcu gy:r.koriságoo II3g)1uk
3 hrillitl511. A m6dosilOtt f;l.j!ok bll:tonsagi mhobCli:l. IHy \Baekup fU . . \<proj.ktnlv> 1llóIpp:1br.1 kCl'lllnek.
~

,tI ,Vi.ual St'

io

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)"Colet 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,""'"
Sok reile$~t6l1.7h1 lllÓd06ilf'l II h,..1(1- és szinbcllldsokat. hogy könnyebben dlg3wdjon ~ f0rr.i5k6dokban. Nálam ptldlul a Q',ámuk lit;. félköo:tr Jű pomO!! Courier '\cw k-~raklerek. mig a IoraktcrlJnook türkizk.::k 10 pontos Couricr ~ ben1kb61 ~Jln:ok.

A HTML·t8!V0z6 """t beáIItáSa
~

options ~rbeszOO:.bIak ulobó bdlIiU,<,QoponI'/;. am<'lJyd ~~..-kal-­

nunk." I rti\ll [')a;j~ UIDll....ff\'ez6). lIor\Isuk Iri ezt II \(;1lt:gÓ.ÜI., l:$ v;j,bs.sZl!k a Gener.l1 (Áltabnos) aIcsoponO(, A;obb okblon LoUlunk kell egr SUn p"g.."S In~"Ü
I~Jlit:hl, ~md)'néI k~ leh"t~ - Soura. \'jew (I'orrls nl=t) CS Design Vicw (Tef'\'ező .wzct) - közül ,-;llasnh:llunk Eml('ke1.zQnk vis,~za. hogy ~!llikor eg)' ASI'St:,· oldal f()l"dskód ri:5ZÍ'I ~j(lk. vllaudutunk. hogy fomIs néU1bm köz\-elknuJ:a HUlLt:UWm:I.! m6d(~lljllk, \'lIgy !erI'.,zö nt:zetbm UO egt'rreI húnmlc I ITML..dcmclu:t <::s ..."dJe; ,"C"Ztri6!<l.1 az okblra. új ",~l ~kor. ~Ien'e eg)' mor megIé\-6 megnyiLIs:.kor alapállapodlGln fomis ~tclbt' keri:l[Onk.lI:a jobban keID..:hük a t<"rVelŐ ~et. U abp&!elnICzro vi5elk~ lu \'"ÁltOZla!lutjUk meg.

A lIT\ll ~ kateg6ri:I n>:lS(x1ik fig)-drrtlte m&6eleJnt, ~ CSS pos.lion.ong (CSS-

elhelyem, \;u;d ~ .~.8. ábrJu. Ennek:14 elemnek ~ kubbclUlWSóli a P06...011ln8 opuons (E1hel~-ezési bclUilhok) CIIUpI)fIhan !:Il:íJhatók J b :14 eb6 jeIöIőnég)"Zetet (Qunge Ihe posuiorung 10 ,h..., follovving for mmrols aMod llSing the Tootbox, !XlSIC. or ur~g aod ump, vagyIS AZ. dhel}-ez6 m6do"itá.... a köwtkel6re a Veztri6k paletúr6l howadou, beilk5ztett. \"~gy n egmd n oIdalr.o OOlrtt \"ezCrl6k~) bqelöllÜk. meg;.dhaljuk. hogy a progr1Im hog)"an I~...-u.e eI:az elulII:,ket a t......"eZI!II>en. A jriöl(il1Ó:1I)"Zet .wphel)'" zetben luk.a~t llL:.po1ú. ~mi aJ;!. Jdenu. hog)' a t ......-eUl' né.tethen:az oldalhoz. adon webes ,'eu,r\liktlöz 6 ErrML-dc:mekhez nem IwpciOl6druk clh•.:lyezé5i utólSiIJiIOk AZ. el6zó fel':Zt'lben .mr 6"im('ltllk ezt a kerd6lt, ,.ntikor tOegmtlít('ltuk. !\Og}' II I ITML

68 [ L r6S:I: • Isrnerbdn III ASP .HET-tel
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 tervez6re 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'\-'ez6abbk 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.

Az abszolút elhelyezé-; rug)'szen1 megoldhnak tűnik. ts rendkívül egyszen1vé tC$Zi elemek meg:odott hel)'re lörtéoo ~aÚ$;1t. de fontos. hogy tismoon legyünk a ko..:k:i?.atokkal is. El6sz6r is, amikor absrolút elhelyeZé;! alkalmazunk, egy adotl kl'pemr6ldbontio;t tl'teJetilnk fel ~ ~tog':lI6k lllooitoriró1 Tegyilk fel p;;1d:'iul, hogy ~ ",~>bIK'I}'ünkt'!. eg)' olY,1Il rnoml.OfOn tervezzük. amelynek a felbontása 102,1 képpont (s<:~I""""g) X i68 kl'ppont (magass.1g1, b alt szereménk. hogy ~ gomb az oldal jobbszéll're kerilljön. ezéTt balról 900 kl'ppoflln, fclülr61 pedig 100 kq,pootr:l húzzuk a vt'Zl'rI6t. "'mikor Ulogatö I'rkezik a wd,helyre. a böngt's:l6je" ooJ margót6l9(X), 3 felső szélt61 pedig 100 képpontra helyel:Í CI ~ gQlllbot_ Ha 3Z<.>noon a kUog;uó nlOnilor:t csak OOO x 600-as felbom:isra k~, a kl'pem}'6,abb okbUra mm gomb kic:9.í$zik a kl'pb6l, ~ a l~tog.lt6n3k jobbr:l keU görgcmie az oldalt, hogy 1~tha5sa,

,

.-

3.9. "WIl
III "ID' gombol .. b>zoIt<S
e/he/l=é=/ 119/Wppomm I<VII,,,1t az o/dall"'<'jfIól és /00 képpontm " bal o/d"I,,1(>/

AZ ~h!z.oIut dhdy~zésű demek masik ruitclnYd, Itogy rl('hezen mérelel.h~16k A 15. I«kében példáull~hni fogunk egy ,,'e\)es vczí:rio"it, amely egy aruub:\zi.s aebuj! jel<"níti meg. Mi\'elt......·ezéskor nem tudh:njuk, mennyi adalOl. kell majd n>egjelenfteni 'lJUwJ ez :u kIm·eI foIY"m~tOl):ln d.ltolÓ és tlÖ\'ekv6 adatb:'izisban t<'lrolt ad.nok mennyiségétISI fUss), bajlxl km1lhelünk, h:t az old1lt:l egy ad.1lt:1C5Ol és az 3J~ egy gombol b leszünk Lehel, hogy csekély wrnú adl1 eSften a gomb tökéletes helyre k~-rlII. dl: ahogy újallb és újabb adatol<. keriilnek llJ: adalbizOO<a, az -..da~ mén:te l"IÖVebnk. hogy helyet csin!iljon az aooloknak. és II r.lcs végOl dbkal):l majd a 8011100. \hndawrulul nem jelenthetjiik ki k;negorikusan, hogy n absrolilt elhelyezés kerillend6, rn(:'ft egy jól káben t.1MU környezetben - például egy beLsó hálózaton (intr:lJlClcn), ~hol blnosak lehetunk benne, hogy mind<'n felhasWI6 mOllI(Qr;I képe'; II 5ZÜksfges fdbomisrn - az ab"wlú! elhelyezl'sú elemek nagyon haszrt<x;ak lehccnek A Iblycg csup:'ln 3Z. hogy pusZl1n azért. men eg)'SZef\fubnek t('lrult, mint megt:lnulni a HTML-ben megva~toU elhelyezés bonrolultabb módsterét. ne albhnauunk "k.wl(n dhe!yez~ Az id6. amit azzal nyerilnk, hogy nem veRődo.nk a IITMt..-elhelyez(::; 5Z:lb;ilyalVal, nyomban el\'l'2, anúnt az abszoIúl clhdy6;b6lad6d6 probl6rokat kell megoldanunk.

A HTMl·tartaiom abSlUkit eIleIy8lás né/kii~ a1rendeLéslÍl'ól
a http,II"""".w3sehools. _/htllll/htloIJayout.lIsp

elmen t!!láthatunk további tudnivalókat. Ha rátaláltunk IllY beauitásra, ami megfelel, szénjook rá pár ~at, hogy fájlba mentsü!:; a módosltást Ehhez csak a TooIs meoo I~ and Export Settings IBetilItési IÍS fllIIltési beállítások) pontját kel válawoounk, amely elindíIJ8 azt a vlrilsl6t, ~ meghlllilroxhatjuk, meIY beállMsokBt s.zeretnénk menteni, ilkrtve hogy hov6 és milyen lájlnéven,

70

II. Já;z • lSmerUCIM wASP.NET-wI
A testrfSlllbott beáII~ásokat a ment&síik ulMlltg'fszenlen elöhMlati'J':. egy másik számI1öoégen, csak be keH tölteoüok az elÓlőleg mentett fájlt. fl a szolgáltatás kapóra jön, ha ell'fSll!rr8 dolgOZU!li:; egy asztali és egy hordozrnll6 gépen, !IáIólat· b8II vagy kapcsolat nélWI. vagy alvállalt.ozók'nt néhány havonta más·más helyen. de azt szeretrnInk, ha beállftA$alnk m,nOeníitt egysigeSBt lennenek..

Afejleszt6kömyezet ablakainak megtekintése. mozgatása és átméretezése
A ViS\,al Wdl Devcloper fejele:snókÖfnyez.edlell s;clmo:s ablakot t~lálllnk, amelyek klilűnlJöz6 informkiókkallátf):lk el minket. Az eddig kgrészIelesebben úrgyalt ablak a Solulion Explorer. ~l11Clyben II megtl}itoU wehhely mapp:í'l é5 fájl;"il láthatjuk. Az el6zö f"iezerben azonban ,nir kd ntisik ablakkal i, találkoztunk: a PIQJ)t'f\ie:s (TuLajdc:>ns'igo\l) ablakkal. amely a kijclöll ~mlL-eIem. illClvc webes ''erer\6 tulajdonslgait mUI:II)<1, vabmlnt a Too/box CVcz616k1 paletúval, amely az ASPNI:., oIdalakr:l h(jzhat6 vczi'1i6knek és HTML-ck:rndmck ad hdyet. 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. A \'istla) Web l)eyeloperl:>en rrunden ablakn:.k al<tpbtdn1C?ett elhelyeT.é>e. nlén:te és VISelkedése '';ln Az elilcl}'ezé!i nem ~k az ablak helyét határozza meg. hanem azt is. hogy aZ ablak lebeg6 '-J~' rögzítell-c. A Solulion Explorer p"'ld:Iul abp1ll3potban II jobb fcl56 sarokhoz ragad. mig a TooIlX>x a 001 oldalhoz. Azok~t az abl:.kok3t. amelr<~k 3 ~erkcszt6 egyik ,,,gy n\.hik oIdal1hoz l:lpadl'l:l.k, rognlN( abl"kokllok h,vJuk, c1.ek nem t:I!Gt.mak el semmit. A /eb('g6 ablakokclI.cI szemben egyik oldal hoz sem ,.~gadf):lk, lunem a többi ablak, iII'->tve a szerkesztl'iben I1that6 tartalom felcn lebegnek. é5 elta!Gt.rhatnak m~ elemeke!.. AZ abl:ikok abpértelmezett m"«'Ie m6d0:sitru.t6: ehhez vigyilk az egeret aZ ablak sn-gélye fOIé, k húzzuk a szegély! a kívánt méretlÍre_ Végül, az 3bbkok viselkedése kMéle lehet: lehetnek Olindiglidl:i16k (pimwd, vagyis JeInizÖln. iJk1"e elnln6k (unpinned. automatikusan clrqteu), 1\ fdu.Izöt! ahbkok I kl'peml'oo mar:ldn~k akkor IS. ha az egér nem feleuűk ~JI, mig az aUlOnulikusan elrej!eII ablakok ('$;Ik akkor 1~~f\.óIk. anlikor n egb' föléjük kerul, eg~:dJkém elttlnnck. Egy ablak viselkedését ugy v1ltoztathatjuk OlCg. ha a jobb fcl-!i05 sarkli.ball u!.ilható rnjzszUg ikonra !Gt.UIntunk, Én 1i.luljban a Solution Explorer. a Properties és a Toolbox ablakok~t hagyom n>indig I:íthaló állapotb:an, mívet ez.. kre gyakt:ln van szübég. és minden más ablakot e!uJn6re :illilOk. hogy feleslegesen ne foglalják a képcm}'ótef'Ületet_

3, .ln • A ViaUII Web De\J1ioptI .... II 1 71 1
AZ al>i;,kokat a feltOzben fs az elrl"jtken kiviil be ~ z;'irhatjuk, Ha egy ~bbkOl végleg el szen.'tnénk tünt(.1ni a képc.'!Tl~'ÓfÓI, -=k annyit kelJ tennilnk, hogy ~ jobb felső sarkában (a I':I.fZsZög meUett) IlILilh:tt6 X gomro kattintunk.

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.
Ha egr ablakot máshova szeretnénk helrezni, Q;;Ik kattintsunk a telejére, fs az egérgombot lenromva tart''a húzzuk az ablakot 3 kivánt helyre.

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.

a Visu:!I Weh n...",cloperhoz különféle "egédan)"'~g<:>k 6. sug6k IS í3mak. :lZ a \'Jltozat pedIg, amelyel a könyv pél<Hihoz a számitOg<'pre telepiteltOnk, tart:llrrI:Il'.Z:óI 3Z MSO:-l lil"",'}' for Visual Studio Ex~ könyvtár3t is, Az MSON I.ibr31')' ~ M'crosofl haulmas gylljteménye, amelynek lud.:íSl~rlban cikkeket, músz:,ki IddMlkal. i11e1ve a leggyakr~bban fehelt kérdésekre adott \'ábszok:u lalálunk A köo}'\1:ír megtekint~ hez e8Ys~enlen katunt$Unk a Help (Súgó) menO $e:tn;h (Kere;o;és), Content!; (Tartalotnjcgyzékl vagy Index (Targ}'nlutat6) pompr3_ M'ndhil'Ofll clinditja 3 .\lKrosoft \-isual Studio 2005 Exprcso. Editions OocumemaliOn pl'Ogr~IlJO(, amclyb61 lrimdulva \'''lIigböngészh<.'tjük a súg6t.
<;zcre~re

A \,sual Wcb Dcvcloper m:lsik haSZ/tU'> s7.01g:1halás:t a dinamikus sUgó, amelynek elf.rfst\hez a Hclp menO Oyn:omic Help pont~t kell v:ílasztanunk, Ez az azonos nc"ll ;ablakot jeleníti meg (amelyet Ilgyanúgy áthelyezllctilnk, ~tmén:teZhefÜnk és fdlüzl!ct1ink, mim b:lrmely mis ablakOl) , Ahogy II nC,'C is sugallja, a dirumikus súgó környezct(:l7.ékcny menüt jeleníl meg, an\elynek laICI lma aitól f'ilgg, hol 111unk a kurzorral a programforr.1sk6dban '':Ig)' a l ITMl-k6doon, Péld,ul h~ tl'f\'cz6 néz<.'tben vagyunk, és c8)' Buuon "ezérl6re kattintunk az oldalon, a din amikus súgó ablaka automatikusan a kÖ\,ctkcz6 súg6tém:okörök dmelt mut:lli~ • • • Buuoo Web Se""er Control (h'erview (Button webkiszolgáJ6i vezérlő - "ttckim6) I low to: Add BUlloo Web Cootl'015 10 a Web I'0IlT'IS Page (Útmu1:ltó: gomb vezérl6 hozz:íad!isa we\)e" Orl~poId:olhol) How 10: Add lmagcBuuon Web Controls to a Web Fonrui "'dge (ÚunUL:llÓ: képes gomb vczl:rl6 hou.áacUsa wcbcs űrlapokt;o!hoz)

n II r6a: • ~. ASP.HET'"
A fentiek "",Ilett rl'ndelke~ilnkre:111 a Community (Kőzössl'g) nIenil 1:1, amel)-bt..... olpn menilpontokat ta1:1lunk. mmt az A.<k II ~ion and Che<.:k QuCSlion StatUS (Ktrdéifcltcvb b a \"~1251Jll:apot ellen6r"z6;e). A n>enil a".-:;l smlg;1.l. hogy cs:u13koz' hassunk a MICJ05QfI tnlnnetes fónmcihoz. amelyet egy webböngtsz.6\"d kö;t\·etlenoll~ dérhetilnk a http', 'tOn...1 Cl"o.oft.. ~I odn dmen.
A .\IJCTQ5O/"t fórumán kMil ~ Commulllty menil mU f0!ri5hel)'ekhez ~ eszközökhö~ ~

hozz:lft'rbt nyújt, "mely"k .\oegitenek. hogy v~laSZl kapjunk kt'rd(~inkrl'. ilkl,"e hogy sablonokat. példak6dokat és \'cúrl6ket tölthessOnk le.

cIokurr.Ttkió rengetev irtIorm6ciól tINImaZ, és toribbi ISm8I1Itelet visual web Oeooelope cormuvty és Help lIl8Iliin leresml is, IZ Internetet. m6g emil is tObbl! \IWII3bri.. &demII ~ ~ • GOOgIe MicroaofI·~ $llIkQ5Odott keres6jít. htlp, I , _ .gc "Ille. (0:#41 .1cl"o.oft. ht .. l clmlo. Ez az egv«oi kents60ldal csak olylll tal6latokat ad VISWI, amelyek a Microsoft lechnoI6gi6MI " term6klivel kapaolatosat, amelyek révén IlLtIIheIjúk I breMsl," könnyebben ~ amit ~

Bir •

~ ~

szerezne"" •

Összefoglalás
hogy ré<zlctesebben meglsmerkedJilnk ~ Visual Wdl DevcJo. 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.

Ezt az ör:It "".-:;I

~"clntuk.

1:ll6uör mellnéZlOk. hogyan hozhatunk létre es nynhalunk meg webhctyeket a V.sual Web I)eo.·clopt'fben. MegtudlUk , hogya \\"ebhdyck khetnek hclybc::n, a ~j.il stimil6gépilnkOn, illetve (j,·oI, cg)' .... ebg.:l.w.a ci'gnél eltlet)·e;t\"e. A Visual Web De>'eIoper mind ~ hd)"l . rmnd" (jvoli ".. ebhclyekkd \1116 munlú.t egyszen.l\'t lC!oZl. b még ...'SY
könn)"llsUl)"lI, beépiten .....ebkisw1gi161 Is tarullr"iUZ. amri)" ld~~ ~"..,.~ XP Home ~ h:uwt6 fejlcszt6knck. hogy helyben klJlf"ÓWlhaSS;\k ASP ....'U ....elJhelyciket. l'ersze miU!~n létrehoztuk 3 webhel)"ct , tOY.ibbi fájlokal b mapp:lkal 57.emnértk hou.iadni - en körll1y;ti IlJeg a 'iolulion Explorer. A IeckiH>en:l.ll islTiol'"!fo·,zsgilluk. hogpn wab/l;ltJuk le:;I.~ a feíleszt6kÖfn)'etttel az OptIOnS ~rbes~éd:obl3k seg.t.s<:"gé\·cI. illetve hogy mikált heI)....~hetjtlk nwho\"~ és méretezhetjlik ji II killilnrt:Jc abbkolc:II. A fqewo=!. ,~I II \"i5u:i.1 Web De\~1oper lx-é-plten $Il~k gyt:>r$ ~ttd<inteséVeI tirtuk .u In rn.egismcrt dmamikus SÚgÓ! ki.lI6n~ az ASP. NET·u:1 még csak !l1()!;{ Ismo:."fked6 fCJIC!l7.l6k lal:ilhalj1k
h:uZf"l()6ll~k

Az eddigi lecklik során sok tt'm::ikörl körbejfuunk. Megismenük az ASP.1'.'ET múkl'xlé-

5ének aLapj:lit él; a'\'E'T kerctrcodszert; ez utóbbit telep;tenük il; a \~l.SUJl Web De\'.,.. !openel él; az SQL Ser\'ef 200S Expre.o;:< Edilionnel együtt; ízekre ...:o:dtük az ASP,"'ET programozási modt'Ujet, elkkzitem1k első weboldalunkat. amelyhez IrrML-k6dot. webes vettrl6ket és kiszoIg!il6oldaH programforr:l5k6doc is munk; é:s relf~'(\eztük a Visual Web DeveIopen. Most már készen állunk (:gy össo:eteuebb ASP,NIT weboldal r"'épit(is(ire, amire II kóvClkez6 6r:lban kCfÍriink son. tehál hamafQlan alkabmlllk n}ilik. hogya gya_ korl:itban is kipróWljuk és a helyílkre tegyük az ds6 három 6r:\oon nql'5Illen. kulcsfOlllos.s:igü "'emeket.

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 "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 Ilmyegé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.

\\,'(.'b

De-veloper .segitségével. Ahhoz. hogyawebhely kt'pes Ieg)'en mll'k:ödni

14 11 rWz' ~ vASf'.NET-bII .

Ismét16 kérdések
1. Ká helyi és ká tlvoli
2.
~r láe7Jk. ame1rekkell6rehozhamnk '~d~' mt:gnyit· ruotl.lnk egy webhelye1. melrik ez a n~ rn6d.s.zei! .Az ilS az Internet Infol1l\ation Service TÖvidit6e. amely a Microsoft webkiszolg:iló szoftver.-," Igaz "agy hami$.' .Az ASP.t\'ET Development Wel, Server é!; az ilS ugy:maz." Ig3Z ,.... gy hamis? 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? MIk az előnrei é~ hltrinra!" webes ve~n6k {$ a IITMI.--elemek ~b,;zoh:'t ell le Ire.re.é nek'

3. 4.

5.

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-

" .· 1 15
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

ASP.NET weboldalak tervezése, létrehozása és tesztelése
• egy pl'nzilgyi ~mol~p fm:gte,verew, • A rclhasm!ilói fdillet kiabkíús:l • A sz(jkséges webe$ ~'~0'rl6k hozziadiSl al ASPNJ::T okbLhm • lU. ASPSE'T okbl fOfTiskód resztnek megírba
• lU. ASpSE'f ...-ebokbl k,pr6b:itas:.

.u elmúli hjlQlTl ór:lt»n meglchet& ;iltalánossigban - Vis1D1l1 elég h05ua$ln - beSZtItu nk 32 A.~I':-JET webold.dakr61, ~~ ASP.1'o'lIT progr:utlQ1.asl modelljéről, illetve ~ Vlsu~1

MegL'IIluhuk, hogy:m lllíthatjuk be a ~mfl6gépünket ASI',V'IT .,kblJk ki$zoIgilhirJ. és ~lt"kintetIOk a wt"bkiszolg.11ó ~....... -péI, ,.. [ammt Jl ASI' "-'ET ..I<.bl~k HTML k fonisk6d ~ Ez ulli.n elkés2:ftetlűnk ntldny igen egy~enl A$PSn oldalt, és Linuk. hO~O';ln JumúJh:uruk erre a t'!lrJ a VISUaL \'IO'eb [)eo,'\->Iopo:n 'Ccb

DI:veloperről,

7I l l..-z· ~ III ASI'.NEl....
Il:tlrn ~ Icd<:d>ro ~ l:UluJUUt átoJllcI,uk ~ s>"koruuba. (os megni'l2tik ]"-'8)' tén~'~ mtkblt i:!. z.aihk egy ö:s.szeI.ettebb, Il35ZIl()J ASI':'\'ET ...'ebokb] rnegI .......,~L..." fdl1',!6e ~ kl~. Kortkr.'un egy OIPn okbh fogunk elkÍ'5Zltcnl, ~md~' penl'illt)l '!1..;1l1lo!ógcpkf:nt ha~noittr.l,6.

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

qn.' duu"úkw; webokbl-.

clO'lilt IUrmilyen szolhcn IS h'$tili1nk -Iegrcn n egy as2;I:I.li Wir><Jo,..·.... ~lbl,,\;I1J.s "~gy ~ 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 ..... kdl imunk II kódot. ' ...·gi.1I PC.'dIg ki kcU lUI próbálnunk és ki kell I'I'-iununk rtunden h",;it

mcs

tcirom suus~.tI - a ,.....-etet. a fqlesztéll és a te<Ztdbt - nllnden ASI'!'OI:."T ...ebo!cbl eset;!ben el kell \<''8''''l.r1l. dl' II fql=6k SlIf>05 gramn nem Jk\om:I.k el"g id6I a len..,z6re, és rOgIOn II k6úoljs.~1 keubk. A ~Jctj N>rt>('ZI$~~ a kÓ\-·ctkel6k m... " léúontosságll
A munk;i""k el1
~

• II len kijelöli a S1.ofI,,·r elk6LIl~nek n~netrt:nd;& 1-13 van 1IlC'netr-en..l!lnk. ~ közben l.ilh3t]uk. meddig jutottunk, és mi az, amil ~II el kcll

\'tgezn!lnk_ A ICI'\- ponloe.an Icirja, mUy..", k~gekkd ken nujd r.endelk"wlc
II

s:mf!,-emek.

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

Ha nem SZDri; eIéQ id61 a terve.,. nem Ieszíri. képe$ek I fónökiinknek sem v6IaszOOi az olyan kMcliseks •• ",..11 .Mervtyi ideig fog 12 lartaniT vagy a . HoIliIrI i fejlHllésr. A ~övelelm6nyek ~stliJinak öuzdlWtása - ami "'alában s.zinl6n a tervmsi szaasz .gyik feladata - .melen abban is segit, hogy kés6btl III lBgY9!l fé/rvértés. n 1 f6tdünt vagy az ügyftl ne UrHS8!1 O/YM szcIgiltai&$ObI a pr~. anVtveneket nem szMdékozttri:. beleép/teni.

A ler\'o:zt:si 5<::Ik35Zban 31 egyik rOOlOO rc:bdA az a~ ~endő uoIgiluw· 501c 1I!t.;Il-illllk ~nítisa Edd'8 a.ak ~nnylt mondtunk, hogy ~- pmrugp wmoló-

StP<-'t fogunk készíteni, de amuk konkril:

k<.,~( rntg ""'" ~luk fd III lZ

odeie'

4. 6n • ASP.NEl wat.W.Ialalt ttrvIIl6u. 16tr.noáN 61 '"ZI 11.1 11'9
Sl1imol6gépilnk egy hitdkallruL1tor Ielz. amely egy nx kam:uol1isú jell1iJoghit<."1 havi törle<zU'II'l."-szletdl számitp ki. Ehhez h~rom Uem .. oo adaIra le5z szük'légünk' • 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 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.
tnI.'g

A felhasználói felület mogtorvozése
meglutJ.roztuk, IIOSY milyen szoIg:íltat!isokat k..1I nyújtania az alkal!l1:lz:'ísnak, a követke;u'j: Itpés. hogy dkészíl$ilk a felhaszn:llói felületet. men ez az. am;n kerew.ül a fclhanMl6 kapcsol3toolep a programmal. A k~rdések . amelyeket fel kl:lI tennünk, Jmikor megtervezzilk 3 felületet. a kö\'etkez6k: Hogyan fogia 3 felhasZIÚlló 1Je\'inni 32 adatokat! Ilogpn ,...Ienítjük 1TI(.'g az eredm&nyt?
MJUt~n

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.

A 4.1. :'ibrlln megtekinthetlük. hogylIn
.iZ

rest ~ pénzílgyi számológl'pet mGködtet6

ASP.:--'!:' weboldal. amikor egy felhasználó d&zőr Utoga'P meg. Megn~lYdhetJük adatokat fogadó h~rom .~zö'·egmezöt. 6; l~thatjuk an is. hogy u oId:llalj:in egy Compu'c MomhJy cost ( H:"'i \örleszt6ré.sz!"t kisliimí!:isa) feliratú gomb szerepel. amclrre a 5z{lkséges adnok meg~d1sa ut:in kel! kat1inlllni.

-----

-

4.1. 'ln
Ajdluu::náMl61 Mro.., tuku
b<~i'c/'"

kbj'lk

80

II mz · lIrnerttd6S azASP.NET-tII
A 4.2. ~brán a 5~mol6g(:pet már az ulán láth:ujuk. hogy a felhaliln:H6 be\'1I1e az adatokat és a Com""te Monthly cos! gcxnrna kau.intou. Mcgfigy.-lh~jilk. h(>gr a kimenet tblylcg a llltel havi törlcszt6részk-tét mutat):!

o-·.-'.~,·;"-

__ o - - - !2..

---

4.2. iIIn
"uámoMst'P nlegrnjj/(l/j(I a j<-Irálosllildlln • 00,1 /(Jrl~k-I~I

.... __ .. _.1'.....''''''''

A Y.iimit. eredményének megjeleoitbthez egy i;lbel (ClmkcJ '-czmön' Ie:>z .sli.lk$éh günk az ASi'':':!:, olOOlon. Ebben jelenik majd meg" kimenet. ezért" címkét pontooan oda kell helyemilnk. ahol meg sze",-ml'nk jelenitem aZ eredml·n}1. Allog)' a 4.2. Um.róI bts7Jk, a .z.!imolÓS<-'pünk 3 bev,!('1j mezők abu mut:llja a ki$z.!irnítou tooeszt6rl-szletc'

Webalkalmazllsaink lelltasználói lelületét lIYor~ f~ázoIJatjut a Visual Web DeVeIOPer grafikus terv8lÓ r.ézetében, de ha JObban kedveljUk 8 régi, jól bevat
módszefeket - V811Y éppen áTlltl1Sliinet van _, papln 's ceruzit is foghatunk, hogy megtefVelZÜk a !eliMtat,

A felhasználói felület kialakftása
MOS(. hogy befcíczn1k a tervczbc. (:s e1döntöu.ilk. hogy mire kell
m~id

képesnek lennie

I*nzilgyi szlmol~pOnknek és milyen felillel.et kell nYÚltania a fclha5zn~l6knak , iu az ideje, hog)' tC."ylegesen elkezdjilk clk~tení ASP.NEl' weboltl:1lunk:l.t. 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.

A számftásokllt V1ÍgrehajtÓ forráskódot a felhasmálói felület kialakrtása után Irjuk m8~

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,

Ahárom rextBox vezér16 _""ása
Eh6 J('fll'sketu Ta160x 1~'egme!6) "emiókb61 t'I~fUk a h;Írom bC'.-llt'l, me7.Ó!, A Teln!JoJ< ,,-ebe:-; ,-ezrrllit I'l'Iég nem ti.gplruk. dc nincs IloO\I1e >enim; kiJk'loö!.,
A 2 fqe«tben UtűU Inlólgl' b Labd 'czcrl6khöz hal":)l\lÓIlrl keU hoUá2dni u old:dho;t; I~gn "~gy 500= nezl."lhen eg)~~"1'Úen hÍlzzuk a Toolbox pnlen:í.ról az okblra \1<UI.ln ~ \czér16 aZ oIdáln k('f\1h. II I'rope:tJl'S (Tulat<!oru;;lgok) ablakl);ln be;lllilh~IIUk a IUla]t\on.<;ig~ i( (de fon-:1s nl'ZeWen közvedcnOlls beirhalluk őke!. ha Jobh~n I~"l..,.ik),

fgy dOIQOt lomo. ~tenilrt. Arnitor feIIISmj6j bemellltet fogadó webes Vemt6Ut - Tex1Box. RIdiOBUttOn, 0r0pI)0wrUs1, Buuon stb. - lIdI.nt l/l( OIdaIiOl, ambIlIl OICIiI ~ rtwl'oen UI eIlItYeZni"ri. ami nem mú.

·.rve.,,·,.-n.lilt8IV8l6 Mletben húnri. velI6ri6ttIlIl oldalra. WTlllltI nem UI ~ "*'- I ~ IUtomatibJsan I m.gIe1e16 helyre ~ lon'6s I1Úetben azonban ~ hl, hogy I <fono t"Unat • ~erver· ~ (js a riK6 < 't "o> tlmb ~özé kerülJ8fI8Io;. Art, hogy ez miM I6tfontosdgú, 8 9, flljellltber1 t6rgyaljuk rftzletaSllf'l.

mintI2. 1etelem.n~m <i

0"'0 -...t

f.!Jcl6tt "'gy TeXlBax ,'cHriI5t az oIdáln helyeznénk. ~ ~k meg a rl'lir-~I.ot \tl\d az d!;6 bevuch mc-zo!ibe II jelzllogho«.~ ~ kell imi. ~ FL, ""_',.olC.. I_: Jt<"lr upx okbl tenwi'l rM'zrteh= ~k be a Pr nciP<'1 AoIIOU"It, "}1IÓ~) SlÖ\'l'go:l

A felirat ~s:I uUn clhel)"czhct]Ok a ,-ezérl6t f!Idojro.- g}"&&I]ünk mcg rob, hogy ~ Toolbox p:lle'ltI Web Conlrol~ Lapp! \~IaszIOItuk. m;ojd a p;ilcttáról húuunk egy TCXIBoJ< \'ezérl6t a Pr im:i~l Alt>:>UIlt;, fehrJt nlllg(o, A k~pt'm)'6nknek ekkor ~ -[ :\, 11rln kell h:c;onlitln~

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, .".... cit Il'fII'íIOdiaI vMusd lll: I Mzelet, enWti...

" .. ~

e ' " " eleplsMet,

)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.

. ' = \" meg: I _ _ _ ..okban ~6 propertiet .tIIIIi:~, majd ,n ~ . . . ..,. meg lI8I'll " tjuk III ID uoIljdondgot (el az. amil módoslt.ld: UlI" 'Ilt9o Ilogy I tuIIjdons.6oIiS16b1n IZ 10 tulajdondg "'...
A webes VeZíIrt6k 10 ~ • követtellSb, 1
Urmtstri:_~.howvl~"

..

,

FVf.,..

Mo6c ;adjuk az okblhw. a la.nutbbat megluu~, n,_" . _I: be.Rt J.úJunk el ugyanúgy. mont az dőz6 TextBox ,~zerl6 e.etd:oen ...• ~~..vtx adjul:. meg J SZÖ'o.egmeZŐ fe~nu.1 (ez legyen Annu.a1 Interee' "1 e •• ' ...gy. É_ ka dib), oruoid az egtm.:1 fO!!)Unk meg egy Textlk>l( elemel. él cJ\.\.Uk az ~ ldIr-~t mögé. végOl pedig m6doo;ilSUk a sz/y,CsmeLÖ 31:01lO5ít6j;\1 Ute·'" ~

az utolX, Il<:\·tdi~. and)n, a felhasznalónak a Intel ful<UlUdqét kell beirnill lnuk be a Konga ~. 1\ lurd fuClRuJqe) szŐ"·egt.'I,"""id h':'zzunk RW)&f egy TenBox '·C":!:crió Ennek az de r.d< az azono6i16j::1
~dlk '''g)i!;

Ez ut.J.n ko..·elkezht'l a

legyal MOrt\lllgeLellgth.

&dtmes lehet monden beY1te~ mez6 mög6 beim IZ ~ .l~ I mez6 ~ ártand6.1gy • I~t ~1jUt. howv II1II ..... fIlI!IIIbt. lU. ............1 Int"r.n ltate l!Wl6 utín P'IdiU t..hInri; egy lÁZ !fI"tle~
hogy lleiIesmM6luc1j1t. hogy itt. ui! "kbIn irten ~ UI Sl8I"BpIIrat• • Martga;, Length mez6 utá1 padio. j'M'S ("'I szót. Emtet. ~t .4.4. étrin lálkltt;uk.
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 A u. iIbra I ~ . . . .oo III ~n betútlpt.sll tnItItja. cit. HTML rész stb,! mbadon alakJthatjUk. és • proptroes lIIlW.On keresztij nyuoodtan m6d0SfthltjUk maguknat I TaxtBox v8lérl6k~ I batútlpusát. sziné!, ~lyét és ma IliIemz6it 1$.

4.6rI • ASP.NET W9Ildd ' , t8rvaáH, 16tnIholáA 6s1nz1 III i I 83

• , • .tur:. •.


__ "11. _.

...-- ..

••
II /en~"ZÓ 'W;:CI.

mim""

_.='

"'{/Id" lulrom Tm:/&tt '.CI",'riój' "" o"ud/K»: ad",/t

A havi tör1eszt6részletet kiszámft6 gomb hozzáadása
beírta az aWlokat" hároOl ,ző\·cgmcz6be. az aauok alapj.1n el kdl '· ... geznunk a szimíhiso:. Ahogy azonb~n az l. fejeZt.'1ben említt.'1tük. ekkor az ugyfél l;itogat6 webböngész6je) és a ki51;o/g:l16 (u ASP.1\"ET oId:J1t feldolgOl-Ó swft"cr)
M1u~n

II

fe!haszn~16

)zött

~!Olene\ilcg

fiZIkailag és logikailag is rneg.szakad II kapoola1.

.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 $ZlimiQt 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 .

egy HTML-llrlapon (<f<> no» keres1.\ul küldi el a be\·,n adatokat II .....ebkl57.olp.lónak EZ! a folyaffi3tOl eg)" elkiild6 gomb imJitj:l cl; II (elhaszrull6n~k erre kell
.U (8){"'1

k.oUtnt:J.nia. Al ASP./'.'"ET weboldalhol ez6t egy Button webes vez:6:l61 kell adnunk.

A falhasznilói &datoknak a megfelelO WebOIdaI!OZ való visszalunat/dról a bön{/ész6, iRem az ASP.NET oldal és vereoői által előállilon HTML kód automatikusan gondoskodik. Enoe/::; ill alacsonyszintű eljmnak 8 mélyebb ismerete nem követelmény, de nem árt, ha IeQalább nagy vonalakbilll tisztábilll vagytft. vele. Egyel6re azonbilll tudjuk be var6zslatnak, és r.e loglalkomu1il: e ktrdessel; 8 felhilSlllilói adatok ö&SllIgyújtéséntlk tis laIdol'lJlllsának mikéntjére ~ visszattifüllk 8 9. fejezetben.
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 1 r6sz • lSmIrUCIM II ASP.NEJ-t.! L
lassuk a Text lula;donságOl COIDPute lIonthly C08t-"', Ug)";lniU nt: tClC!15ük CI megvahozurni a gomb ID lul3;dons:'\gjt scm - amely ~ PropeniC!i ~bl3kban IlD! -kém jelenik meg - az abpértelmelCtl Suttonl-róI performC.o.le-r.\ (v(ogrch~IISzjmílh).
A képemy6nkön ekkor ''lII~mi olyas'm! kell bmunk. nllnl aLS :.Ib,...in.

4.5. h
Ar ()/da} I'/I;V 8111/(m <'I!ZérlÓ

hou,ltuitlSll ma"

A kimenet megjelenftése egy cfmke vezér16ben
felh:l5wáJói (ciiilet utolsó eleme, amel)e\ mé-g aZ oJdalhoz kell adnunk. Cg)' L:ibel ,,'ebes \"Cztrl6. amel}'L't a stimíLís eteclm(,nyenck megjelenítésére h:lsacihmk ""vel " kiment'! (il hilelll:1\'i tör1eo<Z16reszJele) ebben az elemben jelenik meg, a cimkét 011 kell elhdycwünk. ahol U eredmén)1 aZ oId:dQf,I:imi szeretnénk. Ha azt szeretnénk. hogy a kimenet az ASP \lET oldal alján jelen)Cf1 meg. egyszeruen húzzuk II !.Ibel \"ezn161 a m~r rnegl<",,6 1::111,,10111 v~l.re II tL'lVez6ben, Ha Inkább II lap telejétI "karjuk l;im, n eredményt. a címkét ej!5ük n eddigi tartalom dé,
A

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,

.,.

, ..d." _
~~.-

.,,''';4:1/ . .0.

. __ ....... --._,...

--_o" --' ...r '

' n

.. -,:.: . - __ - --,
•.

--~

'-.,.--- ,
'U.

•••
.1. ,.
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 felhaszruiló 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(lons: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. Miutin töröltük a dmkc Text tulajdonságának ~nék(1, a tcnezl'l a '·c1.érlllben annak 10 tulajclonság;\,t mmalia, szöglel~ clr6jelekkel körbefug-.':!. A dmke azollOSilója jelenleg loIobell, vagps a lef\:ezGben a I Labelll felirnlot kelll;\,munk a dmk&en MÓ<:k>IiilSuk az aZOflos;lÓ( Labell-r6l re.ults-ra (en::dnl(,ny), igya ler...... zl'lbcn a (results] felirat jelenik mcg. A ...ezerlfl aZOl\06it6j~nak módosit;1s;, ul:ín 31. oldal valahogy úgy fes! majd , rrum ahogy a 4.7_ ~brán limaIjuk.

4.7. tibnt
A La/Jel ,..".,,/6 azonlJil/oj<'IJ

Jesu/u".,'Q m6twilOlt"J.

A felhasználói felület teljessé tétele
E1kt.-m.iltiink a fe!l~I6r felület l(1fonloss:lgíi rész .. ivel Ha tovibbi elemekkel S:ZCrelnbtk kiegészíteni a fdül.'H.1. példiul egy félkövér, középre igaZÍtott dnlSOft ~7.Cr(:tnénk eihd)'czni a lap K1ejé-n. vagy rövid h:ui'.llalati utasítJ!ol sz.,n:tnénk mc]J"kelni ~ felhasz· nálónak. nyugodlan megtchetjilk.
lU,

ASPNET wdxlldalln'Mi r6zének clké$.ziti.-sc Uün jöhel a fomlsk6d ,b;Z
ól

mcgfnlsa -

kÓ"".1kez6kben .. uel fogblkozunk.

Az. ASP.NET oldal forrásk6djának megfrása
MQI;\. hog)' befejeztiik n ASPSI:'T 01001 HTML rb:>:ét. csak a forr.'io.kód =rndl hátrJ_ Ez a kód fogj:!. beol"asru a fdhaszrú16 ilu! be\',tI a,blok~t és elvi:gczni a szilks.:;ges számitásokal, hogy fllegkapjuk a 1e!1!iloghilel ha,-i lörlesnó,kz!et{1.

961l ráz • lInWUd6S IlASP.NET-1II
A 2. fejezelbcn megJsmcnük az ASI'_:>'U oldalak !.oall eseményét és az aMak mcgfclcl6 page_Load esemén~·kezel6t. Ez az esemen)·kczel(';. amelye! aZ ASP.N"" okbJ forclskócl részéhen kell elhel)'CwOnk, minden. alkalomm;ll leful, amikor a weboldalt belöltik Mi ncm chbe az eseménykezel6be fogjuk tenn; a lörles<:u'Sre~Ie\e\ ki$ZámílÓ kódot. men 3 sz:1míctst addig!X'm sa'"rdnffik t'lvé-gezni. amíg a felhaszn:l16 meg nem adta a hnelö:sszeget. a k:unat.tibat és a fut:lmidő!. ille!\'c a Compute Monthly cost 8<Xnbra n.:m )(au;nloo.
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. A Visual Web J)eo..·eloperhen rendkilfill t'gyS.len1I<'l.rehozni egy gomb Cl iek escmén~·ét. A leggyorsabb, ha le.."ezŐ né7.e1.ben egyszenlen dupl~n kamnlllnk a Buuan "ezérióre Ez aUIOffi."ltikusan létrel>ozza a ~zükJ;éges e5effiénykezel6t. ts az oIdol f0rTá5kód részére lIgrik. ahol II következ15 kódo( kelJ 1~1nunk:
panial Ch .. FinonciolCalculotor
Inheriu Sy't_.web.IH.Page Prot .. etl!:'d Sub ~rfonllCalC_Cl!<:~lIlyVal B"nd"r AB ObJ""Ct. ByV"l e AB _ Sy8t_.Ev.n~Arg-.) l!a.ndl". perfonacalc.Cllck End Sub bld Clau

A Hullan ",elles

\'e~rl6knek

Megfigyel!K'tjilk. hogy a fent; e;;ernffiyk~'"ZC16 neve ""rfo~alc_Click, AZ ~ményke­ zcl6lc nt:vénck ~!w.l!inos fOl"l1Úja a \rlSUal Web Dcveloperbcn l1Of'Ib<I",onoBitÓ_Cll.ck. ahol a gombazonosíIÓ a UUUQ<l ,..,ren,'l ID lulajdt:>ns;;lg;1.n:l.k énéke. (EmI.'kezziink vissu. hogy miután a gombot az okblho<: adtuk. a ,=éri<> ID tub.;donság:lt Buttonl -r6I perfo<1llCa le-ra fllÓÓo<'Jtoouk.) Ugyal1l'Z! al esctnenykezcl& :I forr.lskód részben is Jt'trehozhaljuk !lt felUl kd lenyll6 li:;tál t:llilunk- ~ bal oh:biiból '-:lla~k ki a Hutlon "ezénÓ!. (perfonoCalc). a;obb oldoliból pedig a Cliek esemén,1. A CIkk elem ki,oíbs:zl1sa után automaüku');ln !(>{rcjön a perfonnCalc gomb CIick C5Cn~nyének kezelője. ugy:lnazzal a kóddal. mim amit akkor l:ittunk, amikor- dupl.1n k:ll!;mOltunk a goml:Jr.i 3 tcn-ezl') nézetben. Bármilyen kódo!. i~ írjunk 3Z eseménykczcl~, az minek.,., alkalommal végrcll:ljtódik. amikor a felhaszn116 a perfonoCele gombra katunt Mivel a havi törlCS1;t6részletet akkor szeretn~llk kiszámítt:ltni. amikor a fclhasm:l.ló erre a geml"" bilini. a s7.á m;tist el,"~ kódot a perfonoCalc_Cllck e:;eménykezeJ6be ifjuk.

_ ___________--.!"." . '!!.:·~AS""P.~N~ET~·..."eb"dI",~IIIIk~, l6tnI/IOáSI á I8iZI l' j 87

A szövegmez6k értékeinek ~olvasás.
A jelz.~logIlI!el havi tÖl'lcszt6réslJelének ki1;z:im!tá..\áooz el&ror képesnek kelllennilnk arr:!, hogy IDeg1lJapítsuk, milyen énékeket irt a feIJ1:lSzn116 ahirom TenBC!x \'ez.:".lőbe. Miel..,u mesn"znék ~Z értékek kiol"~l .. Ivégző kódot, Il!pjünk ,-i»za cgy percre, és ;SI1>é1e1jük ~t a webe5 ve~.érl6k müköo:l6f:t, ;unelp'l. ~ 2 fejeu,tben m!ir rövKk-n t'nntcuilnk. Emléke:thetolnk rá, hogy amikor aZ AS P.I\'l::l·rnolor feldolgoz egy ASI',NET wel:>okbh, a ".~ \'ewrl6kCl m;'isk<"pp kezeh. mint a 5whcány06 IITMlrelemekCl. A »l"tikus IITML-Wrtalom az ASP.NET-moIort61 közvC1knül, minden fordiL'is "Nkül a "ebkiszolgo116hoz ketOl. II \\d:.es vezérl6kt.'t nooban a nlOlor szab,,,n)'O:i HT~I L·kódd:i ala kitj:l.. A Sl:íflfal~k mögőlt \":d6jab:ln az tön""ik, hogy létrejön cs)' a wcbes veztrl61 ábrozo16 objektum, abból U o:u:l~lyb61, a melyik me/,..felel az adott v~'zái6nek A TextBox '"Crerl6khöz példiul a TextBalt 05Zt:ily egy"'-'gy p&1IJ"J'i l !;anonk. míg ;l Label "",zl.,.l6\< pBdlwyosilástl a !;tbc) 05zt;ilyb6! lönt:nik

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.
MinOcn vczérl60sztilynak különféle tulai<Jons!igai va nnak , allX'lyek 1eÍf);lk ;l vezérlő ~ll3poúl. A TextBox OIQtilynak például rJn egy ColUJllfls ( H~lx.>k) tulai<Jons;1ga. amely n t adp meg, hány haúbból ~1l3 szövegmez6: ennek k a l.llbel osztályna k pedig egramm 1(1ellk Text tuL:.jdorWga , amelyben II ",,'zénó nővegt:lrtalncll adh.1ljuk
m<g.

A webes ~k tulaj~, tagfiiggvényeinek és eseményeinek teljas listáját leirással b péklékkal együtt mBgtaláljuk a Visual Web 0eveI0p1lr súg6jában. Ha bekllpcsoltuk Bdinamilus súgót, &lég arra Bvererl6fe kattint8lJ.1nk, amelyrő/ többet Sl8/atnénk megludni, /is a dinamikus SUgÓ ablak6ban megjelennek 8 vezérl6hii1 kapcsol6dó műszaki leírások, cillik /is más anysgof:; hivatl::odsai.
A webes vezérl6k legf6bb előnye, hogy a lulajdons;\gaik eléThCl6k az ASP,NIT ",eboIdalak fomhkód r6zéb6L il.llvel a TcnHox vezérlő Text lul:ljdorWga ptkUul ;I beviteli mez6 szö.,'egéll:lrtalnuzza, ha erre;l lulajdons!igr~ hiv-dtkozunk II Compule Momhly cost gomb Click ewmény{:nek kezel6j{:l>en, megll:'I<iro7.h;ujuk, llOg)' milyen értéket ín a rel!\.iIsm<i16 1I~ egyes mez6kbe.

A Mortgage Amounl szövegmez6 t"rtt"kl'\ pl'ldául alal!lbbi k6dsorr~1 olvashatjuk ki,
lo.onAmount, TIOxt

I L 1Wz

' ~ III ASP.HET.....

Amikor- u A$P.!\U-nIOlOl' Idrehm qo' ot".,ktulTlOl egy ,'ez.:'J'I6hOz. ~ '''2':'..-16 lD ruLaidons:iga ~lap)Jn ad no:k, 1lC'-eI. Mwel a Mnngage AmQUm be',lch me16 ~lOf'I<.bitóp
lOll.nAmOunl, az ";CI a \'e~(K M>r.l.wl6 oI>I<'ktum ~ a 10000nAmount n",",,1 k:lPIJ, az objeklum Text \ul~j<k>ns.lg!il leh..11 ~ l~nAraount .Tex t- furndb::m MICljílk el

Ne ~,!wI az obJektoolllAidon~ ~ kódolb. n"v nem telfHen viIiQos. AVISUli8asJc ~ III 5-7. fatezBtetben mzlttesebben fogi 'on'" ma,d.

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, a perfo .... :ol, gomb' _ "esemm)' kezel6jd>e

rew. magunknak kell bcirnunk

Ne IeledjUk.Ilogy I 4.1 . pé'd'OlIIl6tllM6 sorszimozást /I11III NIIOad bWnUN.. Ezek ,1OfSlámOk csak aztrt kIii ...._ I kódban. hogy megt~, hMtkolMt az tQV8S k6dsOfokra, amikDf elemwük I programot. Ezen kMillrn i. am"'uuhetímk, hogy az IntetiSense $89ft I \UIotdOnHgnavek befrúábM, b figy~menel !WI valamilyen proCIéma VIII I k6ddel. Például amikor , _I'IAIO .ln'· bIYltBli!Tlell! T.,,,t ~ twllkozlri;, l l, , ........ unt. Text k:mIM k..w ~ CM lmIII bftjI.*.. pontI,) kanl<.1lIrt. ~",anAI :.unt ~ 1I1f9I1ei. egy III1yI6lista , Text80x weba VtZWI6 .Mttwt6 ~ és tagIiWo~MI. EI6g bem.ri.. kMnt 1IAap;M ...... vtq( ~ """., • .!só ~ betíitét éslll1yorrD I TAl bIII1tYÚt. és, ~ .. torn.tikusII1 kiIIgéSlíb az elem nMt. AmemYibII1 • ktnYIÓ lisll /I11III JIIanik meg. tUCIlatII*. hOVY Va6IWM Hor!loltld. ~ eIirtUt B .... nAn, ~u " newt. vagy eIf.~etti:t I mtgl~ TextBox ~ lD tulajdonUg6t l04M!b<>unt·ra áIIta-li.

:, ,. 4,

Partlal

'ic..",dalcalcu!u, . , Sy.t• . Web.'JI .Pa!le
perfo....calc-'ll,·~

prol..,t,'" SUb

•• ,. •• ,.

!,

_ gy_t_._tAr'llsl Kandi", 'Alland6k .."!>at'rou,,...
",n"t
m~t fAYMENTS_PER_V~

""rf{l....c:al~. ~II,

lIyVal.-ender AI!. It
lnt"'ll"r II

1.:1:

lIyV.l. lia

11l'lDEST_CALCS_P~~_Yi:AR A~

As lnt ....... t

12

'V41toz6k lo!trehoú ... ~ t .. lhauMl6 4Ital W9~do., 'rt'k"k _ t'ToUdra 111 .... l»ubl. ~1."I'at; Dl.. r "Ol IlOubl.. nt e,"'" , II !. ..... louhle IIIOct'llag"LCI9th. 'fm«:

ll: 14 : 15:
,",

Di~ ratePerPeriOd A8 DoUble ratePerP<!rlOd .. r I Im'ElIEST_CALCS_H1LYUR

17,
18,

Di", payPerioda ... ~ Inteoger p"yPedods .. t • FAYMEN'TS_PtP._YV.P Dim "nnualRat .. As !l<Jubl" annualRata = Math.E:<pIINTERF.S"l'_CAI.CS_ PER-YBAR • _ r"tel'erP~riOd))

19,
20: H:
M~th.!..oqll

Dl .. intl'erPar-nt ..... Do<.Lbl" intP<!rpayment • IMath.E><pIMath.LoglannualRate + 11 f _ payPe<i<Xb.) - 1) • ","yPeriods
25: 26: 27:

'A hitel törleut6rhzlet.!:nek klu4altAu Dl .. intl'erlolOnth M DoUble ~ intl'erp"y.ent I PAYMDlTSYIl:ILYEAlI
Di,. costPHlIonth As Doubl .. co.tPerllontb = P • intl'erMonth _ l. -payPeri0d.91

28:
29,

,

30 :
]l:

I

n

M"th.Pow(lntPerl!Qnth •

12:

33:

' ... ~

er~ny ~jel.njt.!:aa

" resulta

H:
35,

n.~u1t~.'l'eKt

• 'Your ...tt\l~\l"

""yrwn'

cl~.!:ben

per "..",th h

S' ,

co~tl'erM(}nth _ End sub

16, End Claa"

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 logIalkolUllk, ft az 5·7. tejezetbeo mélyebben meglSmefjiik a Visual Basic nytIlvtilOát is.
A havi IMeszt6részlet kiszám~áslka hasmá/t millematikili egyenletBt megtalálhatllk
a http://www . faq". or<:l/ faQ"/eci-math· feqt <>mpoulldlllte.eet. az egyenletek mé~bb tárgyalás.a pedig a http,llpeople.hofBtn•. edu, faculty I Sta f en....Waner fReal WOrld! SllmIIIlI.rylO . html címen.

\10 L NR • • •• UdM. ASP.HET-liiI

I

A pénzügyi számológép kipróbálása
MOSl, hogy elkl'YOIHlnk a~ ASP:[\,'ET wchokbl tn'ML b fom'iskM rtn!",el, in:lZ idere,

1>OgY kipr6b1ltuk " péntilgyi mmol6gépOnkct TőllSOk be az old~lt a bllngtw5hc a Debug menO Stan Wlthout Dcbugging par:mcd\':óll (VlIgy a CTa.L+f'j b1l1enl)'ll' lenyonús;ivat), ~IIU Id"orditta :lZ ASP,:'Io'ET oldal f~ód re,zi-t, dindílF' a ".~ b betöki a financi a lCal, "l" to.- . ...."" oldal •.

A SIIft DebUggIng parancs 1II1Of!i1Jl1Z ASP:NET oldal fooúk6d rúz6L 1Iwldit,a BYJSUI! web O.VtIOPer hibakerls6jM j.w.IQger), js betólb IZ oldalt llKin!I'sz6be. A SIIft Without DeblJ!t'illllll eZHI mmben MIé/tüIlorditja le Bkódot il lóIti be llKin!I'sz6ba, hDVV elindilarNl, lIlbaker,1IÓ1. A hibak8f811Ó otyan $lQtMr, 3O'I8IY képe. elfogni afut6 k6dot, il IIIIMt6v6 lHZ1 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..

\,!.

AnllkOf" az oklal betOlH5dik, h.irom Ü~ bcvneh mez(,( 11tunk, .".~Iamlnt a Compu\e

Monthly C06I gombot (lásd a 4.8. libr:1().

--....
U.Mo
hqio' Q

-

.

_ _ ...

I ' - ....... &0

ol

', ...

~9,

.... "'1AOOr rifo;a)r réJhJf"/Jt br.oz ASI' ,\'I:.T OIdab /kl,.,.,. ,a6ol'R...-:!" ..IrjIf.

foI'-="1f, Oi:/mo/w adJO" ""'8

MOSl írjunk be ér'\'én~ l=nékck..... :o $7.övqjmez6Id>e, (-S k:mmlSunk a Compuu., MomhJ)" c..::.&t gomtn, Miuctn a gornhr:l k~Uintol\unk, a h:""i tOr!c~1.tŐf(-nl1:l

rnegielcnik a be'l'ileH mel!6k él a gomb abu, ahogy a

:1br:in

1~lh:IiJUk

_

......_""" .... 0-'0
"'
.
.!!l.~.
,~r

--"",-,-lll

--_&,
I

".... . '___.;1
.L
....

;-

.

eooe......., ,'"
.. I_16<,),_

T_ _ _ ... _

4.9. 6bra
"pétu:ffSJ' szb'~

1Ii"""'et" al<korje4",". "u& ami!Jor" SO",bm kIImIlI,,,,.

A feldolgozott forráskód megtel<intés.
Amikor egy böngés~ lekér egy ASI',N"''' oldal!," webkiswlgi16n levő ASP.N"'T·nllXor feklolgo7.7.a au . é's vi,;szaadj;;1 aZ .,rt.-dmi'nykbll kapol! HTML kódol a böng6;z6nek. A moIor a webcs "eZérl6ke\ ~7.ab>"n)"':>s IITML-el"mekk~ IIbkitja, 6; v~h"itj3 a fornskódb:ln levő ~nykezel6kct, ami 3 kime-ne\e\ még ~bb módosíthalja (A FinancialcalC\llato~. asp" okL11on 1",'6 .... rfOrnoClIlc gomb Cli"k é>cm~ny­ kezelője pél<tiul frissí!, " result$ címke Text tul~jdonság:ít. IImi szintén haússal V:ln II kiIn<-'Tl6 .mll k6dra .)

Az oldal vl'gl('ges HTML kódiit megtek1l1lhetjilk. ha ,""gnézziik " böng6Wl;>en a kapott okbl fOrcisáL ~~ minden böngész6lehet6vé tCSl;~ lI.7. Intemet Explon.-rben " View (Nézet) menO Source ( Forr:is) pOntját kell dla=nunk Az el6:illitou HTML kód megtekinlése ablxln is segíthet, hogy megtaláljuk egy hína oIcll, de még h" nem is mcrülnek fcl probll'mik, akkor is ajinJon minél gyakr.>.bban megnémi II f0l1"1l5l. hogy lissuk. mjk~1 alJkulruk ál a webes vezérl6k HTh1L-U::.
Most álljunk meg egy percre, 6; \iZ$giljuk meg II Filancilllcalcullltor .IISpx HTMlkimcnL.,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"
<head><tltl.~

~

4, S, 6,

r!nanchl CalculatOrl
<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~ut ~ "~rtg .. geLenqth" type."rext- ielo"mortgaoeLength- !~ ~I :

_

y.. n.

22: 23:

24 :

2S :

""""'~. p"rfonrCalc ° _ valu ",~"C"""",t .. Monrhly CoSt" ld="t><!rfonlCalc" <bT I> .nb8P/<Span id3"result.",</span></div>

<br !><br !~ < input type=" aul:rni t"

'~<br

,~

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 vewlő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

Miután ~ felhasználó a böngész6j(:ben bttkeket ín II három sW>'egmez6be. b a CompUle Monthly cost gombra kaUmtOll, a l>öngéu6 újra elkm ~ flnancialCalculll.tor. aspl< oldalt de czúlul a feltl:lSZlÚló által megadou adatokat is elküldi a wcllkiszol· g:ílón:,k ~ kl:rdemmt.'l e~iin. Ell- amikor felhasználói ~ditokat meUjlkelünk e~ u~.,.n:lIT'3. :l weboldilrn irán}'uló úphb ktrelemhel! _ I'isszacsmokimak /l(!'\·C1.l\,k, és CI! a 1eg.'>Wkv:in}'"O:sabb módja an""k.IIO~·lálog:>t6k ~Ital beírt adatokn juuassunk vi= a ",'ebki.o;roI~I6n k'\'ő kiszolgal6okJa.li kódnak feldolgoclsra
Al ASP ''ET-mo!or képes meghat~n;)l!ni, hogya vlSlo'Zacsatolás oka ~z volt, hogy 3 felhasználó:J Compute Monthly cos! gombr.!. kauinlOCt, elén elindólp a pertonnClI.l< gomb Click esemrn}'«, anunek a h:llás:ira lerut a hozzá tartozó C5e1nénykezeI6. Ez... ."

kivül a l.arom beviteli "",dl Text tubjd.onsjga l~ rns,sül, hogya relh:JSLn:i16 ~lt~1 bei" é"éket tükrözze. Tehát lefut ól gomb Cl1ck escménykezel6je (lásd aL l pl:1(Üt), ~ a megadott adatok alapján kiszámitja a j('"lzáloghitel havi törI=t6rh1Je~. A re$ult .. címke Text tulajdonsága ennek a ki..'<Z:Ómítou ÖS52.<'gn<,k llK1ifcJel6en megváltozik, a mQIor pedig clóalhtj;! az oldil új I-fThIL kódját, amcl~"et \issuküld n i1~"fclnck. II \";=o;atol.is eredm&lycképpen kapott IO'ML kis ml'rtékben különböz,k az
első

kcrelemnel k~poIt6l, mhel" Text Box ,'ezt'r16k Text tuL..jdons:lglban nlObt rrclr "'nck,-~

ket taljlunk <el.eket adta meg a felhar;w:l16), 2 ..-eIuita címke hasonló tulajdon.'>ága pedig a ha,'; tŐfIe'>~6rhzlctet lanalmalZól, AZ aditok beírá", és a Compu!e Monthly cos< gombr.!. törtl'n6" bUinl,j~ ut:in kapott HTML kódot a 4,3. p(,lda mm:llia

4.3, .,.w. A ImfL W, ",,,U,,

b61~ aJJ.ol'

ilap, "móltor"fc/Ioas:mAIó" i/omIJT(, kallóm
Tr~ndt1onall/t2i"

.,
~:

I: <!DOC'l'YI'E ht.L PUBLIC "-,/WJCI/DTD XIITIU, 1,0

_

·http://wwv.w3.o<gITR/xhlmlIIDTOlxh~m1I-tran.lt1onal.dtd·~ /wwv.wl.o~~11999/XhW"

.J: <ht,.l XIIllns_'http: ., <h~~<~itlft>

>

,.1""n<:l .. 1 C/lleulBtOr!
<ltitl~><lhead~

6,

",
9:

<div~
~YP<!"

-

dom """",." fonal. " _ t hod·" post· action.' f! ""nel alCa1, .lator. ~~px'
id7"!oml " ~

10: <input

"hidden' ....... "_VIEW",.,.ATE' Id." _VU:w:>'TATE"

_ val ue" " i WEPIMJJQrIT'll MIXlYt/j c!; NQ9 Ho I CIIw9 k r~ I CCQ8 Pf'9! eBFlIleOOfNf l vdl( I
_ bW9ydGdh1.2
_~cCl'~t"rWVuclCBwZllIgbW9u~.uM9JOEIX1i"luImJOM'l'M>«7l'klN'l'hkWQnhcY:o:mIJ7nN!o.
~jipGZoNRpn60g

__ "

f~

ll,

</d!v~
<,Hv~

U,
13,

It,
15,

Pdndpal """"'nt:
"Input ....... 'loanAolount'
tyt>e>"t~n" valu~o " 250(~)·

16,

_ id~'l~nt' <br ',.

I~

94 11 r6IQ: • lsmerbd6s IZ ASP.NET·teI .
11 ,
Annual Int"reIJt !late , <input .....a'·'ut,,· type" t ext ' " .. ~u,,~·6 , O ·
dlr J>

>o,

",

ta ,

id ~ ·r.. t . "

l>'

2l! 22,

23,

MOrt;a;e Length , <Input naaek·.ort; .. g,,~n;th· ~ype."text " " .. I~ ~ ·)O· _ id' · lIOrtgag .. Loanqt h" I> ye.o.u <br I><br I> <Input typeö ".ubad t " nAme."performCalc· _ v"l""m'C",""",te MOnthly Coat" Id="pedo,..",c"lc" '><br I> <br I> 'nbI\ll'''''ptln id.·r ... ulU·>Your OIOrtgllg ......"""'nt P<"r "",nth la _ Sl496,55413i99558<J_,,></dln

26,
J7, <div>

28 ,
29, <Input tYllf! _ 'hidd"n' """",~·.--f;VEN'!'VALID.'ITI(JN· _ id," .......EVDI'l'VALlnATlOO· _ valu" •• ' ,,EWBQlOI80S.IIWI(CIJ9T4C101KUhuj aIl.Y:Yoa30AgLenfqNA.T6 xN1DkRS _ CYWYqITil""k 8 flqLpll" h lO , .. ldlv~ .. lfo""'"
</htntl,.

31, .. I body:>
]2 ,

, , , , , ,
. . . . 101 ogoooln _ ..... CIick . ... .. ... ID. A _ m.l~ OIOI.IIiO" ~Nll_ ~ ........ - .
'I'

•. , __ ....... Ioo9i.__ -...qo'eo..e .
II

_ I. A

J.

~' ,

...... . flo cm' _ _ Ili" il ' . . . . _.~Nll

::: . gorofn .......... _ ............. 1QNEf
,

__

ti .. I,W 61.

"

.....

..... _ "

....

II l!JI!onor, .... Ol ~ ""'. If. l!JI!OnOr, _ .........

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"& t !ulajdon5ág.1t lIlO<i! m1r !ÖkTÖ1.ik alt <i nput x 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")
A kulofOl1tOMágii l<'pé5ekc:t a 410. :íb1"Ol
muu\j~

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.

Amikor ~iprób.áljuk az oldall és a COflllute Moo!hlv Cost {IOmbt'& kattintunk. a bCil19ész6 újra elkéri. n nacialCa l eu l a t o r.;>sp>< OkIaIt, ~ a kérelemhe.z meIlékaii B bevitt adatokill.. Ez a lépes a másodperc töcvásze illatt megy végbtl a Qámlt6gépen, úgyhogy valóSZinűleg Me sem ~. Csak annyit látufi;;, hogy a {10mbfa kattintunk, 8 hitelllavi tiirleSll6részlete pedig megjeieflik az oldalon, Esetünkben azéft rt8fI1 ímlblünk késlllkadúsl mert he/ybef1 teSlleliö., [gy az íigyfél (I webbOOgász6t és 8 kiszollfáló (a webkiszolgál6 $l(lftvef és III ASP.NET·motor) ugyanazon. gépeflla saját mmlt6~kön) található. A helyzet azonban iItaIában az. hogy az ügyfél és a kiszolgáló lizikailllg elkülöoiil, és III Interneten keresztíil kapcsolódik egymáshoz.. Tesztelés közben mrt kapufi;; aZOmaI efedményt, mert nem lassít minket hálózati kapcsolat, a valóságban azonban eltelne némi ioo a gomllra karuntás é5 III eredmány m&gJelenése közön. N, hogy mennyi ioo, sok·sok tényelÓt6I függ fpékláuj attól, hogy III iigyf~ IKacsony vagy magas sávszVlességú internetkapcso· lattal rendelkwk, vagy a ~ elérhet6ségét61. az oitvonaltól, ama/ven it meo''*ezil a k&l"elem" a válasz az Interneten ket-eSllíil, a hálózat terf1eks&gét6l. stb).

Hibák keresése

8

bemenetben

A lesZlel6> elengedhetetlen resze. hogy ne CI:Ik ~ZI nh..zilk Illt'g. hogy mi történik ~ vart a<blok mesad1sa esetm, hanem 112;1 is, hogy mi van akkor. lu nem ,cin bernt-rtetet kapunk Mi \Ört{'11,k !*ldiul akk",. ha II felhasználó ~ Mongage length mc~'" II J'sun" M.:ket írja (~mi n~il\'ln'":Iloon nem :IZ évek száma 'í!

Egy ilyen hilxls trték bciJisa fu!ásidcjcr hib:it okoz. amllll

~2;I

a'l! I ábr.ln láthatJUk

A f"",uhez hasonló hiOOüzenetek megk,het66en za,>arosak. eZ,;rI sokk:ll jobb lenne. ha
hilXis bemenet mqpdba e;etén egy egyszeru hib:!ü;r;ene1<.1 jclenítenénk meg II ro:'>.~ "dalol tartalmazó bevileli lllt'z6(k) mellett. amely tiié'kOZt:d. hogy aZ adit formátuma

961L liI:Z • lImefkedM IZ ASf'.NET4I
nem megfelell'í. A helyes formjtumol billo:sító elJiTisl bet"c>u'l-<Jn~'II)'es{léslU*v"gy lJ(mle"et~IIClI(frzésflck rK'V('tik, t'!s az ASP.NEr-ben ,zen'nc;,8c nagyon kÓlln)'Ű mc~.. IÓ:;íuni (rl'S"dClcsen a 12. fqczClbo.'Il foglalkozunk vele),

,I~
1r>pUt""""'P . . . _

'.

4'

~tlon.

------_.._-.. _

ol • cotf«t _ _

.. _ _ n_'.• _ ... _ ... __ w • • • _ -----~.~----_ _ . ' _ . _ ••

-,,,

, _._

..

...

_w_.,,. __ . . _

.. ----,4.11 ....
11<1 a b,mWt'ef forn"i/Olm(J

w

·

"

~

.

w

... _

... _ _

~

_

. . . _ _ _ _ <H . . _ _ , _ _ , .

,,'ezift-l<>/Q. fi/l{i$ilk'lJl Itw.. lep fol
Iu:m

A lecke k~bi nisníboo említettük, mennyire lantos a felllaszn.tlói felület és IZ ASP.NfT weboldal képességeinK és ~Btásaínak elézetes meghatározása. EmeUen azooban 8lIIS romos megterveznl, hogy miként viselkedje!l8 mbold8l akkor. ha valami nem a turv ~nt történik.

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.

talá.lunk. Az állandó ol)';ln értl!k. amelyet 3 programban nem v~hoZl3th:ltunk meg. Az iu h:undh kct ~JJand6IN'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 fiZt'tési periódus tartozik, AlJpl'11elmezé.o. szt'fim mindken6nek 12 az erték~, ami aZt jelemi. hogy:l hitel tu"oma kamatozik, és:l törleYt6.1 havOIlta egyS2er kell tdjesileni Ez ut~n, a 10-12. ~n, a három TextBox \czérl6b61 számum ~rtl!keket \';'hoz6kba hdyezzOk. A \':IlIoz6 oly:m programoúsi szerkezet, amely val~mily"n btéke\ droL Az ill mcghat~roZOlt vlltoz6k n.,\,e P. r és t. atl(lIIíptl$l"~ pedig Double, A \'~hoz6 :ld:luipusa 'vag} röviden lípusa) jelzi. hogy nlllyen adatOl I<Írolha\ a v,Utozó. A Double :l .1"1:, kerctrendsZCT egyik bctpített tipusa, amel~ killönféle pomOMjgU számértékek szl!les \1iI:l5zték~t képes t:lrolni,
Az

cls6 megjeg}"lés után k(:t

állmu"'t(korul~nst)

Miut:ln a TextBox n~zt,rI6k én&eit beo!v:l5lUk,:l havi töri=<'I'részk'1L't hmlmítö m:l1ern:1tikaj képle\ek alkalmazás:'irn kerül sor. A H. 6; 15. sorlxtn ll!1rehozzuk a rAt.ePerPeriod vlltoz6t, és hozzárendcljilk a k.nn:l\ ért(lk(:t. EZI kö'd6en rögzít jOk a flZCll!si peri(xJusok sL1m1t, és elrJkúrozzuk a payPeriod~ dJtoz6b:l.n. Ez ut~n nlt'ghatáml,zuk az hes kamatlabat, ,11en'e hogy penödw,onként menny, kamatOl kcU fl~.(.1ni. majd lill, hogy havont:! mennyit. VégO.l a 30. sorlxin kiszimíljuk ~ h~vi lörleszt<'írészk'tel. és ~ kapo« eredmt:nyt a ~esu1 ts "ez('rl<'l' Text luJajdonságához rt.ondeljilk.
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. sorlxinpayPeriod.s ~ t • PAYHEI.;TS_P~YEAR _ ~kU\l1 ve&SZOk a t enékl!! (a hitel futamidej(: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.. birtolGioon 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
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
A~

\IB LrMZ ' lamerbdM IlASP.NET·ttI
:Ifln~k

I

bel..., 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 reIadalokra fogunk ÖM1:ponlQl)[tani

A:I. ASI')\t, oIoolak Ie..:l.telésekor úgy indithalluk cl ~ hi!Y~kcres6!. hogy ~ ])cbug menOb6la Stan l>ebugging lehet1i&égcl választ juk Ha az ~dOll \Vl.>bhe!}'en el6szőr \'égzilnk hibakert'Sést.. ~ Debuggn18)\'OI Enabled (A hibakere*> nem engedélyezell) p:lr\.Jesz(odablak jeJ...'1lik meg. amelyet II 4.12. ~brin l:ithatunk, !la <:"gy ASP.I\'1' webhelyen hibakeresé:;l szeretnénk "egezni. an úgy kelJ OdUóununk. hogy t:ln~ II hib:lkeresésl- az új ASP.I\"ET projektek alap&telmeJi;s szenn! IICIII en~I}·ezik. A Debugging)/OI Enahled pJrbesléWblak erre flgyelmenet, 6 3utomatiku~n felkín:lli:t II web.'xmfig OdUíl6Hjl m6dositislil. hogy bck:lpo;olja a lubaker=éll.

A hibakefesést az F5 billenlyÜ Itlllyomésával vagy az eu\(öztár zöld lefétszás {jOmbjéra klltlmtv! is elinditha~uk.

",-~""".

... --_.. __. __...._ -, .
~

...

-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~

... _

...... _

V:ibSS7.uk II web.confill fá~ rrissít6;(1. hogya wt.>bhely tÁmogas.sa II hibakcresésl jeLöljúk be a Modify the W'eb.config file 10 enahle dd>ul!8ing k:ht.16s('geI. 6 kaltintsunk az OK gOmbr.I, Eae! elindítjuk II böngész6t, és beWltjiik a F';nancidCalculatof .aspx nich!!, ahogy a '\8. ~brin l.1ttuk.
Ezen a ponton ésZr'e.'\eln vt:Ss7.iik. hogy ~ hib3ken.':S6 fut. mivel a böngfsz6ben .'iCmmilrCl1 v:1lt07.:ist nem látunk. A killönWg az, hogy most núr bdllith:llunk <'gy vagy több ~mOt az ASP.N!:' okhl fOft'ásk6d ri-szében. A töréspontok oIpn jel7.6k a forráskódOOn, amelrek('( el&ve a ptogr.Im végrehajtása megji!. és II hiookeR's6 ~'t'S7j 3t a wZ(:rlést. A löréspomhoz érve tehát automatikusan a VI5UaI \\'eb O!.....elOJX·rhez keriil 3z iro.nyít:l5. Igy :!iOroI\kénlJépdelve hajtathat juk végre a kódot. és mc:.-gt~·kmlhetjük II változók pillan:ltn}; értéké!. Állítsunk hát be <:"gy löréspontOl: hagyjuk futni a böngé:;z6l. 6lérjünk \'Í5SZ<l ~ Financialc.lculatof .... spx oldal forrlisk6d rész('hez:il \'i5ual \\Cb DevelOfX'rl>c'n. A töré~pomO! ahhoz II k6dsorhoz kell adnunk. amelyben ~ Di .. P Aa DoUble _ 10<lIlAm0unt. Text 5ZÖ\eSCl. olvashatjuk (ez a 10. -5or II i.l, példioon). \tgyOk a kurzort elTt' a k6dsorr~. & nyomjuk le lll': F9 billenlyll't. \'lIH)' ltattmtsunk a k6dsor \lilágosszúrke

baj m::I.rgóPra Mindk~1'! qy I~ iUil be, am,l egy >örös kör;elez a margón,
~1 .. 1ve

J
n

,<:l!'hpont bdlJitha uLin al
••
~ .~"

a k6d!;or >ilrÖI; kiemclt:se. At okbJ fomlsk6d n joo mutatt"
•••. ~ .,

res.z..'t II \i5uaJ '"eb n.,·..cloprTbffl
.~

t

l .~:::,""--

.....

_-_ . ......... ....... _ ..
••

."
•. 13. "

..,

-

.lz oItt..1 n 1<io"c>I1{).,1
b«l1l'1"'''
UI,jtl

Most 'L'fjI1nk vi~ a bön8~z6höz, írjunk be valamilyen ~"éket a 5Wvegnw:Uikbc. 6 kauln~nk a Compu\e Monthl)' cost gombra, A gombn .... .I1ó k;oninth dindít~ a \'i5SZ<lo:l'o!<bI, ami \'~FI II "e~ u ASI' NE'!' OkbJ forr.ísk6d rt5zt. k. ~ ....... mrghivp a gomb :H·,k OC:II~n)1",:~. It. "~greh;lJU5l><rln rg)'SIlt!f ($lk el<:rtlnk a Ot. p As Doubl •• 10<0""-,·,,,t. TIc>.xt k(xJ,;Qri,o.z. ahol II IÖreSpOnTunk UUIIUló, Ennél II ~I II program J11oC'SJU. ts II hib;lkere56 '"elZI ~t az icln)it:il51. A \'Í$UlIJ \TOdl Or\~rbr>, u ~pprn \-es:relu~:i.~ ab.n :i.11ó klxhor oJrg:I kiemeJést bp IUsd a 4 14 lbclt) - ffi05l az II kócbot li;':!;z shp. amelyR.' lU. ,mént ,öresporItOC ~Ihtocn'nk he A .örespor1tJlOZ érve tehat a program fulása ITK'ttjll. bo m(lködé5be Iq, II hiIXlkcrn6. ~melyben m"lJ\"iz.sg:llh"'liUk ~ klllönl"éle vlltmók ének''!. E!zeket II 4, 14, ;iIJr.l hal alsó sarlcloon I:I.thalÓ Locals (11...J)ll';ihozók) abbk muutl" A legIÖbb \<Íh<JZ6nak ,~n alapéndmrZdl értéke: n Al.' ... 1~..H •• eo.l"-rMcmth. (ntPflcMOnth !.tb. \JltalÓké ~kliul k]\'~ nélkOl O E!nnek oko az. hog)' ~ nem émJnk ri a:rokOOz '" ~Z. ahol ettk II v~ltoz6Ir: <!-ru,ket IwJWUk ~. ((l\'al:rblqxlcl{lnk a progflun sorolJn, uo értékek f'rUsülnek a 1.o<.':IIs ablaklxm. A pl"O!9'l'm Y~8reh.arWJn:ok fol~'Jdsához ...... b:;Q.uk a DdJUg mcnil Slcp o.'l'!" (lil\"lbbl....pés) par:l.nc:sJ •• \'~gy Cg)-'$ZenlL'fl nyorrlJOk Ic lU FlO biJk'fltyl1t E7.zel a kl)<.·dkea1 k6dSOrr.I keril](lnk I II ~rw::rr lenromjuk ;lZ flO hillent)'ÚI, megflg}-eIhe!lllk, allOgt· a SÍrg:Ildernrlo$ qn""" Iei!rbb kerul a k6chln. & az &tark módosuhuk ~ I.o<."b ~bbklR.n. Ha a kÖ\·eUr;<."a1 t~ ~ ugr.Ini. n)'OmJUk Je az f~ brJJent)1.lt.

100

II. rHZ • lsnwked6s IZ ASP.NEH"
\.ilasszuk a Debug "lL'"flii Conlinue (Folyutás) ponlpl, l'i:kUnkban el:'ZI eredrnffiye:zl, hogya \'el:&lés visszakerill a böngbrohöz, mive! löbb türesrx>nlOl nem :illílolllmk be.
~';lgy

"'

~:i~"'~:'~~ :'> 1-', ""'..... ...-.o, ... , .... .. , _ .
, , ~

--- ....... .
.1- . .
~ ~

... ""'_ •....A. ol" "

......... ...... -_." ,_o ... ,. - ,.. ,..... ,...,- _ .... -,.... .... .. . '- .,
"
_~ '

_""-_ .. ..
_
._

,--- - •

• • "-

-

• •• .. • ,,------~=
"

.......

-

4,1 4,6bnt
A /6rf!spom/Joz

e-=.

.... '" aprog",m IUI,w, '"'-»fil

A Local$ lIbIal használatán ~fWI a változók piUaoatnyi 'rtélt't ÍIII'r' is meo'lapíthaljuk,
hogy III aghJel a klv,"t Yáltoló neve lÖI6 MItri; a lom\sk6dban. Ezen kfvij más hibal-.eres~ ablakok is a segltségünkra lehetnek; 8 Watch (Figyelő) ablakban például megadhiltjut, mtlly YáltOlÓk Vag( kifejezés&!: htékét swetnénk fiwelni. A hibakeres~ ablakok teljes listáját rnagtal.áljuk a Debtlg menü Windows (Ablakok) altnenüjében.
Ha a hibo,keresfslleljöen le s.z<:relnénk ~llí(~ni. kallin~~unk Debugging (A hjookc~ 1t'1iIJíLl!;:1) p.:u:mcsil':l,
~

Ikbug nlenU Stop

Az el6Wekbc-n C5\lp>n rövid ~nekintést adtunk a Visool Web Developer hibakcresé!;i

Miel6tt azonban mélyebben belc~sn.1nk m:ogunkat 3 fejleQI6kömyezet hibo.ker~i =lg~ltatásamak fdt('Tképezésébe. téls.zenl gpkorolnunk az ASP,:..'!:'T webold3lak létrehoclj.,'it Ha el: nl;\r nem okOl: gondol. a hibaken:sésT6l a Mkroson WaJktl".,: sh, Dc!IJugg;,W Weh pages il! \ ,suallfeb De!oe/op<'rclmú cikkéb61I~~ko­ m z6dhalunk a h up : I I_dn2 . ",iooro~o ft . oorun/en 'us / l l br .. qo / zge7w6c" eimen,

ké~geir61

Ö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
felül<::1et, ami J annyiból S2.Öwgmczúk feliratit. 6 a~ ol<blra hÚl.ruk a '~uksege5 TextBox, Bunon é< I.:>bel vczér1őkct.
Ezt követócn 3Z ASP.

J 101

N", oldal H'f;\IL részének állt. hogy beínuk:l mcgirisá\'31 kiaJakí\OI\uk \-iSuaIWeb Developeroen csa k

~

III-ITM L rész utin következett a fom~k6d. II s.z.:lnútiSl végrelujt6 kódo! beszúrtuk aCompuh, Momhly <:0.;( gomb Cliek esemt'nykczcl6je>e. <trni ~zzaJ aJ. L"fedménnyel jar. hogy ~ beilJe5llett kód minden alkalommal végrehajt6dik, ~m;kor a fellwS7.n:i16 ~ COInpute Momhly CO$! gombra kauint.
tervezési és a fejlesztési $zaka$1;1 követ6en ki is próbáltuk ASI'.KET wd)()jdalunk-~t betoItöuük a webbö~robe. b trtékekCllnunk a három l"""tt:li mez6ht:. v':giil az 6r:ít az ASP_NIT ol<bl forráskód részének elent2és<:vel z:inuk.
A

Kérdezz-felelek
K: II"&Iw,
'/'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
1l'fI(ic!"J;'I~ .esct"~>lykódOf

\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 =>tnykezel6. (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'//!

v:

a Page_Load erem~nykczclóbe U:m/&,'" 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.érJ6re. 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..;
~t

IlIe.'l'ext ~ 21 til .... ruul".'I'ext • namr.'I'<I><t , .
If

Y"" Ir .. I youn<,laterl"

tn~

H Ig".'I'Ht >_ 21 O\NO Ig •• ~'

~

40 th.

",,,,
1~

relultl.'l'ext • _.""xl , ". you ..... In adulL'
Ig ... Text ~. ~O tban ro ult.I.Text •
:t

_.-..x, ,

you

Ir. OVllr the

iUl '

I:r

lb ~nuk 3 r~i kódol a Button \"e~6iCi C lek aemmykelel6jébt-, IDC'n!)Ük u ASP.NEl oldalt. b próMl)Uk ki a bOngtszónkb..ll 2. GpkorollUk II Visual \\eb [lco.-eioper hawúLaw'I, {os csinosí!5Unk az tof.lbt,n II It<;k(:ben <:Ik('$~ílet.l Fi nane illell eu lat, 'r . .upx weboldal felhas.znJlói fclOletétl f:rdcrne:s lehet példiul sz<:1>!> lX:1l1tipus.s:rl mellJ"leníteni a o.z6wgmezCik feli,..~t1t. n/h-egrt adni u oldal [t1l~h<:~. lIrnely elmilgy:amzz:r. II pl:nZOgyi wmológtp ctl,"!, ts igy tov1bb.

5.

ÓRA

A Visual Basic változói és
műveletei

• • •
• •

"rogl":lmoclsi nyelvek A ,'jitozók !s be-.·eZC1~k f'.nékelr; honárendelé<oe dllorokhoz
;clenl~k

• Az adattípusok &

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íunak 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.
lb nu IS újon<; fejles:n6k \ag)'l.lI\k, a 2. f,*,.e1hm Utoo pékbk6dok.:1.I dég nOg· geszt6nc.k ublhanuk. de lll" a~junk ebben ts a kö'.-t1kezl'l k(1 leck&m abpn~.an mt·g .... merjilk ~ \isua) Basic nydvel. Mire ennek a I~rom órinak a 'I'g(lre I'nlnk, nem es:.k ~ kor1bbi leck;;k kódjai v.tlnak viUgos.sl ~zjmunkrn, h.:mcm arr.l is kl'pesek leszünk, hogy nú nl:lsunk írjunk ha.'lQfll6 k6doll:al 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 kotlilQLOlI 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
~

ts"

A programozási nyelvek célja
A huszadik n.<1ud el5l'i mmil6gl'pe1l azu1 II céllallCf\'cztt'k, hogy képe1ek legyenek oI)'an nulmulikai ~núLl.Klbl ,~jl.:rni, anulyt"Ot'ket addl~:iZ emlx'mek kellett eh·tganie A ~núl6gép d6nre:lZ \"Olt, hogy 8)urobban tudoI;t Uoimolni. a nap huszonn('g}- 6r:ij;ilxm munk.ira lt-hetClt fogni. b nem Iu~zon (I*ld.iul an\lkor k& Wmo! kelleu ki''()flfll egym.:1.sb6l. nem fdejl<_"Ilc ellO\lbbvinni II mcgfe~16 <'néket _ auli olpn hib:!. ~mil mi, emberek, mlndn}-jlan elkövetOnk !<'glII.ihb eay~~er)_
Az akkori - ok lermés~"'-~ a m:d - wnút6gqleket úgy ~

1"I"'It'H. hogy ula$rltisoll

~Ul fop.lPk. és ezeket ab!;>;lJ\ a sorrcrxt:.cn ~JUlk '~. ahog)' megkapták 6kCl_ Ez iddok'!ói leW a szimil6g0..'pd oI)'an fdaWtok meg"U.i.s;;ra. amelyeket 1'8)~ lépések $Of".lra lel~ bonunl. A rugy ~mOIi ö:ssreadi~ p&1iul fcU)()!ul",lÓ ug). hogy ek:'iSZÖIO lIZ eayesek1.1:.djuk &sze, arun a tízcs,c,kct Sl:b .. núndig 100-.ib/llKh'a egy mmjeg)""''' kÖ\etkez6 os:clopnak, lu .wIkséges.

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. vala.mre. amelyeket megertenek n, hogy nyugovóra táj". a gyC"l"C'k v.. ~nűleg egy kukkOl: ~ M maid belöJe. A Sl'Jrnítóg.:pnek adott parancooknak ugyanígy meg ken felelniük eg)· adott nyel\"tannak 6; szerl<eZetnek
A számítógépek csak profln.mozási ")'l'Ít~" adott p-.lrancsok:'L ~rten<:k meg. A progr:unoÚ.'ii nyel\" olyan nyelv, amelynek pontos:on megha~rozQu nyelvtan.1

A gyerekekel csak oIY'1n "gyszer<l S2:1\'lI.kkaJ

k~rhetjiik

Ha 321 mondjuk !*Idiul. hogy ",M~hemná gyiimöle-;e. 6hajom

(szintaxisa) 6 ielenté:se (szemantik~j:l) '·an. StlmGllan progranlOUÍsi nyelv léte;dk, <k az ASI'.)\'lo' "·eboldalak kb7ité\Ckor oak .KET-megfelek'! nyelvet hasznJlhatunk. amilyen II \'isll~1 BasIC vagy ~ c-.

Sok programolási nY9IV megfelel a .NEl köwtalményaM, például a JScnpt.NEl, a COBOl.NEl, a VISual C+ +, és így tavább. Al. ASP.NEl oldalakat IIlOIlbltl ~inki\bb Visual BIISi<: .NEl vagy CI nye~n frjál; meg, és a VISUal Web Oeveloper is csak ezt a Ut nyelvet támogatja (amelyek kW elfYSZ8rTll csat az egyiket hasmátlil~ukt.

A programozási nyelvek általános szolgáltBtásai
Rengeteg progmmol.ásl nyelv létezik, de \":lJln:.lk bizonyos k~gek, amelyek miTKk'gyikben felbukkannak. JIrenek pl'1d1ul a következők:
Az mlt./oM. üfcig/e"cs ráro/iislh1ak ~- A \~sual &sicbcn az aoolokal l'Úlloz6ilbml tárolh:l.ljuk. A v:íltoz6kkal a rejez,"'! kÖH"'!kew, l~jlloz6il b"t.~'Zcl& él" /uwmálata dmü ré:;zében foglalkozunk. • "~'<llrozókJ)(m lároll adalokt:m z.?srr-"ujlllt. Ió miitddek Iwlmuzánuk l biztt)Sil~ - Az egyik ilyen nnlvelet az Ö5szeadás (mü""lt1i iele a +), amely két \áltozó énékét &...lI<gLi. A V~ual Basiroen dérhcl/l m!l"vel~"'!ekr61 ~ fejeztet ti IíSlltll Basic mii.cll'lci dmú resz&n ~hlnk • KrlI(inbózó •.V!Zérl1Jsi v:crllezdck. amd)'ck W8(tségbd tlld/lo.z6k ~nf!kér(i/ !liF" ,lUis-más lIIasíl<iPokal IwJlhalunk l'i'gre - {\ Visual lb.sic vezi.-rlbi szerkezet:eit II kÖ\"CIkel<'! f.ie~etbcn i5menetJük • ilfonruk6d Iljrahas:zltosilha/6 "R)'Sl'gckre bol1lástinak /clJCIós<''ge- A \"lswl B:.s.icben a k6dok elpr.i:;ok", (5zubrotinok",) b fiiggvényekre bontl\.ólt6k (Jásd a k6\'t'lkem fejezetet). •

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 '''SY egy kal'ljk\(.'I'I;lncoC tjrollutunk

wmot

A prtl9ll1fllOzási nyelvekben ft karakt8rlAnc !stnno) karaklelek sorozat" jelenti, .,.Ob·1 lll: k6zé ánri.. I..ásSlri. fI'I'( ~ "HO! < , wo, dl •
A ,:ihozók IUrom ÖSI.U'Iev6b<'51 :illn,d,;

• t'gy értékb6/' (példJul 5 v:lgy • Holl o, world l • l, • :I mlt0z6 1Ulf.<ébtíl, ~mdl)"el J ,-áltom értékére h,v,ukozunk. ~ • egy IrpfIJbóI. :Imely ~Z1 ,e17j, hogy d \';\ltozóh1n mil)"al ~ék Urolha,ó, M Jntl!";ler (eg6~ szám) ~dltlipu~ú ~hoz6kln pélll1ul ol),an értékeket helyezhcnlnk. nunl;LZ • \'::Ig)'::I H'-', mig .. !'Itt ing tipusú \-~ltoz6kb:l oIp.n
(:nékek k.;,rulhemck, n,inl:l "r ,110, W'O.-ldl· .... g)" d "Ji · ..In lll .. t ..d",

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,

JI

._- ._-- -- -- ._- - 5.1."
-t5 Il'

nill\lZll 1'ID,.I(I.m, nhu1 rlJdlOll doboz, amd)'adcll "p",h;

~

mti ",roJti'

5. " • AV-..I BMiC

.6Ibái"

rnOIIIIICII , 1011

&tékek hozzárendelése Yá/tozókhoz
A v~ho;ú>k lIt'\'e k :odaniflUS'" .1Nn ...ó<lad/lwt6(~ngoIul Immlltabli'), vagyIS mlU~n " lIt'\'d es" lipust rneg<ldtuk.:o progr:l.m ''''-gn:IJ;I~;i.)a köw..n ezek.,.., nem ,jl!=Ih.:imnk, A ,,:1ltozó ~ntke ~zonoon mó<kJ&ilhllló (mllwb/el, tChal az &téket :o progl".lm futjSll közben IArmikor megclllOltalhatJuk.
A ...1Itol.6k tntk~nek módosit1s:\t m<'l«ldó IlUlSf/t/$t)/«)/1 k<.~Zlf,l ...égezhcljök CI Al. bt.'I«lddJ ~n egy &teke'! renddünk ~ ....dto7i>hOl n mÚ"eleti jellel." kÖ\'~1k,n6 forrn:'ilXln

fu. - ~ jelet (Ill htéUdb ~.IA V4u.18asic htéatM IfIIiv8efIJl cfmü rHZben tiro'faljl.t.

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

A Dl., U135il25 ~Jtal~ll()63bb form:i.ban 19)' f~

A,

utaSiWst *,lIct~ is megnézzük ti Dl", u/{<fjlflscimíi részben. dc cI&zOr 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.
"Q

A változók elnevezésének szebályei
M,nd..-n progr~mozh, nyeh-nck llleg\ö1nruk " IIl;jR'l Sz::Ibálpt:o ,-:ihozók "'~'e~ ,·on..:nkoz6;on, A \'is<uJ Ba:lK'ben 3 1":l,ltuZÓlX'\d: beuhel "~8Y "bhuU5Jc11e1 kC'z<.Whetnek, ó und)"et nul1~ '""g),több ~Láhú~. belú ,.~8Y )um kö......t1I1'\,

110 , I. rkz· lSrnIrtIdk IlASP.NEHeI
A Visual Basicben a v;íItQZÓnevek hossza agy karaktert61 16 383 karakteng tarjelllet. A váltOlÓneVekben a kis· és nagybetúk különbsége nem Slim1t. al1Íft az A\le név egyenártékii az AGE. Il ll\le. III liGe stb. nevekkel.

· ".

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.

Mw •

1~l>';unk

néhány

~robl)1c1ell

viihoz6nC\'CI:
3

3A\le _ Ez ntrl ~""'en}1e1en név, men
~mmal

dltoúmevek nem kezd6dhClnek

_ -l2. azért ffi'én}1elen n{..... mert lu II \':\lIoző nLOVe aláhú7..:1sl"IId kezdődik. legalább egy mhik br:lkternek kell kön'!ni... 234 _ Ez az("f\ érvén}1c1en név, men II v:llto1.6 neve nem kezdődhet ~clmmal.

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ároUutunk 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. Ha m::ír dolgoztunk az ASI'.Nl:T el6djéve!,:lZ ASP·ve!, valószínűleg szereztünk némi ta~latOl. 3 VlIScript h.aszn:\.bt.iban. amely a \rlSUal Basic 6.0 icbulitou \1illOZata. (A \Ilsual Basicnek ez a \1il!Ol:at:l. m~g a MJcrosoft .NET pI~tfonnla d6l11 id6b6l szátm..azik.) A VBScriptben a \':lltozók l!.J'(!1Jgé!J tfpll5OSlJk. A g)'erlgt-ntípusos ('':lgy la~n lípuoos) >.'áltoz6k ol}"dn >.'állowk. ~melyeket az admípus kife;ezeU megad.i~ n"'kül ,·...zetonk be. '"Jgy~ ~ lipu5ukal a hozdjuk rendek érték hat.1rou.a meg. A VlIScriptht."fl péld:íul írltalunk egy ilyen kódo(,
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
~mi

4 én~kel kapp, lipUS');iI tlROl,k

n<.'kl. ~l" lipusa 5trln\ll~l, A.~ som1n nonb.m al C!IY egesz 'um, IdUl Innen kezd.'e ~z" már a~ Intequ

ll;

It. 8),~'flgt'n tiru-'~ ellrrdl:<'1 a sztgonim/lipflJlO6l\':Ig) er6sen lÍpIlSOl'Il \'iltmók if'Ient,k It. !OZ/goN;on lÍpu3UOo nyd\'ddlnl mUllkn \':tlI<.>lÓl ug)' keD tx:-."ezetnnnk. hogy megadtuk az adauípu..at I!o. k nuuUn a lÍpus! megh.. u~uk. kalrób.g n alU'l.l.k rnegf.,..

\eI6 énekeJuot LirolhalfUk

a~

adou \jltozótJan.

~

s-d

A gyengén tlpusos nyelvekben bármilyen viltlll6hoZ bármilyen 'Réket rendelItetUnk. Ih C$ak III 6rt6k htlhm meg. hogy milyer1 tlpusú I ~. A SZJgOfúsn bpusos nyt/veü)en I v6ttoz6k \ipudt kileJ&lllttarl mt9 kell ....... és csak III Idon tipusnak 1T.eofvIe16 WtéblICllltlnt", vMtGlÓllll

It. \t5Wl1:bsi<; «zigorúan IÍJllI'o<.& n)'....·• ettrt minden

\';iJt,nón:lk meg kdl :adnunk on adampu'!;u, ~ a tipus korLotuzu. hog)' milyen én~keket rendelhetunk a ,'iJI~ M,v'l'i nuodm adauipus eI<"íre nqh.aUrOlolt én;;kIllJlOOünn)'lIl rtndclkezol<, kUOOI()S.-.i, gU. hog)' megfelelő t,PU$! ",Ib~unk a ,-:ihoWinkruk A ,I f",",z.,d:.:-n p<:-kbul eg}' oI)'~n ASI' NEl' w,,"oldall k<!szJIClIOnk. amely egy jt.'1z:Uoghitd 1\óI\'1 törle$Zlór6uet~'1 v.Jmi\(~ta ki. és a köOl'lE:S ,.zamithok m.·dmc"l}'lit t~roI6 vjkoz6k.u Double tipusúk~"flI ,·~zettilk be, ami egy oIy.tn 5Zámlif'U". amely ti~'ekkell:irol.'oZán'l(.>k.1I H~ ~ SZilm upusÚ d~otóIut lusználtunk ,ulru, .a sumítis nem:>don ",lIllI pontOS e ... dn""')l, nlt"l\ tOnekkd tIoIgon.unk.
A SZJnuLisban felha"ntill IulNtubtrt"k - 0.065. ~ml a 6.~ kam:nlábnak fdd meg _ pékblll nem fejezhet6 ki e~ sunutlllL A llOWi k-gkw.ekbh eo.'i egés7. s7.:1mok ~ O b az I. M nyilv:1.waló:an ~'ik sem adott "0111:1 hell'eo; ~-redményt, I':l~ft f,lIlI'>,\ a megf... ld6 admípus kl,jla~1$:1 Általll>O<Sság!»n tehlt a "11tozók"'l '" kÖ"dkcz6

fOf1T\;lbcon kelJ tx:-.·ezetnilnk

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 amdyeknek én~klaTtOm;1np különUö:l:6, A k1®·~kl"~h· !:>;On 1~ ep tipuu~ Int _ r. amely;öl -2 l,+,' ·III.~ ó-NHól2 147 '\SJ 6-f~-ig LeI'Jt--d6 t:lftominyba ~ értékeket k~ úrolni. Integ<tt tipusU dltm'ilt a kÖ\1:tkezi\lú:ppen hovl:lrunk létre luromfde
eg.!Sit 1Ípu:;ldcZlk.

112 1L. . . lInWbdk II ASP.HET""

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 lICIIIl egi&l ~ O/VIn edattipusok. .nelyek adon admú ~ kliplsut táfon, cit a IIl8desvessz6 (blIdtSPOnt) helye WItolflIthatéJ bernik. hogy növaljüt.: a 1örtréSl. ponIosúg6t.
Az el~ nem egéu Wl1lhpU~ ~ sir>gle_ amelynek éntk\:;lnomjn~.". ~ oegali .. én':kek

esctd)en -.t'i02:S235E+~61 -I iOl298f-i5--.g. mig a pozIIi .. sz:lmokru.l 1.401 ~E-45--

161.' 102:S23SE+j8.ig Icr;cd.

A tudom6nyos jIIÖIHben III E-I kiMtt6 mm a mm~, imi Bszánban ta(6ltlato Ii~de$jegyek mennylSé'ldt adj. meg. A 6.45E +BPéI~ &gy8l1értékú .6.45- 10" 8·cal VIgY 645 OOO OOO-rtl, mig I 6.45E...tJ jelefdSl 6.45 ' 10" 8 vegy
0,0000000645 .ngle!ipu5Ú dltow. 3 os...
En~
'~lt,

'iIgyIS'

3_4028235E+38rmgyon nagy Wml
fomúban hozharunk 1<.1re,

kÖ\'~1kezó

'cWc

...

·Ingl.

pOlllosabb nem egfQ ~7.:lmtipu~ II Double, ~1l~ly nagyobb S7.áffi(tt;irolni. ncgaU\' énC:kck esetén - 1,7<)71.:1J3 1341!6231570E+'I(l6-t61 -4.~'564,"*12~1E-.~24"g. pozití.. &!i/,kcl!. ~én pedig
kat ls
k~

4.9-t()(t;6.IS8-II246S+lE-.'2Hól 1.79769.\1.\4862.31 'POE" 308-ig. A 00 jl;ol.lipu5Ú ~Ilmók I:ot:>.~ ig)' fot

A h.lnnadik és egyben ulolsó nem ~ mmlÍpus a Deci . . l, anICI)" ~ tiz halván)':1I szenm Itli."mezi II tOttrészt A DeC"t-l ént-kek O k 28 kÖZÖltlt,~'CI t:malJl13Zlutn:lk. S"ull~ ti~ esetcr. 3 legnagyobb wmo amil egy l> '1 . . 1 Iípusú \'álwzó

5. tn •

A a.ie .; I,..,.. 411 ~ 1113 V...I

tlrolni ktpes, a "9 228 162 51426-1 .H7 593 5'1:1950 .1.i5 (a k-gklSebb pec.hg a-79 226 162 514 26--1.137 593 '>43 950 .\3<;). A 1)00- i .... l vlhoWk legfeljebb 1JIlu~ Je8yt>61 lllh:unak. ez;!":t legnJS)'obb, 28 tizedesjeg)'et Clrulmaro ~cim .• n>ely tlrolhaló bennilk. ;I 7,92281625H26H37S93543950.H5.lk<:imal (;PU5Ú v~ho7.6t IS)' hozhatunk ll'tre'

'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 Ioglk:u '''SY BooIe-(éle \'~ltoWk oIy.m tlrolók, .melyek ké'!

~ék

A k:traktcrlínc br:lkten:k 50r0ZaCl. Az "ASP.NET I. hm!· pHcUu[ '10' 15 brakterbl'il ;1,[16 k~raklerUnc, amelynek ds6 karaktere az,.,. a mblxhk n S. k igy u:.-.-;lJ)!).~.en • litenötödlk l br-Jktcrig 113 otpn váltoZÓI. szen.1nfnk létreho1.ni. amely képe.-s ka .... klerI1nc é"ékek tároJh.ir.. , a St r I ns. tipUSI haswlluljuk. St dns. típu$U váltOZÓI Igy vezl1helunk be:
D
v4Uoz""'..v. al Strlf14

lb .7.1 \l.ere1nénk, hogy elJ)' ,':lltozÓ cUmmok'l t.:irol)Oll, Dat" a<buipuSlik"m ve1.c.'I5Ük be:

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

Rugalmas.;.;1ga cllentre jobb, ha csak ritkln haszn11unk Object tipU5Ú v:ihorolm (,-agy soll>l ). A konkrkabb I nteger , St r i nq vagy Double típus cll5nye, hogy ha ncm mt'gfddó ~n~ket pr6Wlunk rendelni egy ilyen v:ihowhoz, hibailzt,nctet kapunk,

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~.

Legegyszerubb fomdj.'iban a Dim utaSítás egyszeruen n>egadja a ,"áltow
Dl ..
v"lro~6N"ve

nt"\'t.!

és tJpusJt:

u

t!p u.

lb hjrom rntege r típusú váltoZÓI szeretnénk létrehozni, haszn:llh:llunk !úrorn ~U6 Diln utaSíús(, ptld:iul igy,
Dim • •1.8 Integer

Dl .. b

aM

fnt"'Jer

Dim C ... Inteqer

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

Értékadás változó bevezetésekor
II:!. eddigiekben II Dtm utasít!iSl csak II viltoz6lr: bevezelbL'ft' használtuk, am azonhan

'>éln , hogy fnéket is adjunk egy v~ltoz6n:lk. Ez all jelemetle, hogy ha létre akanunk hozn; egy a neVU él lnteg-er típw;ú v:iltoz6t, és hozti szerellük volna rcndt:lni a 6 énéltet, az al~bbi kódot kel1r..1t haszrn1lnunk

""

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 Visual Basic milveletei
hog)' k'ht.<r: egy ,-:ilt02ónk:. ~mcly ''lIi;lmilyen btcket urol. oonugáboon még 1l<.'fTI Iul érdckes_JellC"!TlZÓffi :uonb:an .-a13nuJ)·..., művel ...... 'S<!en:tn.:nk • .:gezni ~ .'lltoLÚ\-a1 '~g)' qo.,;rerre I~ is_ It nulem:lUk:iban IS SÚmok;I1 é$ művd"'ekal:d;iJunk a 4, a
,IQ

'''.'; '-aM)' ~ pi sz:imok, mig a kl~on1s. az Ö56Zead\s, az ~ ';Igy a neg:lU.s (l<lgXI;ts) mth'elaek_

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_
'mll..deteknek ( ..... g)- .oper~torokn;ok·) kolönböz6 U\.ZUlyaik '~nnak. amelyek kÖlül a legfontosabbak a szarntani mll'n::k:tck (antmeuk..:;a; m'I\-eletelr:). az összeh:.o5Of\Iil6 mű.'delek. 3>! 6s1;~:0t5 m(h·detek 6 a~ M&:.d6 m(h·detek. It k<n-Clkező nCg)-' ,,;ub..., czt a ~. mll'n!letoutll)'t mutatjuk be

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 •

~ énekű

.-\hllO>! p&l:iul, hogy ket egt':o.zbtdctl VallOlÓl ~dJ\lnk. ts az 1"!'edm6t)1 q;y "o>!Intm ,'á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.....
A mIlvelet, )1:1 b/n;lris ~ un:ltis ma,·ektk~.,lI hölg)'1:I q}161)..::ZŐS nlÚn:letk~'nt) is alkal· mazhatÓ. AZ eg)1l'nyezős nnl..-defek <SIk eg)'~'I1en "áltoZÓI 'gé-nyelnek, a mű,'eleI;)clct egyt('Ilyezős mllveletkl'nt Jlk:llmaZ\öI pl'ldlltl J »liim neg:iliis\t "':''Selhe1Iük el. IV ~1:'IJbI kód <.>z&I ~Z ft vJhm6hoz a ·35 &lékel .-...'n<lell (",.,gyi! az el6z6 l'rtl'k ellenl<.. 'Itjl'l)'
lll. a. b. b • l!

"

Ib •

ln a - eg}1.:n}·ez& milvelCI. amelynek tényez6re a b-.c kifejezés &ll'ke. es u ez lhal visszaadon &tek ellent~'Itjét képezl:Ük

Megfigyehtjiik, hallV I mú'leletlk SOOfIndjét dr6jeletkel szab6lyozhlt1uk. A;z eI6bb IQ"( it"*- leli rnúveletet:
• lb'

·b.

akor az .. 61Mb 5 lesz, mert a ne06I'S eIS6bbfflOdii múvelet, mlllt IZ 6uzudás, így amikor a program kiértékeli l -b • C kifejeztSI, al6SlÖr I b IlIent.n", ká!l-ri. Ib art az flt'bt adja majd I e-haz. Em! Sl8mbeI\. Ib.e) forrn,"ioI. PfOQrtm

eI6UOr Ölszaadjl • b ts I énéUt," cnk II után veszi I kilejazft ellenteltjht. A VISUII BIlle mmm mú'llltttlnet eII6bInégi Sl3bMVai ~ • mBtematikhllblmazottekbl. Ha t.nM. mWtIetelr. _lIIiilIeIr. ~ VIn ~ tgYSZeriien lOQjI.t 6SSl'I áoójelekkel az lI6Sl& kI6rtéIr.IIInd6 kiflje+lkll
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.

AZ /'JI55zclu.sonlitÓ nlllvelelek o/y2n kl-ll('r1}-ezős mO'"eletek, amelyek kl'! v;ihoz6 <:néh't h2..onlilJlk OSStt- A hat ÖMZehasonJiIó mll\elecec n 5.1. lablJal 5OrOIi'l fel. Ezek a mŰ'"elelek mindig logikai - "!'TUI vagy Falu - énéh1 adn~k \'I."lJ. a kL'I vlhoro össU"h~$OIlliwsJ.nak erednoénr("\61 filgg6cn

5, ln • A VlMII s.ic:;jft,e<.j. nlll1 ....' , 111

1,1,

''01.

A 11••..., &DIr "7. _

Al. Jljb!'11 Ula5íl~ klCnckclbc or",,. ~n"dnJ<,nyl ~d;

·.·.b' O/21
,
~.

1,14H9 >.. 2 c> 'Su,,·

'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 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
~.agawj""~.1

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'

o,.. __ ten'" " .. hriDQ' ..... ~_. iutWonl"' . . . .

'~,r-d

,

'

, ,

thu-dIIo~d

,

l1B ( l. ráz • lImIIbdIb II ASP.NEr·1aI
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. Ennek n>eg'o-":II&iú$áho;r; a" műveleti jelet IIlIszn.iljuk, amell)'el hal karnkterUnCOl fűz()nk össze , Először 11 fintWord értékd és a ' , k~rnk!('rL1nüJt f(IuOk Ö6S2e. aml'lynek eK"<Iménye n 'ASP. NET ' ~1r~neti karaklerlánc. A1kn átmClIí'fi, mert en a karaluerl.1ncot aronru.1 6ssz.efúzzűk 3 ..eondWord éné k6·eI. ami az 'ASP. Nt"l' is' szÖ\'cget en::drnényelj, ezt pedig ismk megtoldjuk a • " karnklerl~no:al. hogy megkapruk az 'AS P• Nt"l' i $ • karaklerl"n«X. Ez uÚn kÖ\·'1.kelJ k az össlefilzé.~ a th i r<!Word ,'~ltoZÓ\-a1 (ennek eredrnl:n),e : 'ASP . Nm' l" nHt·), majd:ll'. utolsó összefilző művelet II '.' ka. raklerljnccal. amc:lynek eredrnén}'e kém me#apjuk al: 'ASP .NF:T i . neat"' mondaIOl. amelyet végOI hozzárendelünk a aentfOn"", viltoz6hoz.

Váttozó értékének besz(irása egy katakterláncbe
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

AVisual Basic értékadó mIlveletoi
A lewcö zéln..ég.,:sebb énékadó m(Jvclet jele az .. jd, (Qrrn:lb:.1l irlulfUk fel
~1l""l1}'el

al. (:nl:kad:bt

~

követke16

...
Ol.

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:
",.

,

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
'M-rc. . . ~ 6n(Okil v&lt :06 Utubods.a .ua, n_rI. !libr. 3 al Integer n"""r1 • 15 n'lri>oorl .. 20
~'t..

' A n' <ibe r l

'rI 6

a nwaber2
n~-,

_r:

A leggyakoribb árt8Ud6 mthaletek rövid for ti'
Gpknll'l d6I'Ofdul, hog)~' \:llto w btt"kl-l: ~n'eICf'I fris.sil<~m nemntnk F.rre ~ kÓ'-etkezó tejezetben konkrtt ptkLilut LS Utunk majd - f:g)'e16re higgplk el, 1'IOg) ~IDI~b:ln 11m '':ln 5zük~gönk, hog}- egy egész ~-jhQZÓ en€ktt eggyel llÖ\'eljök

A v",j"",ilye nIn tegerV"' l to:oc ,'~hoz6n:lk be\'ezetélkor a ,kczd6énéke!. adjuk: en az én"ket sZ<'f"eU'Ienk k~) növelni, Ehhez azt keIltenniInk, hogy ,,--gy"-' IlO1.lhdunk II változó pillanatnyi énl!kéhez. és az uj én"k.ct viilSZ:lil'Juk a ,-,iltnzóhJ I ti ~ val ""li lyenlnteg .. -.Val t.ozo én(:kc tchlU U, :IZ abbbl kód fogja a O én':kCl, l1<>U;l.;id eg)'''' f ami l ..('{ errom{,ny",.), b al; 1-(.1 v(SSllIirj,a 3 vol ....... ly' r I nteg .. r Val t, .zo ,'J ltozOba,

J ~.\Sotj ''[Olp;)!'-))'"

,.(~ .. },)'I~1.q lS.)iE" w...u ~,\(lW "q..;>zo~ fr" I: dnl'ZSSL. ~(U7W~ uodl'll ~ pll;I.U

••

'Pl\-;Yjluj> zt:

~

·"'KI.
'19(R",,~ p:;ronJ''' "I ~UO-"l1 ~!lw ;yjlujO ' ~9zo~r," V "<t-9Z0HJM I: dnr1;w1., ~{~ UCKIelIl: pll":UJ '''!pe z;ltf;''1~1IT 9"OJ l J'A " »"',J.I'jl ll' """'·'llU! "jlU' =. p~'-'J r y" v

»'I,J-,,:n:

',J,.,

l'1IMDW

..

:.....,:::;'''P;;~ ~... .... '.I.....'' ~ •• ;:::,;M~;:;:' ...

3 h dl

1'1

-1'l1"'WW 9Pf'lI"1.9 11'>1!P'-->9J Ill'lmetj ur:qqwt"'UI8:>[ r: , • ., ~ l3 -(. ') I!!~J PI·\QJ ue... ~111~1I.fYl''SQ zr .U!otI· l\!!I~"l\,,),""'~ IIJ.'J1I u.:npI31;I.\DW !UI'1U",z~ ""IJ~ VI") jCl><"> lt'2~I'I\!l 'l~ zr \'-'l[;).\IJoWJ: ' lIrl"~11 sllo'ij3.'DW QI)~.l1"'1li! l)<)I'P!·'IQ.I '1'1Q1IlJIlJoW • V

..

'JI"'"

WI_Ál

,

..
"

~10H""H~ ~UI u~lIllw"t ,""

o.o~ ,,,,,l .. tte1uI=Ál

1""'1 VA

nOJ1.,....... a..~ulueAl!IDt .. A l:

'I'''''''''''' 1a.Qi8.) 1~

'lil'l;>U;>
,,~.\~ 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-"

.,.tih:_, 'IL1'I'9"

IlU:lJ

c >t1Z;l,{íJ;,lbw m,-"W'l ~;)UU"
>f 'U~ ~ . W"'I""~"HFA

IPl! .(ll! (. ') 1OI1O>f'1.\j)W W"lI"Ui U.lI!pl.\QJ ~ u-". ''':>8v-s1.\UU;M,U P9>t ~l!~ c 'lol~lU.ll!~ 1:l.'1l;M,U& ·~,.unw!1ZS c l)ilOIZ!<1 SI klPI;l.\J)W 91lC,..JV<) ljlSt"IU,(íJ., :lISI!ij lens!,\ c 'srPf08:xu !o'Oljl:Mf uo,\8"" t;) IOl,\If\'
OIUlruzo.'I':Ij
lo;I,.~lJ;]

Q201.Jr.\ OZ"''lII!MóOOI.lU : u;oA! l""· t u '"

p.UI& ,~~\QtI IDu;>rp88rn &I>elq "'UlI!UI!lI!d e flQlInu;lJ e '<)Inllr[ IU.wy 1')(fC;J'!01ll'.\ e '1'f",U!!'ZWI.\ 81p;l'd (t) ~ n 'pc PlI"uii' l • 1 sf'IU s;p:;>I.)J1l1 T1~J c
V<);Q

'zSOII :: ;,lIi1!Ji/

<)zoll'·' c ''1!~Ollml;l

r~ c pn.l ~In IU&ISrud ~ JO'I'WY

...l3tfdSV.~

·.",T Oll

s. .. . AIIIIuIIIIM:ic odIlr:iJIi" ~ 1 \2\

A Visual Basic tIpusokra vonatkozó szabályai
Emlékezhetünk Ili. hogy:l. V"1SU:I.l BasK Wgortian IiJlU'O'l nyro". ami an jelenti. hng}' &ti..: programokban 1Ylltldt.'n bt:\'eZelet1 \'~ho;Wnak kif~len meg kdl ~dnunk ~ lipw.il 15 Ezen kivul a \·illo1.&hoz rendelhel6 értékek !artOm:lny~1 korl~IOLU ~ \-:.iho~ lipus::a, \"::IEtYi$ ~ Int"l1er lipu$Ö dllolÓll.3k pfkUuJ aak olyan po.tlU\ ,"~gy nególliv eg~ sZ;!mok.1l adh,uunk érttk01, amel)'~k (körülbelill) ketmilli,lrd ik min~ kélmillClnl közt ('Snek
:I. .... 00.11

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_

DIli fpva".ble as slnql. fpVadabl • • 5

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?
'kIr;. az ilyen érttklKils
Itftásl \-~Z

utn megengedett, men ,. \'~I H:.Wc.1 Idubben liptjj(/Ialaaz c. egész frtéken, &: az ~.~ nem eg6z mékké alakllp. majd tz ullin rendeli 11OU1,. nem ~ &tékll '\Um\-;\hmólwn-

1\ 1,{mslitflWklIt1s al az el(.iris. amelynek ~ somn

egy változó v:tgy &ték tipu,>,' cgy

m1hik tlpusrn \~IIOzik K~IJé\c llpus5ubklds leliClStgcs: rejletI (impikiI. bel&T1~11) b nylh (expli<:il, kifejezetl).
keltett IIjJt'stjtalaltfltu ~kkClf töntn,k. am,kO!' ni/lC\ szílluég a progr:amozó bei~~lkQZ:i­
~'"

egesz énekll6l kOlön progr.!-lTlm-Ói kód ,*lkül lehelell cl61l1iwti az 5. (
ábrhob$l.

Az oménl UtOl! k6<lreszledJl"ll azen kmllt,.,.". rqlett lIpusatalakithr.l. men az S nem egt5z

122 1 L,. • IInwUd6IIlASP.NET411
A.NEl FfII'lIwon: SDK cIolument6cl6fl. 'Illett típusitllakflásl ccerClOoHllt
(t6nyszlritis) MVIli.

A 1I)111Ifpo4Milal(Ik{I,is.,z~ szemben meglcÖ\'Cleli. hogy mi. a prognunoWk. kife)C:Z1..'lI~"'fI jelezzük, hogy lipuSlI:d"kith stiik1Jéges Ahhoz. hog)' <:gy v~hozó Ilpu.sál nyflllln rneg.":1!1:ODas9.Ik. a Voswl !\lsi<: beépített ':Type( rugg.·enyet ~11Jk. amri)..w
\IU!'iWform:ija " kÖ\'elke-.t6

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
A CTYPe(

ill fpVarlabl. fpVariabl,
lu" CTypI!(

a

gl~la

;ypel~.

ainwi.)

fOW'ény 5('8i~'eI:ot ,egésl: I:rttkCl n)i1tan Sll'I9l. [ipu.su\'oi abkitjuk, "nM'l)'Ct atIJn a ,1"\1"1., tipw.U fpVarlabh \'~ltozóhoz rendcliJnk
A Visual BasIC C'l'ype ( fiiggvjny6n kfvül •. NfT ~ létedo:. egy Conv"rt lIIIVli oSlté/y is. amely 1'oJ\<I'.. t Tipus l) fOrmjjU t"Jfüggv6nyekat tart*nll. tt. al S ~ tirték.el ~ nyih tlpusátalakltással SIng) tlpust'N,

SZ8felnW: llakftn, IlIIrflatt.*:
tp

rar at

,"

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'ftdcurtominy~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,
II t;rn'i\6 ~\alJkil;Í.'; ellenl~e a s..··ííltílif /ifmsá/(lftiJfftá$. Gondoljunk ~ld.:luJ egy nem egbz sldm mtkll \-;iltOZÓf"J, amel}'eI, egfsz Mi'kil\'é szeretnfuk alakit;lfll. Amennriben a nem ~ vJ.llow Méke ' . O. a billonMgos>Jl :illlbkithalfUk al ! egé'lz

w,not

5, ÓIlI

A ViSUII BIIiC vit0z6i" ~ 1123

bkkké. De mi tönt'nik, h.. II v:lhoz6b:m II 3 ,14 énék tal!ilható? En 5Cmmilyen egés7énék nem adja vi5.sz:1 pontosan, ezért az ilyen .1talakítjsn:Jl al. eredmC:ny ] lesz,l;s II maradékot dveszílJGk

SlJ):,ító tipusátalBkltásoál mindig fennáll az információveSllás V9SléIye. Amikor például a ] . u értéket egész szAmmA alakit;.lk, a szám O, U rém

~

A rejtett tfpusátalakftás szabályai
\'éve , hogya .uUkil6 lípusablakít:is ad:lt'esztés! erronlÍ'n)"ezl\(.~, il'> ötlet. ha a Viswl Basic engedtlyezi 3 rejlett szUkítótípus;lt:r.laldtlsl. vagy .. kkor!:lr el hel}"e$efl a n)"el\!. ha mirKk"fl il)'Cfl éSel.OC'fl ny~ltípusátalak.it:i5t követel meg' A ,,,,!ödi 'zigor\i:In tipusos prog1'.1mOtlsi nyelvekben ~ ez a S7.abály' ha olyan kódol pr6blllunk fuUatni. amelyben rejleu szükíl6 típus.'itabkil:is t:r.Wl,..tó, hiOOiizenetel kapunk. Az al:lbbi kód tehát egy ""Iódi 5Zigorúan típusos n)"elvben hibásnak min&ill:
~lgyelembe

DIli " aa Int8!,ler

"

8"

Ez II kód alén erroményez hib;it, mert a , művelet nem egé<z s.cimot (2 . O) ad viS/lUl, amelye! egl!sz sz:lmnd keU alakit:mi. hogy aZ ,,·hez Il'ndelh",... űk, eZ ',szom szúkít6
típu.s:italakíds. Egy ""Iódi szigorúan típu5O!i nyelvben ilyenkor nyilt lipus;ic,lakílht kell alkaJmaznunk,
0111 " aa Integer " _ CTypel8 t. Integer)

Di .. " ,U, Jnteg .. r x - Convert . To l nteg"rI8

4J

Ha wkíll!skor nyílltipuslit:r.lakítht kö\"eteJnénk n!Cg. anIUk n lenne a h;ilr:!np, hogy :I V·.'mal Basic regcbbi V;\ltozatai mcgengedtl;k az ilyesmil. ''''g)is régi Vi5u~ I B:l5Í<: l k6djainkat nem \Udn~nk változatlan fOflT)jban újra hasznosítani a n)"elv n~1i dltozatában - 3 régi kódokat m6dosítmllnk kell(:'Oc. hogy nyílt típus.iulakít!í& alkalmazzanak.

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
D;II "
cg~

I'rtéket éllékiJl adja az x ,'iiJtoronak:

<o.

I ntO!ller

"

9' 4

124 11. ráz· Iamarbd6IIIl ASP.NO-teI
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:

Ha egy ASPJ":ET oId.:!lon nem szcn'lnénk engedélyezni ~ rejlCll ~roKíI6IÍpus\talakíŰ$l.. a Solution Explorerben dupla kanmtá.'l.5a1 nyi.\&lk rl'K'"g a f;íjlt, majd a PropertIes ~blakban ko:res.sük meg ~ 00CI.IMEN'l' dem tulajdons;igait (ez ~ Propt.'ItJeS ablak lenyiló 1ist:l~b61 választható kt). Az ASP.NET...:szt>en találunk egy Suict (Sugoru) ncvú be:íUit.ist - ha ezt True-ra áJlitjuk, ICliltjuk:l. rejt~11 szúkit6 tipuSitalakit.ist. Az 5.Z. :ibrán jjlhaljuk. nogyan keila Prop<"flie:s ablakban True-ra :\.lIiuni:l. strict be~llittst. 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!

0-

-....._--. _ -_ _-.......,
._ &.o

...

...

5.2. Abra
ti Strici l>edllflds " fXX:((\fLVT elem 1"/n.jd(",~bklM",,k ASPft'F.!'~, ",ld/Mró

Ebben az

~ az 5.3 ~br1n l~thllt6 hiba(l1.enClCl kapjuk. amint megkisL'"fCljOk betölteni az ASP.NlT oldlIt egy bön~.

Ebben a könyvben nem a1kalmazruk a Stricta "Tru,," beiWIitásl mert egyes példákb811 rejtett szűkít6 tipusAtalakltás forduhat elO. Ha mégis e mellett a beállítás mtltltt döntenént, I m8lJlele\6 példákban nyflt tlpusátalakítást kel ablmamunk.

S. óra • AV"IMI sasie ~ 6I1!lOveIeteI 1125

. . .. .. _-----.,..--- .. .
" ,. " "'
~:'!"""':'"'".

.._-_ __--_-.-_-_ _._._----_ -- - .. -_.... .. .... -..... -_.
--.-..- _ .. ' - -

_,

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
Oi,. v,fltozóNe-ve ...
tipu~

A "áh0z6lÍpusa h;lt:irmu meg, milyen értí'kekel tárolhatunk a \'~ltoWlxin_ M,nden flpo.l5Ilak V;IO egy tnéktartom;lnp: n Integer lÍpu.sú -.;'i)toz6i<b"n péJd:íul -2 147483 648 és 2 147 483 647 kö~ es6 pozití" 6; negaa,· egéu .clmokat L1ro1harunk A ,':l.ltoz6kn:lk énekad6ut~~íulsokon h'n'"SZlill adh:uunk {"11ék("\, amelrek ml1vdetl ;ele a Visual Basic nyelvben az _ jel. Az éllék;J.d6 ml1"elt.'1en ki\'iIl mhfa)ta ml1\eletek is léteznek a \,sual Basicben. Igy szjmtani műveletek. minI a " a -, a • b " I: összehasonlit6 m!l\"eletek, mim:l. <, 3 < , a,. k a ,. : ,,!Iamim 3 k"rnklerl~ncobl Ö<;S2.efcruS ~ művelet . 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átalakí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.

A következő 6r.íban II \r.wal Basic vC2b1ési 5zerkezecelfe fordiljuk a I1.gyelmünk...>t, A vezérlés! sz.erkezetek !ehe!óvé tcszik , hogy módositsuk II program ut:lsit!ls:linak "égreh:l~;\s;'jt. ami alul~ban aZI jel('mi, hogy a kód eg}'cs résl.Cit Ismételten "égrel\:ljljuk, amig egy bl7.onyo.; feltétel nem leljCSiil, ~-~gy hogy ('gydlen eljir:\sb:l v:tgy füSS"ényl", tokou.uk az egynlhhoz bpcsol6d6 utasítások:ll, amelyet ,,~tán egy<.'tlen k6dsolY"~1 meghívhatunk.

Kérdezz-felelek
v:
K; II 1!,)~.kvrlQ/l}(m si/nl" huszllliljiik u rodtlüetl éntlkatl6 m"'H('tekt!f? 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 A VB,NET-bcn eléihet6 változat ennél jóval tömörebb,
v.fl r oz6 •• 1

Ennek a tömörsl'gnek köszönhetően a gyakorl3tb:m gyakTlln alkalmaztiik a röviditCIt énékadó műveleteket, és a könY" péld:\ilJan is tlll.>bsWl" t:lljl kozh:uunk "dilk K: I,m MmJiI)'c.l elö"yc ammI., ha 1'8)' ASP~\'ET ohJa/OIl "Ihle-ru állil}uk a Strici betlI/í/list.> V; IsmétJésképpen: aSt rl e t bd.lliLh True-Tl( álliUs,1 ~ Propertics ablakban arr:l utaSílp.a \r.wal Ba.sk\.'t .. hogy ne engedéirezze 3 rejtett lípu~t:llakítá:sobt, lb a be1I1it:iSf\ak a Fill .. értéket adjuk (\"...gy meghaL'irwatlanul hagyjuk). " rcjwu bővítő ~talakít:í.o;ok tov1bbr.o. is trvényesek mar:ldnak.

5. 6ft • A YiIUII BIlit d .....ói " ~ • 121
Jómagam meg sz..,kClm hólg)'n. a rqtC:U l:6.iI61ipus..lClb~ 1ehe16:ségi't. meri \:l.pasn;!btom ~nt a kód íg)- ;itl;itlt.:lt6bb INl'lItI. Min<bzon.llul J I"(:!lcu lipu!>~tabkít;is n~g)'obb teret enged ~ hib;\kn~k. men a ,'litozók a tudtunk n~lkul dIthatnak tipus!, A ml!\"ck1 pfld:\ul ....m egén ~7.:im()t 3U etedmlinyül. az 311bbi köti méS5CIn erewm<nyez h,ibo,UZ<'flCIet (hacsak n",m álJilQ\luk 'l'nJ.,ra 11 ltrict bdllit:i5l);
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 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,

"LWlrII""'"

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

•. Az al:ibbi utaSlw

5. Az aUbbi uwíUs klbt&lbeknr Tru .. ,.agy Fal. . tTtéket Jupunk?
::"Typo!I4 I

" "

,

kiénéke~kor

'l"ru", "agy False 61tket kapunk?

Int .. q"'1

l

128 1L r6sz. lIrnerttdiM; II ASP.NET-teI

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 A Short adauipu.sl . b~r a könyv példjjoon a7 alapértelmezett eg6.l; típUl' az lnteqer. 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, Az eredm{,ny " .. lee 1eQ.. A 413 osztás az 1 .3333333333 ... éneket adja vi:§.!;u, ami n<--nl egyenl6 l-gyel. 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.

2,
3.

4.
5.

Gyakorlatok
Ehhez az 6r!ihoz nem tartozik gl'akorlat, főleg mert Í(:knieg még csak annyi \ "!SUa) Basicisrncrt.1tel rendelkezünk, hogy tudjuk, hogyJn vezelhetünk be típuSSlllll.'1ldelkez6 v1ltorokat és l>Og)--:ul rendelhet jük hozclJUk egy kifeit'zés l'rlékét, A kö,'etkez6 6r1ban a VISUal Basic \"e~rIés.i szerkezeteivel fogunk fog.l3lkoznL amelyek ijegí~'eI ismétl6d6en vagy egy f{'ltélel tclj<."Sülését61 függ6en hajthatunk " égre egy-egy k6d~7.I. l>Uután dsajJitítO!IUk e7J az anyagO!, mir mcgvj~gilhatunk néMny bonyolurt~bb k6dpéld:it.

6. ÓRA
Programok irányítása a Visual Basic vezérlési szerkezeteivel
.1

ke.. ,ar1l</mából
• FdlL>\elcs urasítjsok h3.s<:rulb l:l

A VISUal &sk :llt... [ t:lmogatOI! cikJlI~"fkezet<.>k f~jIj;

• For ciklusok hllzrúlau • 00 ciklusok hasm;iJ.. CI

ts a filgg"en)-ek köW:u kUlönbkgclc • EljJ.dsok b ftlgg·.. mydc hamúbu
• Az elflr:lsok

6r:íban kd oIy~n progl1UllOz.hi demr61 beszéltOnk. amely ffilndm progf;IIOOz:1si r1)'dvben fomos sz<.........,." tölt be: :I. valloz6król és a nn1wletekről lopecltorokJúlJ. 1:lJben .. u
~

k<.-k(-l!en CIn' hasonlóan l6lycges fogalomról esik

I'ZÓ - ~

I'I!WrlCsi $2l, loezm*"'l

130 II. ráz • lsmeIked6Iaz ASP.NET.wI
A '-ewn&i szerkt:lelek a progt:lm végrehajt:'i$ának menelé! sz:IWI~'Ozz:'ik, nélkülük a program első sor-d futna le l'I6ször. azún a második. b igy lod bb, pontosabban abban a wm."ndbel1. ahogy a kódban su...epelnek. A "ezMki szerkezetek nonlXln m6d0silj:ik al UI1I"ílások végrehajtási 5OITCndj(~. &5 azt is lehető... é teQJk. hogy egy-egr uUsltáSl Lö/:>b!;lÖ< is végrehajt..;unk. Ebben al6riban a vezérlési s<:erkezeLek köriil a feltétela; utasit:iwkbl. a ciklusokkaj. al. eljicl.sokkal és" fOggvénrekkel fogunk megismer"'x1ni

A vezérlési szerkezetek működési elve
A sz1milógép egyetlen dologr;!. ktpes. de abb:ln verl1t:tellt:n' utasí[jsok wrm.;u~n:Lk ,-égrelJ.~jtás.ár:l A sclmít6gép szernszögéb6i nézve nllnden program u!3siJások som. amelyeket a gép precÍK'fll's gyorsan végrehajt. Az utaslt.fsokaL valamilyen progm.. mo:clsi nreJv"n fogalmazz.1k meg, ilyen nyel ... ,*kL~ul a Visual Basic_ lb például azt S7.ereménk. hog)' a s:clmítógép létrehouon "gy "gb1. ,,;dm értéktl dltozót. hozzi· renddje a 4 értéket. majd a ,'áltoző értéké! mt:gswr07.UI 2·... eJ. az a!.ibbi kódot irhaljuk
Oill

Integer t!puall vOtoz6 Utrel\odu a 4 értékkel val . .llyenValtozo .. 9 rnt"~,,r • ,

~ val~ily"nv"ltoz( ért~kének rneq8.orz6 ... 2-vel, Majd a 9z0r~at , vhna1r6." II val_ilyenV"lto.o v6ltoz6ba le. egyenértékd II , vala/O.llyenv"ltozo ~ val ... UyenValtozo • 2 onlv"lettRl) val_ilyenV"ltozo' 2

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.

Figy<l!júl:. meg, oogy a fenti k6drész\etben 8 SOI\lII:, egyetlen 8~ futnak le. a második III elsd után. Ezt II fajta kódvégt8ha~bt soros végreh8frásllBk (szekvenciális Wgrellajtásoat) nevezik.
Mi a IIelyzct 3 kkor. ha nem s<:e.-....tn(ink, hogy,. val"",ilyenVal tozo kkszer kapjon btHet, '':lgy ha csak akkor akarjuk el\~gel1etni 3 valami lyenValtOIO .~ 2 művdetet, 11:1 a valwn.i lyenvaltozo értéke ki5ebh 5-nél- ~':Igy addig akarjuk folytatni a 2·vel ,,:a16 ~ amig a val .... ilyenValtozo /!néke nagyobb fK.'ffi lesz lOQ-n:á1l Elthez meg kell v:lltozt:lLnunk az utaslláso!t: ~égrell:ljL~si sorn.'fl(!jét. amihcl: ,-ezblbi $zerkeze. Il'kre van szükségünk A vezbléf,i !Olerkez<'Iek lúrom f60$ztál)'a a kövelkew,

6. ón • propnot rinyft6A. ViIUII Baie ....... 1ZtIk8zet8iwI 1131
Fdt&ele:s szerkezetek. amclycknek a "égrehaflásMa csak akkor keriil :jOl'. ha egy adott fdt&cl teljesül. • Ciklusszerkezetek, amelyek addig ism&elnek egy ~dott utasításson. amíg ",Jamílyen feltétel nem te!re:sül • E~ fogó vezérlési szerkezetek (bIokkszerkez<.1ek), amelyek 3Z ÖMZ(OWI'tOZÓ u!:tsit1:jOkat modulokba csoponosítják, amelyeket a progr-... m különbOz6 hd}'ein5l rneghívhatunk Ebben a leckében mindhárom típusú vezérlési S'lerkéZet n}·e]v- és jek'nt6larulval meg15merked!lnk. •

Feltételes vezérlési szertezetek
Feltetdes n,zMésl :;zerkezeteket akkor használunk, ha uusita:jOk eg)' ~t v:damil)'er! felt&elt61 függ6en szeretnénk v~grehajutni. A feltétele-s vezérléii szerkezetek legegyszerűbb form~ia így f~;
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 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:.
(tt

_

A leltét&les szerkezeteket gvakrtWI hIvják If szerhzeteMek (.Ha"' is.

Az ,,16z6 óclból emJékeweúlnk, hogy aZ ÖSSlehasonlitó nn1veletek mindig logikai (Boole-féle) értéket adnak vissza. Ezeket a mO'vek1ckt1 :ilt31~ban arr... Il:>szn.1lják. hogy ósszehasolllíts:\k kél v11t026 ,-a8)' egy ..51102.6 ts egy adott kód<:bl kifejezetI clem (liter:ll) ért~k(1, A Visual &sicben például ~ következO' k6clcb1 ~1l3píthatiuk meg, hány óf':j van ~ppen:
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'"
el en az ASp.!\U ",-eboI<.bk' Ehhez e\6ször houunk k'u't' egy UI ASP_~ET ... ebhe!)-",.1I sz;imil~nk f~II~. IIlOIjd adJunk hozz:l egy Ti • .o.wrop~lateMe,,"~.a8Jlx tidOponlfilggő üzenet) rv.'\1l' ASP_~tT oId:!.h
K~lSI.ik ~

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.
adjunk az oldalhoz qn' Uibd \czbl6t, amd}TIen rnegjclcnillM.1j1)k u Qzen"'l1 3 Toolbox PalCtWÓl huzzunk e-g)"U.1IZ <>kb]",. Ez uw. a PrOPertJeS ahlakh.m rn6do«il5Uk 3 címkc lD lubjclorlsjgil lblMII.Hg.-re. b törQljuk a "cZérl6 ': ·",t lularUon<.l~n:lk l'flckl:!:. A képcmyón ekkor ,"abmi ~lU kell Utnunk. num" 6.1 lbrln
n

~

-•

.... _--_ ..... _-.•.. , . . . . . . ~ . . ~'"
._~_~

••

_-0

.

ol·'" :I

""

--"'",_!!L"

_ _ _ _ _ o

- _.:-

._.

--

6.1. ...
..... OIdIJJ "v 14M ,U<'rl6
jf'JnfN """,,,

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.

Z,
~

" l h I Ch .. " ':'l~,uAf'proprlneMea"9" Int .rit, Sy_tea.Web. I.P_
Prt • ~ ot ed lfUb P.,geJ,o<ld I ByV.,l .,eno:»r AlI _ Sy~~_.Evm>t.\~~\ t\.Ondlea Me.Loo.d lbje.:;t, lIyV>I l • ""
~

,

SI
6, 7,

II o.teT'''._.*' ~ lblJl<t ....goe.1'eMt • I»d If

~.

, .o.nd o.teTl_._./Iour

12 ,",en

0Qood . . nti"'1'o

0,

10, ll. 12, ll,
H:

"

rt oo.teTi_.f1öw,liou, >. 12 And OiIteTI_._.llour lblMau&<llle,'l'''''t - 'Good af ternoon , "
"" H

<o

17 '!'hen

H

oateTl_.N"",Hour lblMe ..... '1e.Text

:>

17 Or D.otl!Tu...,.N<>W.lIour < 'Good 8venlnQ.'

~

'!'hen

IS,
16:
17: End Ch . .

End SUb

"" "

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 megjelefll5 !izenet ft webkJSlOlgálót futtató számitógép idejét61 fiiw, VlI!/VÍ$ ha az ASP.NET Dldalunknak ell'( olyan webgaz<la ad otthont, amelyik m6sik id6lónábao található, ft kimenet !lern biztM, hogy ft saját idónket tükrOzi.
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. 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).

ru.

AJ. ÖSSleten feltételek jobban oIvllshatót, 11$ a möveletek sorrendjét is megha. IMomatjllt, ha za,ójeleket haSlnálurü:; beootik, Péld§ul ha etl'( ulasflASsort akkor szeretnenk végrehajtatni, ha ill óra 9 és 12 töo!é lISik, V!I\IY 11 óra van, ert a kódot írha!jul:::
If (O<tteTlrne.tl""'.Hour ,.. ~ ANtl o..teTiJDoo.Now.Hour <121
~

lR

(O<tte'l'lme.Now.Hour _ 171 then
,ut"81t~sok

, ., End H

...

!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.

A harm~dik fcltfu:1 a B. sorban taliiható. b; arra szolg:ll. hogy a program megtuookolia.
hQg)' a1.ór.l 17 és 6 közé esik-é'. Ha a kl, fcllcrcl b:l.rmelyike Tru .., a II sör fut le, amely a Good evening:. ü:zenetrt jeleníti meg.

Vegyük észre, hogy 8 J>I'OOf8m mindhárom leltételes szerkezetei végrehaJtja, de csak ar: agyik log True-I YisSllIadni. ami azt j&Iemi. hogy a hérom kiilUl csak az egyik iizeottt jlllaoik mag.

Utasltások végrehajtása hamisnak bizonyuló feltétel osatán
Ahogy láttuk, u rt u~itál; akkor hajtja végre al. adon k6dsorw:1.l0l, ll:! a megadott feltl:lcl igaznak bizonyul. De mi történik. Il:! azt .szeretnénk. hogy bizonyos Ul:lSitl5ok akkor fuSS:lnak le, ha a feltétel lX'11'l teljesül? Tegyük fel p!!lillul, hogy V-Jn egy pass'o/Ord (jebw) oevű kar:lkterlánc.váltOlÓnk, ami a ....~ldp... I::;IOg:1I6 fdluszn:116 jelsz:lv:ít t:írolp, Amenn}"iben a v:ílt01'ó enéke · silaza"",- C.szedm"). biz.almas mformkiók:u jelc:.-'nítilnk meg. mig ha a jebző ""'" ·shn...... •. u azt ;elt:mi. IKIg)' a fdllaS2.n!il6 ni""" bmokilxm a helyes ;elsz6ruk. ezén fOO'elmezt<':t6 IIzem:tet kllldilnk nek!. 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,

<~ ·.han.... • then 'Pl!lY .. l_"t .. t~ft _gj .. l .. nÍl~se. hogy -'h"lytelen jeluót adott lIOe9 End tr

I f pauword

ft

!elhannUó

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

ln ha II feJt4fellelpol

('!T.w),

al Ut:ufclÍsl-uta.t, •• NUlasiusoIc h.:.jlódnak

,-(-gre. ~ program pedig ~IUgcwj3 az ~1.eUca81t6.1-'U..",t.tlft,{sN bIokk~. mig ha
a teltlIt "I hamisru-k bizonyul.
~

ford;!'..

tOn~"fIlk

lefutnak az

E.1se{1t,,~

tlÍ.l-Eheur.,.ltABNutl..~,t.lsok,.ll

Utasit4/Jl-Ut . . fc,bNblokk peti'.'! kun:.nd
~lírll:lliuk.

Al; Eiu UI~sJcts ,;egil5éghcl a jelwXlleo6rzl5 kódol ($ólI< eg)'et lartal=non,
If pa

hogy k/1t fdldd helyeit

''''Jro

u.

'[

·.Iwo%... • th_n info.....tO'16 -.gh~,,"íté ...
"Ji"l. nit"
t
9y

'Flqy. ,ueté. 'hely' _ ... lel

a tel h....,tI

~"

''''''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ü..

Másik feltételes utasItás vógra!lajtása hamisnak bizonyuló _tal osetén
lU El 'Ul;lSÍtlson kivül az If utasi!lsok El_If cir:.d8u)I i$ unalmazh:nnak. ame'j'IX'!! b;ittnenn)lllelJel az ulll5Í1lsonlX'lill, Az n .... l f ug)"nügy kÖVeti az If Ulll5ítJSt, nunl

az nae, de ehh<:-7. egy ugy:mol)"~n fclt~eI tallozik, mini az I f-heL Az Elaeit kulCSl!lUÍ( köz\'cd""nill kÖ\'et6 uusílholc CI:Ik. akkor fulrlak l." ha az I f fchl1eL ,,:tbnunt ~Z ~C$ megcl6z6 El_If felt(1d lumisn:tk bizonyul,:u: adon Ell ,I f l>IOIdC fehl'tek pedig iaoIm;lk.
Ez a Ioeir;is eb6re némileg OOmllyomak rtInh.,t, de eg)'!*Wn k~l mf8'1I1gillulfUk a Imregel Először is \'lzolJUk fel :u: El"lf úrdkolOOoJ elUIOll If Ul3sdsok 11t:i1Ul'lO$
al:lkl'i l
It f"J~4cel 'MI .. "

ur,.. fr.íd
ur6..!toÍIJl

136 1L r'-z • lIInIrkeOk IZASP.NET-tII
ElseI! ell1eIfIfe1t~tel KIsel tIUt ..sit .... "1
Kl.elflUt ... {t ..... ;;

El.elflUt ..... ü.f1lN
EheIf "ls .. If2t"ltét.,1 EIseI tJUt •."üAsl El.eItJUt ...üAs2

EheI f .ls.1fNf.. lt~tel 1l1s .. I fM/taf:ltASll El •• I(NUtasic ....'J2

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. De wrjü.nk most vissza a TillleAp{)ropriateMe....lIg... lIspx példánkhoz, amelynek forr:í$k6dji! a 6.1. pl:ld:lban JállUk. StinJunk r.t egy percei, és I'usMink végig ismét awn a k6don. Megfigydhctjilk. hogy 00 fúrom feltélel! Il:Iszruíltunk: ~Z egyik ami voll kív:\.m~i, hogy ~Z id6 reggel 6 6; délel6n II köz': esik-e, 3 m:ísOdik azt \'izsglilta, hogy déli 12 ~ dt-Iut~n S között \'~gyunko(', míg 3 harmadik azt ellen6rizte, hogy elmúlto(' rn.'r délutln S 6m, dc nincs-e még reggel 6. Ezt ... lt1rom feltbel! egyetlen If ulll,íclWan il;; ÖS:Refogh:lquk. vagy két El ae:r f, \-~g)' 6;, cg)' Il.he ula5itis scgí~el. A kl:!. EheH blokkOl aJk..1lmaw megoldás kódj:l a következő:

egy Elself

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 .·

lbl H,,.Ug,, . ",",xt .. 'Good ,",v ""ing . ·
End If

A Visual Basic ciklusszerkezetei
A ciklusszerkezetek utasi!áw>rozalok ismkeh \'égrehajth1t teszik leru.16<.. é. A k6d !"fULII"t adon sz.1mú ~ lka!or1lm:l!; ekkO!" For • •. 1I" " t cik!t/:;t kdl hasm.11n l.ln k. v:.gy amig egy fehétel nem leljesúJ - em: swlg:jl a Do ... !..oop szet"kezet. A kövelkew hirom alfejezetben ~ \~5ual Ba.~knek ell 3 ké!. cikJu'M.eO<ezeté!. vi~ljuk meg. Bir az 3bkjuk különbözik. ~ két szerkezet maga=inten cgyenértt'lru, \-agris lényegében ugyanaZ! 3 f,,!ad.110l végzik el - utasítások SOfOl.1t;it h~jtjik végre i~m("tI6d6 jelleggel-. e~t'n

az egyik kidlth:n6

3

m:bikka l.

For", Next ciklusok
Az l.5métJ6dó feladalokhoz \"".Il6színaJeg a For ... Ne x t cikl~erkeZCl a legjobb 01a..szlá" amelynek fOCTIl1ja a következő:
For "9.!uV",leozó Ut,,,;JtAsl
UtiJ"f~"',,2
I:ezd,,~


to ViJ9

UtiJsJCASN

N" " t egéuVAlt"zd

A For ... Ne xt c i h.lSllkra IIVatran hivatkOlllH For c iklusként is. k

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.... A c&WitOl'6nak VaICítaban nem UI ftltMlenúl egész SZimnaI:; _ _ - b6111liIvtn számtlpusli leIltt -. 61 I gyakor1a1ban. Fo..... Next cllusok t6k!yom6 10bIl~ itt ~ érték !WI, mert ezt I cikluslaltit arra tervezt"t.1!ogy Idon legé$ll
$lAmú lIIkIIommIIlunasson lI9Y utasI161$orll.!alot.
Mmlin 3 cikl~l(()z6hoz t.oillrendeltOk 3 kezder kczd6értl:ket. Idut03.k n Ut .. slc<l.J -;·Jt ..slt4sN .......... itho!<. majd:a blokk ,.~ k-,'C 3 cik.h.s,.. ~lt0z6 &teke eggyel n6. H .. ezen:a ponton a l'lldUS\-:iltozó érttke kisebb:a vég tntkntl. \";Igy cgyenk'5 :azzal. az emlitett ul1'>iU5ok WnéI '·~Jl6dnak. Ez uun:a program ~ ÖSSU"Veu ~ Clk.I~-:i.how tnektll "'gd, és ha az ml-g mindig kisebb ar1lÚl. iSmtI nö.. el! ~z tn"ket. Ez cgtszen ackiJg Igy fol)13tódik. ~mig t ciklu$\J":lltow trték~ 1kIg)'ol:lb oem ICliZ a vég értl':ké<*1

-,

Az Vta, rt ,b .. Uta. (c<lUl kÖl6nt utalitúsolt rtIIIdszerVlt citJustllmnel:

lb ptkUul a "Hell. WorlcH' üzendct szen:tnenk hll"OlllSWr n"'1ll"lenileni a relll2SZIÚ.l6 bOnge~, az ASI'.l\""ET "'ebokbl PIg,,-Load esemcnykcrek"i;éh<:n elhelyezhetntnk ClJ. a Por •.. Next ciklUSt:
Dl. I .. ~ Inl"9""
F()rl~ltoJ

I.oohltlv""z"'r16.TI!xt"
Next

'110.110,

Worldl'

i

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 ~butin

visS2irrJ a b;al oId11i ,":illoz6W)

a tömi lefutott. al.

&téke egg}'cl
''2g)'

nő.

m;ljd a program

meg.'~lj::I.

hogy a v:l.l_

toW enel«: ki:sdX>-e }ordl.

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ólrakterLi.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?
A \isual &lsie a szoIclSöSlól eltéró Jl,ptetést a nem kŐlelez6 Step ut3S;ths:.lle,;zi

lehet6vl; a For ciklusokban. :unelybcn pontOSo:ln megadhatjuk, milyen I'rtl'kkel sZt'retnénk nő,-elni a Clklusdltoz6t az ismétlésdm{:l, A S~ep tiirndl'kOl alk~lmaz6 FOI" dk.lw;ok 1ltalános rom(jj~ " következő:
For
<II14$ZV.f1tD~d

_ ",,,,,(!,et

to vég Step

l~d,"z

Utadr.f",l (J'aa/tllsJ 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;! a kö\etkez6ke! írj:! ki a megadott !.:Ibel vez.érl6ben:
o is .. n .,ven number.

esefl1énr(~lez

adjuk.

2 ia .. n ..ven number. t 18 an ""en n _ r .
10 i. an olVan nUllber.

Ha azt szeretnénk, hogy egy I'or ciklus ciklusYáltolÓiának tirtél;;e minden i&métlésntil csiilkefljen, a lépé~özt neijatfv Mare kel iIIlítaoonk. Péld~ ha a Oés 10 közötti p.os szál:rd::at Sl1!fetnéol;; ~jelenÍleni, de úgy, hogy lO·tól iIldulult, lis a O felé haladur.k, ill alábbi For ciklust frIIatj~:
Di .. evens ilS lnteqer

For ""ena

~

10 to O

St~p

-2

LabelV.. ,,"rl~.Text ,_ ""ene' • 1. <In even nUllber.<br l> ' Next aven.

140 I I, rÍIIl' ~azASP,NET,"

Do, "loop cikJusok
A 00, , ,Loop ciklus, amdyet röviden ~k 00 ciklusnak neveznek, addig ismédi a cikluSlörz..; \'~grehajt:i~1 (a fomlál61 filggden), 3míg egy felt&eI (eoml!, v:lgy 3míg a felll'tel ig:>l nem le7., El&7.Ör nl'uiik meg, hogy:m fel egy olpn Da ciklus, aml"ly addig ism~d6dik, amig a rell&1"I igaz,
00 1Ihi! .. f ..1t,jt ..l

ucuHII"l
Uta"ÚIÍs2
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. A Do ciklusok úgy is fell'píthet6k. hogya ciklustör7.s addig i.srnét16djön, amíg egy fl"ll&eI v~gül igaznak nem bizonyul. A Do ciklusnak ez II fajtáj:!. így fesl'
00 unti l

feltlltel

Ut ... itll.l Utasit45;

A fenti cikJusf= m(Jköd(:se a következő: a 00 ciklushoz crve a program ellcn6rzi a fel t éte1·t. és ha az Faloe. "égrell:l~ja a ciklus \Öf7..;;& (az ut /JsltAsl -uc;lBJcdsN uusit.:lsok:u), m:ljd újt:l megvizsg11jlo a feh('tdl, és ha "*8 mindig hamis, fol}t1ljlo a ciklus ism{-llbé\ - "pen addIg. mig a felt&eJ igar. nem lesz a cikluSlÖr'7.s végrehajtba uLin.
A For ciklushoz hasonlóan a 00 ciklus i5 alkalm.~s am. hogy megjeleoí15ük a O ~ 10 köZÖlti p;lros súmokat. Ehhez a kö\'etkez6 UI35;llsson Irhaljuk:
Oi .. nu:ober ae Int"Ver O 00 Whlle nuaobe~ <~ 10 L4belVezé..-UI.T<!xt ,, ~ nUlllber " • h

"n even nu:ober.<br ,,,,'

ln el6ször Ittrehozzuk a nwnbe~ (sz!im) nev\!, lnteg,,~ lipusü ,>;jhoz6t. 6; houlrendeljük a O ~rtékcL A 00 ciklus eZ! kövch'Jen addig isml'!l6dik, amig a number ~rtéke 10 vagy annll kisebb. Mivel a number kez<Wn~ke 0, ami kIsebb 100nél, leful a ciklus

lönSoe. amel)"ben eg)' Ounetet (O; 11 an ev"n nwaber·. ""-gps "A O p6ro du.") fll"zOnk a Label webe:!: \'ezérl6 T"xt ruIaPonsj~hoz. nujd 2-\'el nlh'eljílk a nWllbO!r él"lékl:!.. A cikluSI13lSZ01" ism6l<"klik, amikor is a nUl'\bf!r fl"léke déri a 1:'101

""".....

A Do ciklusa« t6rzst jeIemZ6en tartalmaz.gy otyan kOdsort. amely egy. cikkls leltétel6bln SlIrePI6 változó értékét hissIti. HI megfeldeziri. err61 I k6ds0!ról, I CÜJS ~tIen CitJUSSA válik, amely soha nem ......1. upzefii*. el ptIid6IJ, hogy lfOI tOnlwwlt, ha ~. '......r. scwtlZ eI6l!6 p6kMb61-~, hogv. nu_:r lwtéb maradna, ezirt. CÜJStöns soha ViQet nem (w6tn

Egységbe fog6 vezérlési szerkezetek: eljárások és függvények
Az ebben b az el6z6l«kdlCfl -w:repI6 kódpiHdik mlndejnike p!ir eg}"5UI"\l

SOfb6I

álh. és csupin ami smlpl!. hogy ~llesse a bemU\.3I01I fogalnuklll. A k6UpfkUk mOO.:.ödésének dnn1.6<ekor lanuk, 1"'8), ,,,zériési .s.:erke1.Clck. pél<tiul aklusok \"llgy felk1dC"!i Uta5íÚ50k ..eguség(:\·d a \~lSUal ~k u el>6l:61 az ulols6 501" felt 1131~d6 \'tgrehajtási sorrendre mcgdh<m;l1l1316. Ez"ken ~ s<:crkczeteken kivOl awnblln a V,sual Basicben l';lell~k ('g)s•.'gbe fogó (. /nodulm'Ízál8') t'Czérlht $Zf.-rl«>n:/cI.I is, Ezek olyan nerkewek, amelyeknek a .segitségével kódmodulok:u hoztIluunk léue. A mcxlulok sok-"'Ok k6dsom6l.illh;unak. bemen6 p;lrJrnt1creik IdlCtnek. éi mHet is \'L$Sl:Iadh;nnak.. A legfOOlO$:ólhb 3Zonoon. hogy a h~131 l\asic foni5kOd u.'ISZliIeges htdrér61 meghí\ h:uók
KM&- eg)'~ fogó \'e~i szerk.ezetlétez,k, az co'jUn1so.I!(szubrutmok) és 3fi1/1.$,6/),,* Az cljár:hok "cm adnak vi5.st:> o;cmmil)'en tntket. mig a függ\"én)'ek mindig rendelkeznek \'l.. 'zall!rtsi mékkel. de mindkeu6 k,\'<\loon alkalnl:1~ <lfI1l. hogy ... ~ pmgr m logikai .,gysl!gc'l összefogiIlk. ..

nEzzünk meg egy - n.:.."uk:g tJ~"WefŰ!.l..., - p&b~. amely em' üzenetet iSlnttel. ~ az emögött mcghúzbdö loglIul egy elplmmn ragp 0Mze. Au;tl kezdjO.k. hogy Irucllo1;unk '"8)' új ASP"U \\'ebokbk ;UJlroutiner.....'-f\l. ~"P~ nn..-,n, majd a lroll ~'het oonbó,nk egy Label \'e~ törölp.ik a Text Illl:!~gin3: az mékd. al ID lulajd0ns;5g::u pedig _.",tput _rn (lumenet) iUitjllk.. Ez u~n Ittreh02:11nk egy esernmyker.ek'5t aZ oldal t.oad ~llImyéllCL All $7xMnénk.lw ez al. ASP_N"-, oI<b.l3 -W .. lc,_ t" IllY W beite" (Üdvöl.k1 ll .. honbpomon!) >W\'~'S'-1 ;clenitené meg, ml!ghoz:cl nég}"SZ~'1", Ehhez egy egy_<Zenl Por ciklllSl.l~lh:.uunk. ~mdy Il<w'.cfI.Tzi a ·W.. l".... t,; ""' W beite- kir:lItt.,rUncot .. OIZ "utput <ÍllIke TeXt lubjdonslgi'."j a ciklll$IÖr"lWbm. Al; okbl fordskOd!'&dbe oornndó kódot a 6,l_ ~kb mUCilp_
Al; eljlrjsok &,

filgg'o'("'yclc

műki'.odbmdc ~i.'5i-hel

142 11. , . • lSrn.tId6S IZ ASP.NET-t.!

1: Pani .. 1 Clan Sub~ou.iML"Baonl 2: Inh .... i •• ByU_,W"h.UI.P"'óI"

10: ti"". i ll, t:nd Sub 12, End elau

., " " .,
0,

"

4:

Ptotected Sub P"'óI"--"",,dlByVal a~nd"r ..... Obj=t. ByV,,1 " .... B _ Syat ..... Kvent/u"lIal lIandlea Ka.L<><Id

Di ..

j

As IntOl9""
l~'

Fori.1To' outp"t.T.."t '" 'welcOIIIe- to IllY web>!ite<hr

Megftgyelhetjilk. hogy aZ 5. ~n progr~mb61 töröljiik a Label \"eÚ:r16 Text ruiaidons;!ginak értfkét. mtgpedig úgy. hogy a tula~ghoz egy 0= karJktc:I1:1n<:« rendclunk. Üres karJkterLtncol: kétféleképpen idöllJt:tilnk ~ progrnmpinkban a StI"ing. _ty kóddal ~sd a fenl.i k6<l5. soclÚ v:>.gy egy t:.Irt~lom ""lkOJi karaktcrl1nc-literl.llal ('-). A kód tejÚt u~"anezt a kimenetet el"t.~n~'eZi. ha az 5. sort erre C5eI"éljű.k: output.'h!xt , , 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

Ez u!Jn kanimslInk dllpl:ln tervez6 nézetben a gombr.l, vagy forráskód n"7.<."Ib"n \-;ilaSS2uk a BuUOfl wel>cs vezél16t a !xli oldali lenyíl6list~b6I, illetve ann~k ellek e;eményé! a jobb oklaliból. hogy egy cseménykezel6t ~diunk a gomb ellet

eseméfl}'éhez. IUnneJyik megold:1st v.IJa5njuk, automatikusan létrejön az t!Se'nén}'kezel6 du, A 4. leckéb61 emlékezhetünk, hogy ha ~'gy Buuon vez(,rlóre k;,túnlUnk, annak CI iek esem('fl}'kezeI6joe fut le, ez':;n ha azt 57.eretnénk, hog}' a gombr:l kattIntva négyszer a ·Wel".... to m:y W"bsite · üzt'~t jelenjen mcg, a gomb Cllek esemény· kezel5jébe kell 'rnunk ugyanazt a kódol;, :ullclye\ a Page_Loe.d eseml'nykezel6höz adtunk .

..........

_... _,_._"'"-..... .
.

.

6.3. in
Az oldal

W' 80mb

h~"Iá"

Az ASP,NIT oldalnak a Click """,ménykczel(i\el (1 1·16. SOf) b6vít~'tt forrlsk6dp! a 6.. példában l!ithatjuk. l

l:

Pa~thl

Clau

Subroutin.!l~uonl

2:

ln~edt ..

Syste<o.Web.UI.Page

.,
S,

"
4,

Protectrd Sub Pag,,_!.o<IdIDyVal seml,, < A.o Objooct. DyVal e As _ 5YstC!lll.lNentAl1Isl Handle. Me.Load
output.T1!xt • String,Empty

" " 11,
0,
10,

". , . , eo,
,~

IntlOOet

outpUt. Text Next
~,

,

"

.

,<

·Wel".... to IlY Weboite<br

I~·

~ub

12, ll,
H: IS: 16: 17: 18:

ptotected Sub Buttonl_CUck(lIyVal uender "" Object. ByV,,' e As Sy.t""',EV~lltArg.1 ){andi ... Button! ,Click 01 .. I As Int~er Porl _ lTO' output.T1!xt '-~ ·w"le.... to """ Webtoite~br I~' Next End Sub

_

19, End Cl ......

144 ! L rá:!: • lIma!bd6S az ASP.NEr·1IIII
A:/. ASI'.Nt.T \wboldal! !gy kib6vftye ~Z okbl..-ls6 IIJCgl!uog:..lásakor négyszt.-1" megj..-lenik

a °h'"le""", to roy Webaite " Ü7.enet (3 Page_ Load cseménykelxl6b6i), illetve egy gomb. A 6.4 . ;ilir.in azt I:Ith:lIjuk. hogyan fesl a SubrQutine!.euonl.aapx. rniuctn a 6.2. es 6.3. péld:lk k6di~( hOzz:ladtllk.

w_ .....-_ ...... _.....w_ ..... _

6.4. lIbra
Az rl:w>rCf '"<'ghr mi"f!jelerlÓlJOmb

Amikor a gombra kau.mtunk, elindul annak Cliek esernénykerel(ijc. de nllve! az ASI' 'TI okbl reldolgoúsk~ ismét 501 kerul. a Pag"J,oad CS(.'rT)(inykezel6;" úlrd leful, ezén a ·Wele""", t.o roy \-Iebeite" üzenet ,,>oIcszorjdenik meg (lásd 3 6.5. ábrát).
) _....., 0"_' _.
.... OOo _
~

,., .... ,"

_ - '"

_.....- ...... _......----..... _....... ._........._ .. .......
.. .....-

......

-

..

_

6.S.jIn
JI 8Ombro wWnfQs

"ta" a

Ire/co ...., 10 my u>tbsOle" nJ'OIcszor kirhm6

Emlékezriink YÍSSlJI, /!ogV a 4. óréban röviden szót ejtettünk iIlQkr61 a műveletekr61, amelyelr::re " Bunon webes vezérlókre kattintásl;or SOf kerűl. Ha a működési eN még mindig oom tiszta, lll! agg6djunk, a témával részletesebben foglalkolUr'lk majd 19. órában.

6. ÓlI

Prvf., .... ~. V.U.I BIlit ?NI'" .......;". 1145

A felesleges kódok mennyiségének csökkentéso eljárásokkel és függvényekkel
6:lr ASP:>.n ,,~tbll.lnk kód;;;' meglehet&en eg)'SZlml. \'lIiruuk benne fd~ L...-néII6d6 tk,,~k II ·W.. ~". . . tc "'y ""'1 Hit .. • ÜZ<.'1'lelC'l megjclen.itli kód kéUZ~ ,~I , egy~er" Pa"e_t.o..d esem("nrke1.e!óben. eg)·sler pedig ~ Buuoo H'úrl6 ~lld; esen~nyk(:zcl~n II felesleges kód tnenny;s<.'~~.:gy elj;írJs 5Cg'~Shcl ClIOItkenthctjilk II kÖ"('Iknö fomúju C'ljlrisl kell megimunk Ibl. 1"1j.:l"" _ _ 4

",,,.I,,"J

UC"flfe4"J

II SUb és az End rub ~ kOzönJ kód a1. et já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

ASI' Nt, wdx>ldllunk hoz ím:uunk e!!>" DiBplayll....ag .. [) (üzenet megjdenl!6;e) !\('\-"ll '"'jirás!;. anw>lynek iÖfZSoe U" kód lesz. "melyik négy$z"r megjeleniti a ·Wet. ~ t" "'I' W&bsit .. • Ülenetel. Er. lI... n:l. f>age_Lo<od és a cl id, e-;cmtnrkezelóben :1.1. üzenetmegjClenii6 kóda egy oI)'lIin!óOlT:l csereultljilk, amel)· a DisplayH" ....." .. 4)
d);Idst hí\"jlI '1>eg Az. eljlr:iss31 ,ön.ffi15 iil.enetme~lenli~hcz CS(.'féljilk ki a 6.2. és 6.3. pl'k.l;kb61 ~~lm~'7.6 kódot: a 6A. pHcUb;in [;lthatóra

1, p.. nu.l
~:

·hBB Subrouü""t.e••tml
I Syat_.W@b.ULP"g..
1IyV~1

;,

.
"

rrotened /luh Page_t.o.odIIlyV .. l 8ender .... Ohject.

......

S,
"

ll),

.,
8,

,

_ tlyM ..... Ev""u.ra., H.. ndl ... M".~<1 T<:x' • strltI<J.k>ty

""'put

DtBPla~.sa9<!('

DId Sub

pr,·.t,..,t..d Sl,b Butto"l_, 11c~ tllyV.. l ~ ""r Aa Jhj...,t. IJyV.. 1 • ... ey.t_.EventAra.l 11.. ,,<11 ... lIuttonl.Cllck
Dhpl_yMe.sa!11'41 &od Suh

A.Ol

ll,

12,

,,

146 11. rkI: • lSrn.tId6S IZ ASP.NET·18I
14,

prlvue SUb

D1B p la yM ~ ..a~.(j

15 , 16 ,

01 .. j A I ntege r . r or i_lTo 4
~"

17 , ou ~put. T1! xt 18 , N~x t I 19 , ind Sub 20 , End Cl ass

'W"lcome t o OlY W ebol i te<br

I~'

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",.. kdll;ltnunk. mint am,t 1 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),

Paraméterek _ a eljárésoknak és függvényeknek
A 6A. pl'klában egy eljlr:ls segitségb,el jdenit"'tiInk meg egy u:rene1<:1 nl-gyszer. KonkrétalI ~ ·we l co .... to my webs it .. • ilzenet jelent meg egy Label "e~rl6ben, egy FO.- cikluson keremul. Mi ~ hdyzrl nonoon akkor. ha a Dhp l ayMellU Il''' t) elj:ir:l.sl ~lu!:lI1OS$ll.sz"ret(\énk tenm, hogy az emliK'tt.<ZÖVeg helyeit bánniJyen OzenetC( k~pe5 legyen ntgyszcr "~g""len1tenj?

Az elj~clsQk k filggn<nyek !XITwlh'fIe.-ck segílSlW"d tehc:~6k :l1t~I;\nossll. 1\ p" ....nl'lCT olyan érttk, amcly~'t akkor adunk il az eJj:ír1snak vagy fi]gg"énynek , amikor meghl\'juk. Az djácl.s ~dgy rugg... b!y fornúp. ily..., e.sellx"fl nérnik'g módosul , hi.szen ~Z ill;)!a elfogadható paraméterek Ibúját j~ n"-'g kt>ll adnunk,
SUb 81j.4r;Í5N"VIO!PdraJJtl ft" IJtaaft.4al
T/pu~ ,

Par.t1d2 aB Tipus,

, • • P"rarnN ll8

1'fpu~1

Utasit ".:;

A P.. r .... l -PU/UlN3Z el~rás JX4rmlll!/erct. Egy eljárisnak null.1t61 t... 't.~z6lcgcs stlmú ""ramétere lehet. de mi\'eI II Vi.w~1 Basic e!'&en IÍpU.s06 nyel\'. minden ""r.l~emek meg kell adnunk ~ IÍpus,k Al. elj;lcls tl'lrzsaJen. szereplll U\;l.~íWok ettI<hez ~ """,filé.. t~khez u8)...núgy fbhetnek hou;!. mmt birmel)".ms dltoWOoz. 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

to ~ W"b<lite' na....H .eQj.lflnh . . . . . z.. r Die i ... rnteger ..o r i . l t o .
·w..I~

....

ou tput ,Tex' , . Next I

_18";"

"'" 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'8IClenit(:sére képel;. 3z outpUt 10= .....g .. kódol h.aszn~IIUk. amelY:l kJmom.1en ~ _ .... \l .. ,'lIltow pillanatnyi bt(:ké\ jelenit; meg

Ahho»,

~'meghivjuk

aDisplIlY'"

... g..

elpr,\s cun új ,'áltoz;lt!l. 3z .aUbhi

kódol: kelj írnunk

Teh:!! ha mégis ~ ·w.,leome tO my W.,btolt.,· (lzendd s,z",reménk a kl'pemy6n l.lmi. :.lZ elj.ir:N l'OO$l m<lr ilO' kell mo.ghlvnunk
D
I;IlayM~

.".: ·W.. I, _
enne\(

tC'

~

... '

U<bn':

az új DhplllyH.....,ge( elpr.bru.k 3 ~'d eg)' OkbIt, ~lTlel}"nek kunent.'\e 10kélelesen lTICgt.lI)'eZlk II 6.4 po!'k1ílxl.n Litonal, Au.al kezdjolk, hogy léttd'KlZ\.mk eg)' Út ASP,I\"ET wetXlltbll SubroudneU!non2 .IISP>< riben Ahog)' a Subr-out ineU!nonl .lI8p>< e5C1~ is tett(lk. hozziauunk "'SY !.Ibe! wdJe$ \'ezérl/ít, ,:output 3ZOOO!ií\Ó\-aJ (ID). ilk~\'C egy gnmbot (&.uoo ,'ez,..'rl6), Ne felqsiik ",l L(uehoUl; a:t okbJ ....,.,d ~ a gorri> ellek esemrn)'k..~ sem. l-b mlndeuel ,"égezulnk, Itj.lk be II 6.5_ pékUlxon I.ithatO kódot. Ilozzunk IllOSIló!Ire
Amlkor ez! n oldali megtekmtiilk egy bOngé5zóben, Ug)-:ln;lZl ~thatjuk, mmt a 6.4. ábr.\n: a ·w.,l ec.e to ~ web81 t,,' (Izenet rWgysl-"r 'f1C8JClenik. alatta pedig egy gomb taJ:iJh:otO, lb a gOnDr~ lanimunk. a 6.5. ábr.l. t;lrCllnPt kelJ litnunk n)'okszor II · wel"... to ~ W boit"- üZene!('''I, ilki,...., abU<! II gombot, ..

148 l t . . • ~I/:ASI'.~"'"

,~:

:-la••

SUl>r{>Uti~.....z

Inheriu syn_.w.ob.VI.p"-

4,

"

5,

hot.,.,ted filI> raq .. '_dfIlyVal _nÓOtr .... Obj""t. IIyV.al a ..... _ sy.t ..... Ev......... rlJ.1I lI<Irt<ll ... M.'.Load "'tllU•. '!".."t Strl"'l.!avty
uhplayM".~,:'W.l~

" 7,
e,
End

_

tI IllY

w Jt .. <br 1>'1 .....

Sub

UI

•• ", •• "
a,
11: ll,

"" ~
End

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

HI H,

Privat" SUb r "playM. . . . . [lIyVal _ _ ~" .... ,;trinql

Ui. ; ....

Int~ar

F<)! • • 1Tt>4

""'pue"",,, ,. _ ...

tiex. i
,b End Clas"

U,
~O,

Az eljárásoknak " IiiggWnytkntk tQYMI több pal"ilrnétan:t is lehel HB több ~. terrvl rendelbz6 eljir"t IlIIltnénII; Imi. agysltIÚen soroljuk 1111, paramét.r....t és
t1pusubt, va&SlÓV8/ elvMasnv •.

lll'"

MiOdIn 1lij6rás- és ~terhella"tolik lI!I'f .".jy ~tan ~ hogy., adjII il • IMI • P«IIl16oo l/: aIjíriSnak vagy Iüggvénynel Két lehetséges ~ van;, ByVal és. ByR"f. Emek. kit ~1.ksszíNt " hatisul;· na , ~ nímUt """ könyv kimen. A kŐll'f'l PéId;!iban l/: aIIJ*t..-r-tt Byval (1iOÚIr; SlInI"ItI bcI6Il rn6ds<wt ~~ Mival8l1/: allJ*telmaz6s. és ~erat ~. ByV~ l t.ulcmót kNgYha~ • V"I$IJIII Web 0eVaI0Per beflaIvannfllllefvattCri:.

""uz".

_sony-

~rtékok visszaodása függvinyok sogltS<lgévol
Eddlll ~k eljár~1 Uuunk, ts h~zon)"1ra ki .....i IlCS;ak \':illyunk, VólJOO ["IOIlIOS<ln miben killönbözneli; a Rlgg.'ényektl'il. '\os. az eI~r:1sok b Rlgg.-bJyek IUlajdonk~ '\ok m,ndenbnJ h:isonIil3nak eg)'mist:a, Mmdkoen6 O:'I!Y~ fogc'í \'ezlorIbi s.:erko:U'I. mino:!koen6oek nuJb \dg)·1Qbb p;ltlImflere lehet. ts mmdke!\ÓI. 3m1. tusvulp.1k. IltOII)' csökkenook ól feleskges kód menn)~, & eg)'Ségekbe z;\fJUk 3 progr.IllIozbi

Iog,k.íl

I. 6ft •

1'1...,., ..... ~"". f

A f6 kü~ az eI.,:if'2jQk és fílgS',tnrek köWC\ u< 1108)';1 fiigg-.,tnyek "l.Ssz;&:Idruk egy <l"rtékel. núg al. el)JrhOk nem, A 6_,. példiban cg)' 01)'111 :lisplayMeS84111O < > eI~r:1s k6"ZÍ,6;6 néz,ük ,"cg, amely egy For ciklus <;cgí,~gt,:eI Jelenl,ette mell négyszer a ka",k,crlo'lnck("'fl( kapott pólr~ml"l.cn M!"eI ~i,ssuatbnd6 (irt(ik!"e nem YQlt S7.Ilk~, eljir.'ist ha5znJltunk. de mh letl ~oln:l a hclyze1. lu egy olY:1Il prlWanw>z;\51 logiJcll)6l szerellOnk HJlna modult készí'em. amely , ..!amilyen ~úmii:lSi Iu~ v<'gre,
AI ico<;kdJen egy pénlilg)'i ~timológ<'pel kt;szíte1,unk. ~melr be\'ill ad:llokk~l-

a j<'ltiJogkolcsön ~-el. a

k"m;l.tl~bb;r.J sth, _ doIgmoii. és fel:odau az ,-011, hog)' mqpll:apiiS:l. a hau törlC>.Zt6rédetet, Ezt k .....,e<orilb mml 20 <000'111 émik d. és a kódot köz"cdenül a webokblon "Ihcl~'ez"'" !Jul1on "c2&16 , " I ek escml-nykezeJ6rélJOe írtuk Enn<!I modulszerübb megközelí,és lenne. lu a f..'nu progmmlogilcit egy mgg"m)'bc hel)'C1.Ilénk, majd a ':1 ici c;(:ln('nykczel{ll,>6! ell a fUgg"""'yt hivn3nk '""II

íris;;,kor ludnunk kelJ. hogya filgg-.-ény"k nych"1:l.rt:I. ná1lileg klIlönhOtik u elj:1r.l.;okél:61_ El6S2ör ls. a -, It ••. End _ul kuJC5.u.:I, .. k helyett a Fur,ct 1<,;. n f:n<l Funct ion kJucssz'''"Ju, kell lu.>miJnunk. \li5('O:,",20'. núvel a filgg-...,.,)n iTtdtet adn:lk ,Í>.Q;I_ meg kdl adnunk ennek" '"lSoSUltré5I éTti:knd<" öpus:;it. végUl pedig a 1\Igg-.'eny t~ 1e1l)'legöCtl VISSZa IS kell adnunk , .. bm,l)'en ének.... - en'e ~gil
fÚ&g\'/!-n)'ek

" lIeturn ku~

r.

,,,::tl<' FolggvblyN_ _ VjaU.U!rt!aJTfpu. Ut . .it~d

I~r ... l

al

Tfw' ,

.••. P.r/UN'i ". Tfpu.' ."

lItuttss::
I'r •• fr",.n
End Punctic=

:ll:

A Vi • .".t~résiT{puS ad;:a mcg" flIggvény ~ltal v;,ssuadoo l-nek tipus;ii. AhQKY djJ.r:í,;okn3k ug}' ~ flI!(8~i:nycknck ;s nulla "Jg)' IObb benlf:fl/'i par.1mru~T1Jk lehet, A függ-.<en)'ckCl is ug).. migy hiVJUk meg, mInt az eltlr.1sok~l, aual al eltc",,,-wl,

hogy - Il'Uvd a flIggv,ffi)'dt éní:ket admk "i,ssu -. kifejezé:5ekbm ha.szn;il",k. p8<.L1ul íg)-:
tl1,.
c,.t""r~ntl
~~'P~r",-)tl

~ flI8g.,.,!nyh",~t

g}"Jkrafl

•• [h"bl. ""'" __ Ily<::on(p, r, ti

IU:I. C':<I\puteMonthly,- .. t egy olyan fogg-.·én)', ~mcl)' h.~rom bemen6 éneket fqpd, (,s egy Double hJlU.'U frt(ikei ad "issl:i, A fllgg....~ny :t11..1 \'iSSZól~docl eredményt rendsl.cnnt eg)' ,",il!ozóhoz rcndcljilk, bir úgy;$ meg/tivhllunk cgy fOgg-.'ény1. hogy U credmém'Í't nem ltasWIJUk felr:Jllp.ltlM,'~-l.1y( '

_

fi~l.en

alt. ti klVlll .... qyj".

'a vi ... ut~r".:i oirt"tet

ISO

II. féR • ""*ked61 II ASP.NEl-Q!
Írjunk mo:;!, egy oIY'1n fOgg\'rn~1. amely egy jelzálogkölCSön h3\'i lörleszt6reszlctt'1 .s1Amílja ki! lIa elkkrilettilk a 4. 6clb:1Jl benlUI:lIOU F imme Ideal c:ulator . asp" weboldall. ~nnak fOfl':15k6djiiból egysrenlCTl .1tm.lsolh:ujuk a perfonnC"lc_CI ick escménykezcl6l:" C""",,"t-eKont-hlyCon () neva új fOgg·:ényilnklx>. A függvény kMpl a 6,6. péld1ha" l:ithat)uk

6.6. jl61118 A ~fI ,"',; I6rlesz/órész.lcM Irt<záfl/UÓ DJmpu/dlmllhJ)OJsl() frlFR',,;,'y
1: Priv .. t~ Puncti"" Coroput"XonthlyCost(P ". Double, r u
Ooubl".

t"•

.. 2,

. . Doubl. 'Allandó érték IOe'lhat'roz' ..
Doubt~)

3, Ccn"t INTEREST_CALeB_PER....'tRAll "g lnte<,ter 4: Conn PIIYMf.""TS_PEILYEAR .oa Inte<,tH .. 12

12

"
6,

7,
9,
10, 12,

_.

Di .. ut"P"rp"riod .oa Double

ratePerPeriod

n

rIINTEREST_CALCS_PEII,..Y&I\R

Di", J'IIoyPeriod" .. a In"-"II"'"
PIIyp"riods. t

",

PIIYMDnS_Pu....yF.I\JI

13,

Pi.. annualRat .. u Doubl" .onnualrut.te . Ilath.E><pIINTIlREST_CA!.ClLPEIl_YF.I\JI • .. M.oth.LoqU+ratePerPeriod)) - l
Nm intPerp.o~nt aB Double int PHPa~t (""th. Exp I Kath. Loq I ann""lJtat .... ll IpayPeriode I - 1) _ • payl'eriod8
v_o C<l<IIPute the toUI co<ot ot the Dim intperMonth u Doubl ..

14,
15, 16,

17,
18,

toan

I" ,
20, 21:
~~:

Di .. coetPenlonth

a.

Doubl ..

costl'<>rllonth.

fl

_ i ntPerManth/ (l'l!atb . pow (int P<=rMonth. ~ • -PIIyPer .oda) )

23: 24:
2~,

Return c08tl'erMcmth
inel runction

A COIIIP\IteMonthlycoat l) függ"ény hlirom paramél.<.'It v.1r, amelyek mindegyike Double tipus(!, és a filggv.my iltal \isszaaooU énék is Double tipusú lesz.. A 4. leck~

"mJék"zJldilnk. hog~- ~ jel:rJlogkökSÖt'l havi lörlesztőrészl{'l<!nek kimmítis:óhoz tl:\rom adatrJ Van sziiksegünk. ~ jel1J:log!ute!lőkerés2(,re (p). a kam:uJibra (r) és 3 hnel fUI"midejére (t). A COII'lPUt eMonthl yCo.t () filggo.'ény eX! a h.'irom l:ni'ke! \-!itja. az !'1'Iékek alapj.1n kts7..'imilja ~ Me] havi lörleszt6n!sool:!. maid az eredmény! "iss1.l1~dja a IIKUnl ut:lSít'is segitségével (N, sor),

A 6.6. példa k6di'oak 2-22. s<dt k~etlenOl a 4. leckében 4éSlitlln Ftna.ncblCa Icu t"tor • ""pl< oldal pe~tormCalc_cl iek eseméllyb.lelójéb61 veníik át

6. óra 0l'rogrlmolt ~ ~ ViaIIIII BaK: vazériobi &l8it_ttinl I 151
M<»t, hogy megírtl.lk a CanpuuMontblyCoat () filgg",én}1. meg.hi",haljuk II per-

formC41c_Click escm{,nykezel6b6l. amely akkor fuI le. amikor II felha5zn.i16 a weboldalon I",,'ó gornbrJ kaUillI. Az esemél1)'k,·zelőlJ.<,n az erede!i]{-g ide leu S~l'Ilíl~SI a Coq>Ut eKanthl yCOBt (l m('ghi",~s;ír.t es<-'1i'ljijk (jj,sd a 6.7. példát).

I, Protected Sub performCalc_Click(Byval aoOnd"r ..... Obj"" •• Byva! a Ae _ Syn_.EventArl/aj llandleR perto"'::alc.Click

2,

.,
1,

3, 4, 5.

'A fI!lM..nnAló <iltal beírt ért~keket t'roló ,,'ItozÓk léu ..hodaa Ol,. p ..... Douhl" • loanAaount. T"xt Oill r"R noubl. r"t •. TQxt I 100 Ol .. t as Double IIIOrtv.~ .. Loonllt h.T"xt
S'
~

.esulu.Trxt ~ 'Your IIIOrtllaye pa)llll<!nt p"r ".",th h _ compute~onthlycostIP. r, tI 8, End Sub

A 3-5, sorban II felhasznM6 ~It:ll a hi(e)összcg. " kama(l~b b a futamidó mega~ra srolg;l16 Tt!J[I!:k>x \'ere.-~ bt'ÍI1 l:nékeket beol\":l$SUk, é's II P. r és t helyi dllowkba irjuk, majd a 7. sorban &.szd'űzzílk a ·Your IIIOnq"ge PIlYJll'!nt per OICIntb i . $. braktcrlállCOl. illet\'e II COIl1puteHonthlyCo,t (l ~hal v~zaa<k>tl Double énéket. 6 ezt énékoll adjuk II re~ult~ ámk .. T"xt lulatdonság;1nak.

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 .....

IlUb p<lge..u>ad IByVal • •m d .. r "" Obj .. c t. Handl ... M ~.LOood

g.,

ByV<Il .. lU!

End Sub

Ahogya pag e J.oad es<'fllffiykezeló forrnljib61l~th:llfuk. az eseménykezelók valójában elj;irások. és azérllervezték ők('{ íg)·. IneTt soh:l nem a(lIuk vissza "néket. Emellen az eddig !áto« e5eml'nykezelők - a PilIlfU .oad. ilIe"'e ~ gombok Cik k esen";n)'k.,.. rel6je - kl... panllMerrd rendelkeztek, az egyik Qbj""t. il nl;'isik ~ tArg& típusú _-olt. Ezeknek a p:lr:>m<:tC1'('knek a po!1tOS jelentése pil13namyibg rx,m fonlo/; ~ sz:\munkn; a kés6bbi 6clkJxm rrelyebben elmeriilünk ~ velük kapcsolatQ!i részletckb.,n Végül. megfigyelhetlÖk. hogy az escményke~ elj::lrlisok meghat1ro~s;I il Handl ., .. . obJ.,kt Ulll. E .. esoény kóddd \'égz6dik. Az objek tll1>l. E$'emo!'ny az adon eM'rrenykezel6hö z kapcsolódó esen,'::n)'! jelent;. vagy;" amikor erre az eseményre sor kerill. az adol.1 eseménykezelO: fog elindulni A Handl . . n a kulcsszó, amely,k gondoskodik az ~flynek n eserrenykezel6höz ,,,,16 kapcsoll'lsir61. és "gy olyan kódmodul! biztos't:!nak, amelynek vé8""hall~""rd minden alkaloaunal sor kerill, amikor dindul a megfelelő esemény, amelyet a l!andl .." úradékban hat:irozunk meg.
A feml f"jlegetés I("'rege, hogy

az

eseménykczclők el~1ráwk,

Ö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 VISual B:.sic feltétel"" 5Zcrkezeteinek alapÍ":lz If UlasMs. Az If ulasitás egy fehe-

teh kl"kel ki. és ha igaznak t:l1~lia. végrch.3jtja a 'rhen kulcssZÓ! kÖ<,'Cl6 ut3Sí~L Az If utasíl1sban aZ lLTh~n részen kí"ül Ehelt 6; Els e :clradékokJt is alhlm:lZha· lunk. A \ r,sual Basicben kűlönf~le ciklusszerkeZ<.'lek is a rendelkezésünkre 111nak; ezek k<>zül a két leggyakoribb a For 6; II Do ciklus. A For ciklus egy egén éf\~ 1n1 ,'ihozó segitsé~\'eI mOködik, amdyhez kezd6énéket "",detünk Ennek a öklusv;lhoz6oak az éltéke a ciklu,l.(öl7.S nunden lefuth:! Ulán nő. és a etkJus addig isntétlődik. amig a v:!ílt0z6 éf\éke el nem ér egy megadol1 éf\~ket. A Do ciklus 1ltal!lnosabb, cikJus\-:'lhoz6 alk:drn.u::i;-.. helycu (.'gy~lCnlen addig ismétli a ciklus töns<!! , amíg egy f"hétel igaznak nem biwn)'UL A Do ciklusokruk két fajl:ii3 létClik aZ oI)':In Do ciklusok, amelyek addig ismétlik a ciklust , anúg egy feltétel teljesűl , és azok. amel)'l."k addig fUlnak , amig" fellétel nem igaz.

6, ÓI1 • l'rogr1mok HrrYft6A I V..... s.k: VW16Si ~ 1153 II fcjezedxon megi5merlo;cdlilnk az egysfgbe fogó "ezérl6;j swrkezClekkel i5: az el~~ r:isokkal b 3 függvl-nyekkeL MtndkL"I161I'1K'II'i\'é leszi, hogy egységbe z~irlunk egy 3(1on progr:lmlogikai egységei, mindkettőnek null3 vagy löbb parJmélere leJK'i, és mindkeu61 ugyanabban a formioon hívhatluk meg. II ken6 köZÖlt az 3 kill önb!;ég, hogya filggvl-nyek mindig vissz:ladrt:lk ,-abmilyen átéket, míg az eJj:ir.bok lOOha. 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, amelyek 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élereket é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énykezel6kel, é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
az adatok~t egy adallXizisba menti. A ffiggvény vi.'iSzatéré;i értéke lehe! egy DateTiJlle IÍpusú dlloz6. amely az ügyftl adat:.linak utolsó frissllésé1 jelzi. bizonyos ('Sl"tckbcn aJ!OIloon erre az infonn:\ciOO ninc; szilks.'giink. csak annyit szcfL'tntnk. hogy az ügyfél ad:JW, frissill;cnck. nyen est.1ben egpizt"I'Ik"fl meghívhatluk :.I fúgg"'''nyt. é!I figyelmen kívill h~gyha(illk annak visszatér6i Ezt ugy érhetiük el. hogy a fOggvényt Ílgy hívjllk meg, mintha eljár::ls lenne:
SaveCusr"""'rl n!or.eot iOn ( • Se >t t
'.
.~

"""k&!.

I

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
For i
Next
Int~"r

_ 10 to 20 lITEP -1
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
l . Igaz. A ~mit6gépe:i progt':1mok abpéndmezé:s SZerint sorlYdn hajtják végre az Uta$ílbokat. a n:zétiési szerkezetek nonb.~n rugalm:ls:lbb végrel"'ltht leu.nek IehetÓ\·é. 2. K~ vezérlési szerkezetre lesz szükségtink: e8}' feltételes szerkCZl1re. anlCly megvizsgllja, hogy elmúll-e 1200. é5 egy ciklus .... amely az ü;renet öw.örl kíír:\s:lr61 gondoskodik A kód ''abhog)' így néme kí:
Oiltt l as Intag .. ~ If Dat .. T!_._.Hou~ Fori_ltoS UbelVe,,"r16.T .. ~~
Ne~t

12 then
Io~

'Thi. la

"'y

meuaQ'e to

you.<:br~'

l

End If

3. Igen. A CIklus "égtelen. mert a ciklu.sVlÍlIoro értéke minden ismédOd6nél l-gyel csökken (a GTEP -I utasiw miM\). és így a \'áltoző . a melynek ke7.dőénéke 10. soha nem fogja el"rni a 20 :clróénékct. ami azt jelenti. hogy a ciklus 3 "tgtelen~gig fog futni.

4. Ibm15 M. elJ:oirhokruk H a ffigg,.-m)'cknek nem CSIk egy \'ag}' több. h,IOem nuIJ3 p;l1':lInélerilk is lehel. 3 p;:Il'3mt'1erck nem súmítanak elengedhctCllen kÖ\'Clelrnénynek

l. A matematika; filgs..-ények egyik swk1.-.inyos fJILlj:! a jukJorlOflS fil88'.:"Y, 3me1r egy r, ~ tipuSli bemen/'l JXlf"Irné!.en \'.11'. amely .....k énd!c l I'ag}' artJdl n:l.8)'Obb. 6 U n' In·l; •...• 2 • l ktples. eredményél sz;lmilf:! ki A matem:lhka; lcir.boklxln 3 fakloriáh.-t fclki.1ItÓIClld jClölik (nl l. [<junk egy Factor!all) nevíi filgg'>'én}1, amelynek egyetlen lnt-oer tipusú jXII1utll:tCn: ~an. o;.; esy sunt.,n Inteqer IIpusú értéket ad vissl;j, amely megfelel 3Z ~13dott p;ll'3méter faktori:1lisárl:l.k! '>egit,,(,gképpom megmutattuk _ körOlbcl!ll hogyan keU majd ki~wle a filgg\'myOnkn."k
Yllnct. " 'acl 01'101: ,:_ ... Integer . a~ hiteget .~ :IOn az III .trdltét kl.u.i&oit6 kód

, Itt adjut viasza az n! End Punct '"

.trt'k~t

•\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

"

" " " "

, , ,• ,• , , , • ,• , ,• , • • • , •• • , , . "• • ,

UO

7.

ÓRA

Objektumok a Visual Basicben
II leebe /(ltfalmából-


• •

Az objektumok l!s

"l'.

nszt.1lyok kÖZÖlt; különb:;ég

• Objektumok létrehozás>
Az objektumok tulajdort-<clgainak bdllil~5;I AJ. objektumok tagfilgsvénycinek meghí\'3!;:1

• Al objektumok éWményeinck kezelése • Objektumok Iélrchozás:l :1 .Nh' kert'1renruzcr 05zwlpiból
Az 5. leckl'ben aZl tárg)'lolruk, hogyan haszn~\tl:1tunk váho:rok,u él "ulvelcteket :I. Visuallh!;;d:>en. a 6. fejezetben pedig a vezérlé:li :;;zerkezctekkel- az rt ula"-';I:<>;5;lI,

a ciklusokk."I1. n eliJr:l50kkaL ille!:vc a Függ\'ényekkel- ismerkedtünk mt.'g. fl. Visual Basic nyelwel kapcsolatb:Jn nlég egy font06 dol0gr61 említést keltl<-'fmiink , mid6n

mis tén\jkkal foglalkozhatnánk- meg kell
tumoieu a \'lSual
Ba~icben.

vi~gjlnunk,

hog)':ln haszn111\alunk objek-

158 1LrMZ • IInwUd6IIZ ASP.NEr'"
A 2, Ociban. az ob;ektumközpontú programozh abppiook Urgyalb:tkor cmlol~1Itik. hogy al obtektumkőzpomú n)'elvek kt»:pomi deme at cbjdltllm, :Imet)' egy oszt,j/)' egy ptkUnp_ Ebben:lZ Or.ib:tn Ú}I:t meg\"l.·.g.dJUk aZ ~mok é5:IJ: O6ll-1t),ok Iupc"<)bLit, és an is megno!-1.ZIik, rrulyen szerepet lóllenek be .. \;,wl B:15i1:ben, :I NEl' kert.1reJ1<1szerben, illetl'e u ASP,NEl' ",'el:JOId:dakon. 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

Az osztályok és az objektumok szerepe - még egyszer
A 2, I«kében röviden ~uekuueuak lIZ obiduurnkö<:pontú (oo,ektumonen~h) progr;a. IIlOds alappil. friMit5ilk fel:t rnem6riink<l1 n objcklurnközpClnllÍ progr~1TlQÚ$ egy oIy~n progr~JllOÚ'Ii megk:özelités, amdyben a progr-~mozasi nyelv kOl:ponti eleme n obj.;,klUm. Al. objcklumokn:ok taWllgg.'l"ll)'dk. tulafdonsigaik 6; eso:.,nEIl)'elk \'annak 3 lulaidor\')jgok haurozz:ik n><"8 n objeklUm !íJlapc:dl. 3 ug!Ugg\'C!-nl'ek \l'Jlamllyen műveletet h.-ojt;look végre, az ~'ffi<.'nyck pcthg ~1t.'-lL1ban ilbpotv:tltoú5<:>k:1t .ibrM.oln:lk. \':Igy:lll Pt"IZik:, hogy \':Ibmilren mű\'clet llll"lll \('gbe_

EmlékeJ:hetíri. rt hogy. 2, ItI'Z'tben IZ objektumlOlponn'l pI~t IZ lIlIIÓthOZ lIasonIltottuk. Ew lU'IÓMk O/VIII ~ vamak, mrll • tipus •• mOOeI YI9Y allin; eseménya a híbm YI9Y IZ Ibleklört6 b·...pcs#n; tagIilggYjnYIi pediv • gánwIM, I hBtrBrnanel. I ~, " Igy 1Oribb. AJ. lUIGI leIrÓ ~ tagfiiWrinYIt " ~ ÖSSless6gt II O$lI&y, mig IZ alt6l19'f lorW't ~ - jMldáJllI9'f 2002-1'.1 mid Honda Accord - IZ obtKlIm,
Az OSztályok oIran elVonl
elen~k. ~nlt'lyekb6l

konkrl1

objrktumokalllOlUnk~,

Az O!>;t[jlyok és az objt!l«urllok köZÖl!! kapc!lOlalOllobb:on n~ldjük, 1101 qo- wmoIógépre gondolunk, A sZ:lInol6g~pnek olr:llllubjdomágai k'lletnek, minI az ct"m löllÖnstgi szinljle, a kiJCIz6n q,pen nll."gJClenfletl sZ:.Írn, \':Igy az Uloljil'::l bc\-m m"vek'l. olyan tagfilsg\'én}'lei. min!:lz ~d;1s \'agy a kwonis. és olyan esemblyci, mint ~Z utOlsó ffiÚvclet l<'Jr1é5e \'lIgy a kikapaolis_ l lJ. leillünk. és leirjuk a 52lrnOIÓgq> összes lubjdom:ig;ol. tagfilgg.-tnytt es aeménytl, ól kapoa lisu megfelel ""'~ eg)' OSzt;ilytUk. ank"ly m'Ol1l fon-roban ir)a le, nu az a ~I1'1OI6gql, é< mil <SirU\I '~,h-án\'aló:ln nem
eg)'

konkli'l ~br:i~ \'lIn '\W, hISZen a 1001 nem h:a$zrUllwjuk ama. hogy lusz;imil9.1k rnor><iJU.k a 195-1 b a ""8 5Z()fZ;I1;U.

1, dA • C!ijekh..... V1MI 8 ,,';,* 1159
Az obiektum ezzel szemben az ~Iy konkret "bdzoLis:. A k<ll1lcret mmol6gép,

amely I't"f'IdelkeZlk ,n ~l)' ,ubt(lons:.ig:.i""J, IlIgfOgg... ~nye"'d éi; esemén>'('I,-eI, egy ~kt\Jm, amelY;ll; ~Iub ~br,.ízoh osn~ly egy 11&1(111)'0.

ÖUzefc9alva, II osztily agy elvont meg/latárDÜa: I Umogalott tlUfdOndOOk. ~"~ek~". Azobfektr.rn me! $lII~ II OSZtMY -UY ~,,..: kookIit .doIog", ~ ~ ~

~ m'lIhM..~ is 8rTIItYnek -"•• )411. ~

k objKtumok szerepe az ASP.NET wobaIkalrnanIsokban
A kodhbiakb61 cml~k"zhct(\nk, hogya .NEl' ketetrendsttr rengeteg osn~I)1 lan.llmal, amelyeket mindenféle efl", (t"lhasznilh:llunk. AZ ASI',NI:"T okblakon 1""W\ilh:.tÓ wd~ ,'eWióket p&lául k,,'eId '*Ikül egy--qry o,o;uly jdk;;pezi a .NEl" keretrendszert)tt; A 'I:.T keretrendszerlxo oI}'3n 0&Zd1)'Ok is I:I.Üllur6k, amelyek lehetŐ'> ....Hl:Ik ekkuonikus I""'e\ek k\lIdé...:.1 a ... etx:.kbbkr61.:oa.;ok klol\":lsU:l. egy a(btbJ.7.1Sb61. kepek ~t. éi; igy 100';ibb. Az ASP '\n ,,~Llk f~ rész~ben lehJt a ''"ET keretrend5zer leglcülönféléhb elemeit hllSW.:w;.j{halluk.. ANl'l' ke""rend~~er egy OSlJ.ilyának hasWl3clhoz eI&7.őr lro-." kell homunk egy oL>,eklUmot a megfdck"i 067.t.átyb6l, :l.IlIely IlUuln\;llla ~zokalll uoJg1lullsokat, ~meJlekre mbég\ink '~n lb mir lTK'8''3n ;l1; ~tumunk, szűks-'g 1eI~ d. hogy bclllil9.Jk ;lnI1.:l.k egyes tubjClonslg:.il, \'3gy meg kdl hl"nunk biwny06 ,3gfugg....!-nyeil, ~Ietve escmlnykezcl6ket kdllltoehoUlunk:ll; ob,eklum egyes oemmyedK'z,
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,

Amikor oo,ekrumokkaJ doIgo!unk, nfID' feladat Ulr;I 6; ujra felbukk:,":
• l'éldllll)'osilds- Ahhoz, hogy egy objcklUmot h.asznJ.13!OO \'t'I\eSSÖnk. ~re kdl hoznunk egy I*1di11)" ~ kid.nl ow.á!>u6'- Ez egy olpn.sz(l~ ~, ~mdyet nundig meg kelllennOnk (egySZCT), anuk.,.. egy ~ktumra \".tn mlb(1jOnk.

160 J. rMZ • lImIfkedM IZ ASP.NET'"
• T.. lajdQ.l$ágértékk bffillíllisn - Nem minden objektumnak ''aJUl.1k tubjdons:1gai. és ha vannak akkor sem bil.lOS, 11ng)' igén}-be ab.rjuk venni awkaL legIöbOször 3wnban »;iiks(oges egy OOicktum ruI3~g,linak lx-.'illítása- ernJ~keVilnk ';"'\SZa, hogy a tulajdons:ígok olyan énl'kck, amelyek al. objektum ~1!apOCit iJjlk It'<, egy c-nl:lilek kül~ ha$Zl'L.'llhat6 Q5zt!ilynak p<'ltU.ul olyan rulajdons:ígai I...hetnek, mint:l ~'eg. 3 1Ji'K)'. a ctmzCIt. a feladó, és igy to\':11>b, Tusfti88'~II)'f'k mcgl>f~'lÍSll_ Amikor efff obJektununal dolgozunk. rrundJg annak egy ""gy tóbb !:Igfilgg"ényé1 hi\;uk rTK'g. Le\'dez6 OSZLáJyunknak ~Jcllul lehet eg}' Seml (: - kill~ - nevú tagfü&8'~}'e, amellyel ",lkiildht'lJÜk az c-nu,lt T... hát ha le......1et Sl ... relnénk küldenl ...sy ASP NI:T wclXlldalr61 ennek n osztálynak a ~í~'d. elöször péld1nyosítanunk k... ll aZ Q5ztalyl, ma",l be k... n ~lIitanunk a szöveg, tárgy. címzeu, feb.d6 és.ms fontos tul:ltdonsi8"i!, \'~gill pedig meg kell hívnunk a send () t:lgfilggvényé1, Esemel1ykczelók l&rellOzdsd - A tulajdons:ígokhoz ha5Of116an az ~yek smcsenek jelen minden objektumban, és ha igen, akkor sem l>iztos, hOfff h..$ZI'L.'llni ahlJuk 6Ict'l, \;<'h3 azon\.>;m csak akkor akarunk funatni <.~ adon utasit:!lsson. ha efff bizonyos ob)eklumnak egy adon e:;emény... bekö,'etk"'ljk. Ennek ell-r~hez 1é1rc kell h07Jlunk egy c:o;eménykezcl6t, amelyt'l n objektum megfelel/5 eM'ményfh.:z kapoolunk Erre JruÍr I;juunk példikat 3 kor.lbbi kckfkben. amikor cscrnényke7.el/5kt'l munk egy Bunon vezerl6 Cliek ~mfnyéhez. ilk1ve n ASP,l\ET oId:!laink Load eseménye szinIára

I

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
hogy 3Z osz\j!yok elvon\ megh:u:irol.isok. amelyek az osztály 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
~1!:I1 nyú~oo 5201g~lta\mkat soroli~k

EmlékeZZlink

\'i~.

A fejezet egv későbbi részében pontosftjuk, mik js arok a lagfiillQ'linyet. egyel6fe azonban elég. ha a tagfiiggvényekre úgy gondolunk, mint egy eljárásra vagy lüggvényre. A függvénvekhez és eljárásokho.! hasonlóan a tagliiggvények IS
prowamutasftásokat fognak egységbe. nuRa vlIgy több paraméteriik lehel. értéket is vismadhatnal:.

és

A konstruktor neve mmdig megegyezik az o...'I:tályáé\'al. A:l. Sqlco,""",oo. amely egyike 3Z adatbázis-kezdó oszt;'i!)'Oknak, ptlcllul az Sqlco-nd (l nevU konstruktomI renóclkezik.

Objeklump{:ld:lny létreho~sáhm. a következ6 formájú kódol h3~"Z~lh.1tjuk:
változó
New Konstruktor()

ne\lll konslruk!Of egy Konstruktor o:sztályű objekturno! ad vissza. Mivel a Visual &!sic erősen tipuSO:l nyel\", a vJl rozd tipusának abba az osn1lyba kell t;lnoznia. allle!yikn~k a konslruktor.ít mcghf\1uk Az. SqlCWllMnd oszWty egy példányárulk létrcho2..1sához például el6ször egy SQICc-Mld tipusiJ ~j.ltoZÓI kelJ ~leu'e hlmunk:
A Konstruktor

A konstruktor ~haJ "isszaadol1 objektumot alctn ehhez a II(VCo<IIMnd -

v~l!0z6hoz

rendeljilk,

n.....

SqlCoalMnd I)

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 \'áltowhoz rendelI.

~lta)

vi55zaadoll objckwrno! a myCOIID/Ond

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

Iv. illábbi k6dsor ugya!MIzl a tek szolgálja:
Pi,. változóNeve ... tiPLIS
Ne ...
~(ln8tru!<tor(]

A fenti SqlcOIIlIIlI.nd-péld6ban tehát a kódot így is felfmanuk volna:

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"rnkterl: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 0bjektum C"""",,,,~"I"ext (parnncsszö"eg) tulajdonság;loo írja Általánosságban. mmn ~agfOWfflnyne~ ((gy a ~onstrukIOma:; is) lelleI

több vákczBla, amelyek mmdegyike I"lIás..más szárnY bl!men6 paramél&rt fogadhat. A több változilltlll rendeJkezó OSlIáIytagfüggvénY1lket túlterhelt tlJg/üggdfrfeknek nevelik.

162 11 rMZ ' 1IrneIUcI6I. ASP.NET-tII .
Al. tgrnél több pgr.unél:errcl n ..ndelkez6 korntruklorokal 8)-:Jkr:tn hasznil~k JmII. hogy csökkeni.5&: a rnegir...d6 köd n~)~. ptld:íul "'" Iéire ~ IIOlOi

egy

:~lt'.-nd~. és be szeretnénk illit:,"i annak Ccoraoand'l'n;t tul:ltdoo'o;Ig1I. cl\lltg:lZ aUbb! hi k<'xbon kellene imunk,

ooy(

, I. ooyC"...."" a. :~l( -..nel. N..... ,q: uj l . . .nd. _on~xt ·val . . !\y~ frt.~ -

A karJkt"r1:1nc tfpus6 ]XlrJnltlcrrcl elljlOu konstruktorv:llt0Z.1Ib:1 II nonoon a kl:l sort
&SZ<."\ '011 ha lIuk:

Dl. ooy( _n(l lia SqIC>MMnd

N_

iql

_n.cIl'vald,.ily"n

fn'l<"

omá/ynak ~ több konftn*.lOII van: egy param.!1ef n6líiIi. n SlWnOS másik. ~.. "lY. kttt6. l16fom. niov vagy rMQ több pItIIl16ltfTt1 ~ A F*Ifl16t. n6lÚIi ~lJUktOlTll r."elm... t ~
A legtöbb

.b:wIstruiJort.enr SlOitat. ~.

Objektum tulajdonságainak beálIrtása
Miu!:ln
halUnk
l~hOllunk eg)' egy(''!llulajdon~gait.

objektun'Kll. soks2.or amt van szükl;l:g, hogr beilIllSUk anIUk Egr oh,cktunl tuIJjllol\$igall'a ~ kővelkez6 formib:ln h!valkm-

lu al: o/Jje,U"",V41 tozt! al: ~kturn \'Jlto;Wp, ''agyis:lZ al:lbbi k6db:óln pl:kUul alltfC_nd,
I _. ~n.CI . . S<llCor.and ooyCc.un" _ SI,IIC ond!

A "'J.jdons.f9H~ al: driTli kAin! tul:l~g ~'e_ A IUbjdc:>tW.gok:i1 ugyanúgy IlilSVIJlh:ltjuk, rrum a \'llloWkal; &léket adl~!unk nekik, tipusok lehel. b kifC!C=ú.ockben '" ugyanúgy fc~lh;IlIUk 6kC.>t, milli a v;iI\OZÓlW..

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~l11.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 (~) lUlttdooo;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.

Objektum tag!üggvényeinek moghfváse
lu Qh;dnum<;>k ClgIllSsn::'1lyen ugyanúgy hivjuk

me,S, mint

rlki5 elj;:Ir:isolw ~ fUgg."t-

n)"cket. azz:ol ~ kJv~dld. hogy a1; otJ,ektum ......... &lek, amelynek II ugf0SS"ényél meg
~nénk Iú\'ni. meg kelj dőZIIIC a ugfilgg"'~ny ......... tt Al. objektumok ugfilgg.~ O)'L1f1ek meglU\";ba teh,,1 3 kÜ\-ctkcző abkOl: öltl,

o. ,.Jrr",V",ltozó.r.gt, rgvetlyWvlp.or.... l.
BS

p.or~,

_,

p.ll",• .,m

Al. oSllMvok tagfil~ jelentéstani sumpootból ugyanolyanok, mini II eljirisok a tagtüogvénytt. vagyIS nulla vagy több beme06 PlflllTlétefiik lehet. .. VISIl:Itérési tlrtti'.bl1S rtndelllhatnek.
A1lO8)' koclbban militcuuk, az SQl
-.and Cl5Zb1)1;un ha57.ll!i1ruk. hog)" :><.btOOI Il}~nk kl C!g)" ~d:lIl~zub6I_ Amikor:lZ SQlO'OfI'WIIOOO om.ill),il dolgozunk. meg kell

3dnunk az :Kb~Z1SI. amelyb61 ~datok::ll szeretnénk It.>kéroemi. iIIet"e mIS. hogy mdyen Idatokr.J \'2g)'Unk ki,~ncsi.:lk Ez!:I k~ inromclci61 a Cor.necÜ<>fl (klIpciOI.:I.t) fs ~nM=t: tula;ck.>ru4Pon keresztw adhatJUk ~t, A~ SQICo-nd 06Zt~ly wulnll.l egy Ex\tCUteRellder( J tlCViJ tagR\gg>'én,'t, amely a Coaoo/Ind'rext tul.a~1I ~ll:Il mcgl~'táruwu ad:l.tokat OIV:I.SSa ki a Connect ion LulJ;donsJgban megadoo adaLb(ill'lll6l
Az emIitC1l. tagtUgg>'ény megluvásihol el6:WK Iétn. kell hoznunk:lz sql! ......,.'ld o:m.1ly egy péIdin);it, ts be kdl ;illitanunk annak, ",nL,- ,t ion éi C-.ndTOIlCt tubjdons;igail Ezt:l k~ ~ kÖ\ct6en meghi\,t\;otJllk az becute~ .... derl) tagI'Ugg.'b1)'t_
A ko-.. ed<elŐ k~ a t:lgfQ8S"oi!'nyek megh'l'ásjn:.k ut:l5it:l5fO!'l'J1;jj<i1 szcmlthctt , ....
SqlC~nd

DutAlv

~

p.!ldAnv&",,1t 1.U.. hod""

Dl,. JIIyC."..nd

al

IIqlC_nd • N.,...- sql' _ndCl
tuhjdond,'l'~

• ~ Conn",,'L,,", •• c:.:-n<n""r lIIYC_nd.Corul<IC,ioa ••••

boAlllt .....

,""c_nd.C--ndnxt • "

164 11. 1Mz • 1....n.d61 ai ASP.NEJ·tIII
EXecute Rea d<,r I I t .. g{ag gv ~y ..... hív'.a Diao my R"',,<ler aa Sqlo..taReader IO)' Reader myCO!1OMnd.lO<ecuteReader II

I\ ~

Ahogy a femi
típusU

k6dlJ611~tII:lt6.

az Ex ecu teRe .. <le r [ lagfilggveny egy Sqlm>tllReader

~ktunl(ll

3d viSllZ:l.

Al. SQlPataRea der OSltMyt IIITlterveztét. hOQY egy itdatbázisb61 kmyert adatokat t6ro1ion.

Az értéket ,·issz:.ad6tagfiiggvenrek ha50016:m múködn<.'k. mint a filggvé-nyek, míg amk, amel)-eknek nmCS vissZ:llfr6i o<nék~k. ~Z eljárlsokhoz hasonlitanak A ugfilggv6>yeknek - mond az ('f!éket vÍSS2..1adókn::.k, mind a ,'isszal"rési (:nékk(,1 nem rendelkez6knek _<"mdlcu nulla vagy több bemen6 para~erilk il; lehet..

Eseménykezelók létrehozása az objektumok eseményeihez
A ugfilggvények & tulajdonsjgok mdleu aZ objektumoknak t.':5eményeik is lehelnek . Az események jellem7.6en V'Jlamilycn ~llapotv~lto7.ást fejr::mek ki. "'SY azt jelzik. hogy ,-:damilren mcrvdetre kerillt sor. Az ASP. ro·:}:. " Bunon webes , ... lérl6;e példlul rendelkt'zik ' egy C11c k ~nn,·d. amely akkor megy végbe, amikor a fe1ha.szn!i16 \-égrchajt '"Jla~ milp:n mü,... letet, konk,.{,tan egy vissz:ljdz& elindító gombra bmint a böngész6j8>en Az ~ll:.poIviltoz:i5t jelző eseményekre jó P(>lda a Tcxtllox \'ezbl6k Tex tChang....:l <.'semé-nye, amelyn' akkor kerül sor, ha a szövegmezó 131talma meg-.·:\Itolik. 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. A_ Ner progran-.oll minden eiernénykelelőjé1 eljárisként kelllruehoznunk. és [X>nlos:m két par:.m(1errd kell rendelkezniük az dso'!uek Obje"t úpu.unak kelj k'11.nie. míg" misodlknak egy al. Even l Arg a (eseményp.:tramél:erek) típush61.9..1rmazuuolI faj(;ljt'i pararnét<...-nek ABunon vezl-rl6 n i ck eso;ményl-·nek kClelo'5je (amelyet a Vi~••ul Web Dc\'cloper autOll),~tiku5.an lL'l.nchoz a sz:,.munkru) aZ al.1bbi k~~J (ugynt:vezett "al.1iclss:!I ") ncndelke z.ikP.oU<:tood Sub Butt an l _Cl1ck IByV .. l sender AB Ob;ect , ByVal .. Ils

_ Sy st_ . EVentArgsl Hand le. 8u t tonl.Click
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 esemerlrkczel60en (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.
A nernen6 parJm... 1erekcn kivül ~z e51;:n~ykezd6 m,,!~hat.irotása l.:In.:drnazza a Handlee kulCSS7.6t ls. Ez:l. kulc$zó kOi; az e:-;eménrkezcl6l '"'gy adati e51;:ményhez. A But tonl_Clic k c:s...mmyk ... z...1ó esetében az elli!\1~ aZ oldal Ji"Th1l ....... zt:ben Bu ttonl al.Ol">(k;ih'W:d (ro) meghatlrowtt l.Iuuon \·... zérl6objektum.:I. Buttonl Clid. esemén)'éh.ez k1pcso16dik.

A Visual Basicben SUlét keztíleg is Imatunk esamányllllZ8l6kal, de ~ Visual web Oeveloper ell szükségtelenné teSli. hiszen lIlltomatilusan el~'sdtr III es&ménykeNl6k v4zát. Ah.ogy • korábbi leckékben láttu\:;, ha tervero nézetbef! duplén katl!ntunlr. IIIJY webes V9lérlőra, a vezár16 ~Imezett esaményéhez létreloo az esemény· kazaló, de bármikO! ánlÍltNltiinlr. fOffésk6d nézetre, és • lent látható lenyíló ~stlÍkb6I is kiválastthaijllk a megieHlló objektumot és es8rMnyt.

Ö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:
DUt myCamwmd as
Sql C~ nd

tl\YCOI ... nd

N' .... Sq lC(l1I'IIIand ()

1\1lut..1n Il:treholtunk egy ob;cklUmot. be:11 ithatjuk ann, k tuLajdon...:igait. meghívhatjuk 1 a Illgfilgg>myeit . .::s CS('nll'nykezeI6ket lm:.tunk hozz:!. Egy objektum v:,Jamelyik tulajdons.1g1t úgy "rh~jíik cl, ha megadjuk al objektum nc..-l"t, majd kitL'S.Zünk "gy pontot. k utlnaí'luk a luLajdom:;lg n,"'"I·ét. A 1II)'C00000000nd objektum C~ndText tub~g::;t ptldluJ így érhetjük ek
myC,.......nd. . C"-'Ind'l"""t

A tuLajdonságok ugyanugy visclkednek. mim a S7.Dkványc.s \.altoz6k, \"1' típu'>Uk. 8t<5k rendelhető hozz:lJuk. ",,5 kif... jezt<sekben is felll:l~1lhat6k

166 1 Lráz • lStneIkId6S IZ ASP.NET-III
11a egy ~k!Um valamelyik l<lgfiigg,",~ny~t 5Z<'1ctnffik meghivnL az objeklum ne\'él, egy ponlO{, majd a ugfüSS"ény ne~'1'I kel! megadnunk. A lagfilggv&lyek hasonJit~nak n d)lr:.bol<f"J ts II fügsv(11yekre, null~ \"agy több par:tmé1.erilk lehel. és énéket is visszaadh.1tnak.
kL ~ktumoknllk különféle eseményeik ;s lehetnek, amelyek kolönböz6 id6pontban

kö,."etkezhctnek be. Egy esemény bekö\"etkeztekor :1l!~11ban '"lIlamilyen kódol szeretnénk v~grehaI13Ini; n cserrWnykezd6k olyan kfllönlegeli cljjrnwk. amelyek egy adotl {'5{>ményhez kapcsolódnak, és akkor kerl1l sor a \"tgr'ehaJwukrn. amikor az adot! esemény bekövetkeZJk. Az escm&lykezcl6knek mindig kl'l bem.::n6 JXlr:tméterilk \"an, és a I14ndle. kulcsszó adja mes, hogy melyik e;eményre v:ila!jzul indulnak eL Esemtnykezcl6kt."t s.oj:\t kezűleg is irhalunk , de II Visual Web Developer boldogan elkészít; hel)·(:I.IOnk a megfdel6 esclI"-""'ykezcl6 ,,!iÚI, csak meg kell adnunk aT. objekturrlOl ob; " ki\"lm esemén)'"! at ASP.N~:r oldal fom"iskód néleIében lalálható lenyiló !i~k :;egi!Ségével. 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"

v:

OSZUiI)l"'iI. rk lehetséges saját osztáJ){Jkill is Il'trelroztl/? 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:

az e-m:"lek küldésénH mikentjt'1 ke1l6 id6 h11:1.n nem ill módunkban 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 1Musage é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..
~rgyalnj.

S~I!lO$

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

8. ÓRA
Az ASP.NET
szöveg megjelenítő
.ot 1«.. turtolnUiból:

<;lÖ\'~

-6 .

5.

vezérlői

• • •

IllI'gJt'leni!ol'se a l.ilet:ll ~ L:l1)c,1 vn('Tlők 1iC.'gI~'eI It. LUeT1Il ,'('1.("1ió h;u;m1bI3
\"e~&16

• A label

h:l.sWbu

It. 1~lbel é; a IJler-Jl "cztrl6 különl~8c, It. L:lbelvezkrl6k megjt'lcn6l:nek megvj l107.t.:I~$;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 ....dIes ,-en..,.lóket II 5Wk...;inros HTML-dmk~khez lusonl6;on ~ ImlL rt.·szben helyezzük el. Amikor II lXIfIgéSZŐ lek6- egy ASP.NET .... ebokbl!. a ,,'ebe!..-ez<:rl6k II nekik rfK'g(dd('l!HML-k6dokká alakulnak JI, de a \'''7.Mókl az okbl (orr:1sk6d rts7.é~n le\'6 pr'O!.Ir.unb61 ;s dérlu:ljuk, A w<.'l:>eS vczérl6k teMt köz..-etít6kénl ~zolg:llnak az ASP,NIIT <>kbl forr.ísk6<J é5 IITMl rC5~ közöK
1\ ~ fejezetben !.ilun I*nzüg)'l 'lLimnl6gép ptkUpban ASP:-'U okb]unk töhb \,ezéri('ll ill :lllalmaZOlI \bll h;lrum ~zónk (Tcxt8w: "czérl6), amely... k mindegYike 3D II etil 5Wlg;l.It:o. !1OtI)' II fel~J6 :adalobt \'d~ be, egy gombunlo: (Buuon .",út'16), 3me1yn: lalUnt ... a fdhuWló U adalol< beinsa ullin ki5zam,n~lhaua U eredmén)', 6 cgy cil'l1kl:... k (l.o.be! "cztrltn, ~melyben II stiimÍLis eredmtn~ ielenilettOk meg

A kón)" folpn~n ook(élc " .. <.'hes vczérlŐ\'el fogunk mc.'gismer1<:edni, ~l'I1dyek killönbOm 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=lmtnyez. 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 Al. ASP "''ET wdlokbbk IITML-k6djilleltil kl't forr:lsb61 származik • a tITML r6zhcn '>lerepl6 SI:uikus 1m U"clltalomb61, illetve • a w~ ,'e~M('lk ~talakít:ts::ib61 sz:lrmalÓ l fT'.IL-k6db6l. A Imll ti:uben !e-.'6 $buku$ HTML-kód pontos:m ugy kertll a ~ allOg)' an megimJk, a ",dlCll '~zérl6k :1talakí~ k01:ben d611liton HTML az.ont,;,n aszennt ~~ltozik.. hog)' az egyes \'ezérl6k m>l)'en tulatdonsJ-gtnékekkel rendelkeznek
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

A literal vezérl6 használata
A luer.l] n:ztrl6 egyike::l kgegysu-nilX, ,,-ebe5 \n..'fI6knek. :I neki megfelek'i HTMl,. kOd u~':llUS nem m.i.s. mIfll:l \..,-l.éri6 Text ruL:..,dons1gir1llk h\cl;::e. A vezért6 ...!leIked.!-$l,...,k ~let..:S.:-re houunk I(:m, egy új ASP"'l" webokbll LiuralC'onlrol .ut»< oé\=. ame1)= nujd elhel)"eWnk egy uleral \-.:cltr\6l: Mml mUl(tig, ~ i~ üg)"djt.nk r:1, hogy n oldal n)"dvc \1'"131 &uic legyen, él hogy bejclülj(lk:l Place rOCIC ln ~ l<.1"'rnle

filc jclöl6n(:gyzctct. 12 uWn hÜ7zunk egy U1L'f"~1 \""zt,rl~ :I TooIl>ox p:ól1L11jr6!3Z oIdalrn A II I .ibcln !~th:lljuk. hOogy;m rest u oldal tt."f'o·N6 ~zClh.," a l.il('f'"~1 n,~ hOu:\;Kli5:t
ucln.

" - _ • • • _ _ ._.~

..... •
•.

---

'~IoI" .!'!l"l~'

-_ ... _------~

.. -

___ o

.-).;

._..... ..__ - .
• T=

1.1. 610
U/i'mlloedrllJ /tonáaM'"
I ..... ~ "údbct,

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ó:
• • \"isible
(E:o;preo;"lOn~l

Er1llbleV K!'Io'Sl.;ite

• M"""

• 00)

!'.bben az 6r:ib:m csak az IC ~:I 'l"ext lulajdons;i!(g:ll doIsozunk majd. AllOg)' ~ 4 Iccktborn 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
[UtHai
'~zc>n ll"itó')

n<.'1n

.illitjuk be, a ter...e.t6ben így jelenik meg;

Itt aZ l!lZonositó 3 vererl6 ID tuL.fdortS.lgának énéke A 8.1 :1br.in 3 I.Jteral ,..,zérll! tehát a7.én látható [LJ teraI ' LiteralI ' I forrn.1lxm, men az ID rulajdomáglnak énáe Litenl1, és a Text rulafdonsigot még nem adtuk mcg, Ha azonoon II Text tulajdol1.'<\gnak adunk valamilyen értékt.'!., a t~..,..,ez6 ezt jeleníti meg a H'zérl6 helyén. M6do:sitsuk most eZt II tulajdonsigot lIello, world! ·re. és nézzük meg II 8.2, .1br.it. amely ut mUl'ltia. hogpn \o1lto,ik meg ez után II terve7.11, L:'ithatjuk. hogy II Uteral vezérlI! helyén II Hello, Worl<ll szöveg jelenik meg,

"

-

'*~~_

......

"""""~.~'~',,,-,,"-,~,,

.

~'),

... _ - - - - 1'-f "::~ ~ ---

. . . , ... " .
u..;.,.;.... -;-!ooo, Wd

y

-.

....--".

- .. -_-..._.
.. : _ ;oj'''!-ol

,' m',;,:::" •
'It

'--

JiJl!

l '''"'''_ ... _. ,••• _,,,....

-

--

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 LlteralControl. aspx oldal II böngé05ben, II kimenet egyszeruen II Hello. WOrld! m-'eg

... ""

-,-.-

, · 11 _ _ _ ~-~

...

- ......}- ,
_

_ - k

_ _ ,. 1:]"

·-e

••
8.3.6brI
II ll'era/Ccollrol.flS{l.~

a

u~,

'''''1J'ck1lm:e

Miut;1n betöltÖltük az oldalt a böng6z6nkbc. \1!SSOnk eg)' pil\ant.i5t a böngészII.1ltaJ k<lpoll HTML fords ... A 8.1, pl:!(ljoon Játll<ltjuk. milr~"Il kódol IGlpott II ~zcrz6 böngész6je. amikor kiproMhll aZ oldalI.

<l~

otlal PUBLIC "- ./ WJC!I'DTr XIfno!L "

A

-....,

ltlonalJ/!tI'

_ Ont"" 1 _ . .,). 1"9f'l'R/xhtlall D'":'i Ixhtlall-U
j , <hta\

'umal.dt,s°>

_lnar " l1U", 1 _ ... l.or<,ltlU9/xhU01" >

4,

<he.,s~.tltle>

~, Untit .. d Pa~ .. 6, </tjtle~ bead~ 7. dlod;y» l. <fo . . ..,...." fonll" _thod- °p»t' .cti"n""l.lten.lControl •• sl>I<· _ 1<'1~"fonol'~ 9, <,siv~

10,

dnp\l~

type."hid,s",," ......,. "__vn."WSTATt;:· Id." __vn:wSTATE"
I ~

_

va lu. .. "I ..EP!MJ1QfJ'YyNzC'XNlJY4_XQIIII.IIG~"Ko9<Nb9J101pCp7Cr,,","

ll. <Id ......
]l,

U,

HeUo, WOr'd!</dlV>

H,

<

"no~

16, </body, n, <,tit.. !»

A I.it~1

a n=a-rl6rex~

J--tn1L-k6dJ:.o II 8.1. p<'lcb H $Oriban tlIlálh;uó. és n~ mis, mU'll éni:kc, A In'Ml-kód tObb., ,.e.;ze Olrlln mdlékternlék. ~mi aIJb61 a IfT.\!L t:lr\alomból ~zjm\llz,k. amc-lyt.'1 II lel"\-'cz6 akkor 11t,1<X1 0:16. amikor l~hoZ1:il ~ \t'cl> Malrix 1'1'OfC.'CI Lipw.ú ASP NET "'eUoIcbll
tula~l:I-'nak

,-"'~

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 1puSUI1I (ty~) Mlton 1 < 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. ~ 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.

1lWJI.novv

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-

lu a LJCer.olVezérl6rr:>a L1cr.d '-czérl6 ID tubjdons;l.g!irulk ení:ke. az ~n"k n a ur.kterUnc. amelyet:l 'czc.'rl6 "'eX! tubjdons:i.g!ihoz szerem<.'nk ~ni

~

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.wn a ,"<,u-rl6t 31. okbUI<Q :><tuk. és
."t'Ó6Uk ~
n

-

....... _ __ ......... ...
. . . . . . _ ••
~~'"

3 k:lpou ~mén)' 3 8.1 <ibr:ln l:illl:lló kepemy6képpd
• _ _ .'_ • • r •

-

-.

.

__ .. _....... ..... .... _. ---_ .. - -. __ .

Ul tubj(.lons;ig;it eurrentTl __ 11I m6doI;ÜOl!uk.

--~

.

U . 1Itn
A wrvnó a l./J(OrP/ ,fth16

..

,7r=k1fr' h<uIDIU.Ia~ bMUrJdw má ..

8, 6ra • lu ASP,HET smrijjlll8Ujel:anh6 VdrI6i
Miut1n" vezérlŐI az olcblhoz adlUk , 6 ID tula;donságát =rrentTime-", m~ítouuk, k6z....n ~1IU1lk ci. hogy megírjuk a szükséges forr:isk6dot. E16ször egy csenl&1ykezel6I. keU k':uehoznunk aZ oldal Lo<td esernl-ny(,hez: ehhez kallinl5Unk duplán tervelŐ n<oz<-'1ben 3>; oldal",. ''''gy v:\l(:<.l.,nk fom'iskM nézdre. és ~ baj old.~1i lenyil61i5tlból ,':!laSS1.uk ~ ( bge E"ents) elemet, a jobb oldaliil6l pedig a !.o:td-ot:. Ennek aZ ASI' :"lET oklalrutk n CS<.'t\.'ben azt szen.1nénk, hogy 3 Liter:l.l '-ez{,r!6 '!'ext tula~1P aZ old~1 m,nden betölt(,sekor az ~ktu;ilis dltumrd (,S id6n: , ... Itozzon. ezl:n az ezt \,ez{,rl6 kódot
a Pa\l,,_t.oad eseménybo..'Tl kell elhclyewünk

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. Súnjunk ci egy pt"IU"I, 6; (\:isd a 6.2. p(,kUtl.
' .2. l,
"ilA~gjjjl,k

mcg a webl>öngész6 ~I!al kapoc! H'P.>1L-k6clot

"'Ida
_

ti U1emlTrm,,-<upx ~'('/)cItk'/ dlUlI <öJ1/"OI/ In'ML-«'id

~IOOCT'lPE

html PUBLIC '-II\(Jetll1m XH~ 1.0 TrilIlBitlo"",lttEN' 'ht tp, J t>NW . .,3 . or'l/"ffitxht .. ll/DTllI xht",ll-tran .. i t 10"",1 . dtd' ~

"

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'>
type~'hi&l~n' "..-e_ VIEW'l'I'A'l'E' id.,,' _VIEIOSTM'e' _ value~ ·t wE~yNz"xNOY'N\l9kY'lICAw9kP'lIC~8~4EVGV(dAUVOS8KNC8 .. JIl'!I.lAl tDExOjltOOjAII ~FNW'l'ww"Tq/l i nu60\1iYaOGH9vv~wlsn=,' I ~

10, <input

ll , </<liv>
12,

176 11. r6a' ~ RASf'.NET-teI
13, <dl,..,.

14, tS, 16,

g/1412005 lt,34,05 f<.II
<Idiv>

<Horm:.

17, </body~ 18, </hUlb

Az ~ sor, amelyikre killönösl1gyelmet kell fordit;lnunk, a 14. sor, men el. az a HTMLkó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.
MiutJn végrehajloo~ a plI.ge_Load esemffiykezel6c. az ASP.J'\"ET-nIOIor leképen a HTMl. részben Icv6 wcbes vezérl6ket. h ezen a ponlon a l.iternl vez&l6 Text rulajdo""ágának bt':ke már aZ aklu;.ll.s d:ttum és idő. II liler.d "ezl'r16h61 tehit Cl. az "n"'k jön ](,tre a HTMl.-lé alakíLískor. ~ a webbönghz6 elj bpj:1 IlK'g" \iSU31 'M:b D<_'veloper áltll az oldalho.z 300ct kiegésnt6 Slatiklls IIT),!L WrIlllommal.,gyiltL Ha frissíljük al. okbh 3 böngész6ben, a fenti foly~m"t ujr~ végbemegy, és 3 höng&lz6 ismét: 3 megfelelő d:ttum· ts id6énékeket k~pja meg ~ "",ki elküldőll HTML·ben . Pr6MljlKlk rájönni, mi lesz ll. Liter.. l Ti"", ...... px weboldal kimenete, ha il Page_Load esaménykezelOOen SlIIf9IlIÖ currentTi_, Text Oate'l';me .Now kódot :urrentTi .... Text _ 'The current tim, iR' . .. OoteTi_ . NOW-fil m6d0sItJuk. IPróbllljuk ki ezt ll. lódot, és figveljO~ meg, hogyan vflltoOk meg I kimenet) amellyel ~ kimenetet formázhalnánk. lia ily~m're van 5Z.Ü~nk, ezt csak úgy tehetjük meg, ha saját kewlcg be5zUrjuk a megfclell'i HTML-kódol a vezérl6 Text rubjdonságáoo. Ha al id& p.:1<Uul félklh'':'-r Ix'!úvel s:reretnl'nk megjeleníteni, al et"TC szolgáló <b> JITMLdmk';l kifejezetten meg kel! adnunk.
1\ Uleral ",elles vezérlónek nincs egyetlen oly,ln tulajdomdga

*""

current'l'i_,'l'ext

'<b,," " Date'l'a...llow " '<Ib~ '

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

A Label vezérlő használata
ság;;oi

ALIbei vezérll'l "bban kíllönbo."Jzik a !.itt'rJI vezérl6l.61. hogy V"Jnrntk fOl'lll!izhi tulajdon;~, ~melyekl'l be:\lIiwa megh:lL1rozhatjuk, hogyan jelenj<.'n ml'g a Text tulajdonság ért(:ke ll. felha .. vcll6 böngkz~. A dmke sz/heg""- ~Id:<ul félkövér bt.tü"el jeleníthetjilk meg, lu a vezérlő Font tulajdoru;:jig:irntk BOld res-Llulajdon.'óágát True-r.I Mlitjuk. Kbzít.<íink is n>O<;t "ID' új ASP./l.TI webold:th, ~mely szemlélt('{l a !.:Ibel "ezérl6 h::m:n.ilatátJ

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 lulaidons;!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. a k(,pernyoo valami olyasmi! kellljtnunk. mint a 8.6. jbr1n.
I~a

euel me8'dgyunk,

- ._- 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

too ..... _

... _ _ _ ... _ _ ....
~

.. ·.·IoIOóIjo

_.-

,

~-

-

~-

.

__

,--_o.--' ..

.......

... •

.

- _ D

8.1. jin A fAbeI ,~"Zo!rl6l1oJd réuwtajdons4gár

Tn,.,.,.,. dllíron".

8.1. IM-

... ~ , ~Jhnl I~~
Leíris

r:lbb;;.n I . belulÍpu50k u Ari.:l.l, a lIelve'lic:l b; ~ \'~n~. Be!\1lÍpusnevek listája, lia U oldalt n>egl~!ogat6 böngéiző

nem tjmog'llj;l akiválasztou \)(.'I(Jtipust, a
OVerline
Si ze

li.o;t~IyJn

szerepl6

kóvctkez6 bell1lÍpussal pr6hilkoz.ik. Logikai &ték, amely ali adp meg, hogy a 'l'e"t tulajdoru;:\g é~kél egy fölé- hÚZOlI vonallal kcll-e megjek·níleni. A Text lulajdon~g megj<'leflilési ml'rete. Olyan szöveg"*" retek kótiiJ \-;lla!<ZlhaIUnk, mini a Smaller (Kicsi). a Medllun ( K&epes) Y:Igy ~ Larger (Nagy), de poménékel ~ beírlulunk

Strikeout
underline

(ptküul UPt), Logikai érték. amely:tZl adia meg, hogy a Text

lula~g

értéké! álhíizással kell-e megjelenileni Logikai érték. ~mely azt adja m~g, hogy a Text tulajdonság értéké! al~húzáSS:l.1 kell-e megjeleníteni

Nl'UiIk nll'g a !.oabelControl.lOSp>< ASI'Jo,'ET oldali a 1>öngb;z6ben. éi a Kello. World! szöveget félkövén.'n f<JgJUk 131m. ~k{jrcsak ~ lervez6ben.

8. 611 • N ASP.NEl 111"5"''',,1 ' iIII1 ""'*II5i I IN

A l.abeI vozérl6 által .16á1I~olt HTMl-l<6d
A Ulcral ",ebe:. vN['1'I6 ~SI..'1ébcn a bl'mgéQ:6nek cIkOkiölI IlTML-k6d ~ vereni'! T."t tubjdon.s;ig;inak éltCke \·oh. a labd "cz&i61'e"t tuIJ~g:I azonban kieg67.i11 a fOfllÚ;rjsi irúomúdók kiegeszl!l'i IITMI.-k6dj,h,lI. De mit~'en IlTMl-kOd<x ils kllld \lI~b3n:l. lllbel \"t';cbl6 a bOn~ ~k~ módon ez anól függ. mU~n
btIn~'d

tdnnuk meg az adotl

ASP.~"ET

webokl.:ili

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

Ha f!'I( verirl/llHlonyot: tulajdonságart I b6n~ oem ISmeri, I nem "mogatott kódok aotOlllltikuNn tMSdnet I ~tb6I. Al ASP.NET I U-·Agent wsgáIat6v1ll miii \UdjII Map/tllli, ilO9V I k6felmtl6 böI'lI6szd HTMl- vagy XHTMtképes bJJ"g6sz6. •.

,.jIk

Kcrihl>rol ernl&ezhcl:Onk ri, hogy amikor u AS"NET·m<Xor "égrril:lltl":IZ AS .....'" ... d,Jokblt, II kUJönféle " ..:be>. \czérl6ket HTML-k6dolcJcl képezi Ic.>_ Ehhel filO'elembe veszi a User-Agent fejUln"l, b ~l aclon böngé:sz6nck megfelel<"! HTML-t ~Iliti'l dó.
A 8,~. pékbkód példlul an a IlTMl-k6dot mutal"'. amelyet egy fi'JklII:>ő,~k~p, ha ,",..,gllloS::!!? a LabelControl ,ISP" ,,'eboIdJlt (Az ASP.NEr fejlett - uplt. -cI- bOngé... m5nek tekinti azokőlt a ~">lliket. ~mdyek t~rnog:Itl'ik U i1gyfNoklali p;tI"Jncsk6cIok;at, a 5Iilusbpokat é a IIDIl ·Uk. Ebbe a OiOpOftl>;l \;I1'(<)ln:l\,: péld::iul :I.lln~ Exp4o«T 4,().s l5 úpbb , .. /t~I:I.'. a Mozilla fin:fox, \'lI!.anWll.::a 'etxape 6,0--5 b k"-"6bbl
'-lltoz;ot;lL)

i.'W3CI/I7l'll

• hnp' 1/.....w. w) • org I'M!.Ixhtm.! llD'I1l1 "ht .. ll - t ranatt tona l . dtd " >

.: ~ht.1 XAln.c "http,f{www.").org/1999Ixh,.I" > 4, <hoo .. d><tin.,. ~" 1J:1' ,eled P~ " c/tHI.><lbNd,.

9,
10,

~di,,>

<inpu~ type."hidden" ~." __VIEWSTATE· td"" __VIEWSTATE" • val uo>." I'oIEP!lw\lJOOExKl'JI~N~'(~lIGII~~ YF1J1l: ·WY.t.S1{40Z~hllFf \I.cdiv>

"YQ_ • I>

U,
l.

<div>-

180

IL • ~tzASE'.NET.... IMZ
]4,
I~,

_ <lspanH. <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 tulajdonsj,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.

A IH t*1dll»n euel "lemben ut ~ IITML·kódot UlhlllJUk, amelyet egy 4-es v:.iltor.atú. ~ IIT\tL 40-t nem lSml.'f'Ó ",,,,,,,h "ct.o;o.~fX' böngb.z6 k>p ,. Y-bo., nt rol •• !IP" megLuog:ow.:.kor. Az ehlleZ hasonló bong...-nók ..1 n('\"ClJk fi'.jIefJm bdr~ll'It
fdo" ..nJ('\d
bro9,'SeI').

,,
tI

1: <I!'"<'X'TYN hr..l PUBt~C ' UW1-'ID'I'D KInlfr. 1.0 Tr..-.;t\C/NII'II':!I' _ 'httP"IWWW.WJ n"rnt.xht_1 D'l'D/><I ".II-tr..,..iL"...l l'~

l, <hu.l -.lns.·Mtp: !www.wl.orq.lU91l<ht .. l· > 4, <hea4~<tltle> 5, lJntltl..:l P.. ge 6, <Iti tle></head>

don. _ . · f o n l ' _'hodo'pc." _ .ction··LabeKont ."I ....p"· ld- 'lorIl">

9, < Input t~ ·".lMen" ........ _VIEW,;'TAtt· 1c1.," _Vlar< "1ITIt· _ .... 1 ..... • /vEPIlwUJ ~'.s.Y~~I'm2YT}.rurWV.I..SIl'G;l:zhXFtAVO"· I»

0'
Ih

« Iv>
<,fona> <'body>

IS, <,htllll>

l',

A ti 4
~ <b~

f~lkö\-'crre

ll. 500). kfilönböz,k a 8,j, t*1dt II .sor:ltól. A Ife Ilo. worlt! I ~T.ÖV"g lft<:,I(lr6! in nem a <.pall> elem nyle jclk'fTlZ6je gondoskodik. h~rn:m elem, men a f<'jletlen böngbiz6k. c.""k Nl ismerik.

~Ida

Annak elenéra, hogy .,.jIett" t fejletlen ~k más·nm HTMl·k6dot kapnel:. mO:I:.ett6 ugyanazt. kmtnetet «tdményezi - a II. '10. wQrldl lIlÖY8II I~ jIIri:; ~ Al ASP.NET webes VMri6i teh6t ~.-nII.1Iogy llItépezutt m..t lI1I'I'(R lIISOnItSOn • IljIItt .. fejletl." böog6sz6kban. IfTI8iIIJ1l1l csal W.tségtl.

A Label vezérl6 !onnázási tulajdonság';
A label
\'e~&l6

több formáz1si tulajdonsiggalis ",ndelkeZik

M~r

Ianuk.IXlg}ö1" teheljük

cm' donk" QÖ\'~ fclkövcrre, de 3 label "l'zL-rl6nek sz:imos má~ formáZási tula~gát is érdemes 'no..ogvizsg~lnunl( Ezek ll. formizlsi lubjdon'l;igok a kő\'(.1kc"-Ó GOpOI1okb:!

sorolhatók, Q.ifUulaj<l<:>m:igok, .~Iitulatducu.!lgok. beultulajdonságok, illen'" egp'b tulajdonságok. A követkeWkben mind ll. ~ . .. m1itef\ ~OI 13'!n",lni fogjuk

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.
KéUílSOnk

egy új ASP_l\'l:."T webokblt.

hogy kipr6báljuk ll. ke! s.zímu13jdonsigOl!

Kczdj\lk 3Uljl. hogy IéIrehozunk efW új ASP_,,'I!T olda!! ColorUobel .asp,. néven. és húzzunk ('gy labd vcz&l61 az oldalra. A címke hozúad;Ísa ulfin lTIÓdO/;ílSllk a "cwil> Text lulajdonsig:lt Thi6 is .. test of the color properti""·,,, (Szöveg a színtulai" do=igok lameJbéhez), MOSl :llJítsuk
~

llacl<Color mlaJdonságot N'avy-rc (tenS"részkék)

~

Por..color-t pedig

\X"h'IC-1':'I (fehér). Ehhez gy6z6djiink meg r613. hogy a label veZérlő van kijclöh..." hogy

11ssuk a lulajdonsigail a J'ropenies abbkb:m, majd keressük mt.'g ou a llacl<Color lulajdonsigtl(. A tula~g ki,elöl6e egy h.'lrom lapb61- CU$lom (EgyénI), Web (Weocs) b; S}'$Iem (Rembzer) - :1116 palettát jdenít meg_ Ahogy a 8.8. ,,00 mutalja, a Cu-"orn Iapon 64 színltal:\llJflk, amclyek közül ki\';Ilasz!h:ujuk a BackColor tulajdon-

.ság én."ko,,;_
c- _

l"':;'_

n-rrrrrr ~r.r -- •• r •• rr-;- ••

I""""

Irrrrrrrr

•••••••• •••••••• ••••••••

8.8, 'In
ri CIlstom

u.po .. ItItható s;ú.U!k

Ha fooás nézetben választ juk ki a 8.1ckColor Ilbidonságot a Properties ablakban, nem logjuk l6tru 8 8.8. ábrán ~1hiII6 ~nát. csak Ggv listál, amefyboo a szlnek nevei található!:. Ha látni szeretnénk ft színplllenát. ell'(SZGfÚen vá/t&W1k e Design oézetre,

182 1Lr6IZ • lImIIted6S IZ ASP.NEH"
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
A System lapon a 'Irlndov>'S rends>:erW.inei( t:I.l!iljuk. amelyeket olpn rend"zenula,ldon.$ágok ha~roznak meg. mim az ACl;\,eC"plÍOll (az ~klív dnlllOrok ,zine). a Desktop (az Asml szlne) V3gy a Window'feXl (n abbkolloon mcgjekffi szöveg szlne). Ezek a nevek különböz6 relhasználó ;I]wl megadható színeket jclölnck a >,t"mdows opcnkiós n>rKbZl.Wt.'11 Ca Dc:.klop !*IcUul a \t~ mdow!i As=!~""k h:lu('JSZÍne). Ha úg), c\öntOnk , hogy ezeket a színne,'ekct alkalnuzzuk, a l:ítogatÖk böngés>.6jében olyan színnel jelenik meg ~ ".-bold,1 szövcg<.". antilycl a gl'pükön be:lllilOluk a \\"indow's sZlin~r'd

A Windows uínbeáUításalnal:; megváltozatá&át!ol kattimsunk az e!léf jobb gombjával az AsztaIriI, és válasm* I Properties flLiajdonságok) meniiponlot. maid a megie!e,ws párbeszl\dablakban az AppaMllllC8 IMegjekloosllapol.
Állitsuk JÚt:1 B4ckCo l o r lUlajd<::oruJgot Na"Y·re; ezt ~ szint 3 Web bp<;>n találjuk A l:Ibel \'ed'rl6 Fo r eColo r lulajdon.~ga a n>egj<:knílct( <wvcg színét állítja be. Amikor en a tulafdoru::1.gOl ",Iöljük ki. ugy:ona1. a I~romlapos JXlJetta jelenik n-.eg. mmt mncJyet az imént 1:lullnlc. Ehhez a tllb;donsjgl\O~ dJ:lsszuk 3 \"(11;te szint 3 web lapról,

B ln • IUASP.NEl szöv8\ll,..wllm,'t6 VeDrI6i 1183 .
Thi" la a tnt of the color propertie.-re, a 8a<:kColor-t NaV}'-re, a ForeColo~·1 pedig White-ra m6d05ltottuk. A tervezőben ekkor a This l B a test o f the color properties szövegct keIl11'nunk, fehér szöveg- és tcngcrés<:kék h:íul"J'SZfnnd, ahogy a 8.10. ~br:ín isll1th:jtjuk. három tulajdot'ls1g:'lt :lllilonuk be: a Text
""",~.

Eddig a Label

ve~ér\6

tul~jdons1go1

"., ..,_ ...._'.01".... _----__-.. ... ..
,._W~.~._ '_"~'.

-_

-II

. : ..

,-

_.

-

I' ,..

B .l0.
Cimwfollér sWt.-g- és ~
Mllbttim,l'I"
tN1<'Z"Óbl'1,

M"nlSOk u AS I'./'.'1:' oldalt, és néUOk meg a \.Jöngészdnkben, lia fejlett böngésZŐI. hasznijunk. ugy:maz, a kiment.1~'1. fogjuk l~tni, mint az :lbr..in: a This is .. tellt ot the color properties szövege!. kék abpon fehér betűkkel. Ha aWfloon a weboldah egy f~'ilctlcn bóng6>7.6bcn tekintjük meg, péld:lul a Netsc:lpe ·LO-!YJn ..• akkor 5elnm,t nem látunk! NézzQk meg a 8.11. 1boolt. hogy 11ssuk, hogyan is fest a ColorLabel , aopx a ","el5Cape 4.0-00n.

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, 6,
7:

Untitled Pali"
</titl~><lhead>
~bocly~

<for" naJ'll<l' " fom.l" ""'thod. "po\It" _ Ilct!on,"COlorLabel.a.px" id. "forntl", 9, <input tYP"='hidd"n' """, . · ~V1EWS'T ... '!'ti" iel~'~ViEWS'!''''TE"

8,

_ va l

ti'" "i ...

EP~ODEJ<Mm:SN.Y5ZGR5

P!l2YFjJU"WVal,sH40Zd,XFf "yQ •• '

I:.

12: 13:
1(:

<_n i/lr'Labell'~<:font color="Wh1t .. ">Thil ls a test of the _ color prOP<'~tle"<lfont,.~I.pan> .."/liv> <{fort0>
"Ibocly~

lS,

16, <Ihtml>

Ahogya I 2. sotf.,;,n láthatjuk. 3 !.:Ibe! vt<~rl6 l'oreColor lubj<loru:íg:\.nak It<képe;resekor egy <fonn elem;ön INre, 3melyrK'k color jdlenw5jo: a White ~~kCl kapj;!. De mllÖflénik a BackColor lub](lon.s.lggal? Ahogya 85. példábólláthatjuk, ez a tulajd<.>mJ.g nem képez6dik Ic.legaljbbis 3 fejk'llen ~bc:n nenl. Ennek oka az. hogy stílus13pok n(,lkül csak ügy 3dllalunk lúu&s<t!m ~'gy szö':eglX"z, ha a szö,-eget egy <table:. !ITMl-dembe hely<'llilk. él a l~blául bqcolor jeUt'fTIZl'ijá. ~llitJuk a kívjm színre.
A SlÖveoek Il6ttéfszlnét stlkJslapok hasmálatalr.or a bo.ck9round -color stíktslapjlll\emz6 sagítségévellllflaljuk meg. A aackco lor tulajdonság llflnek

segftségéYlII képl:ll6dik le il fejlett böngés..!Ókben.
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
álHtjUk be.

ve~érió

színtulajdon'iág:.l,t

A fejlCll bön~ •.6kbeo II label vezérl6kben megjclenít~'ll $ZÖ'<eg köré szt"~lyt is lchClönk. (A fejICIlen böngészőkbc:n a szej#l)lUlai<Jons:1gok be!ílHtls:. nincs hatással II Label "ezérlób6l el6iUitott HTML-k6drn,)

jelenít mcS cgy label vt<zérl6ben megjelenített szöveg könlL Kezdjük lIU.l11. hogy lé!rehQzunk egy üj ASP,)\1:, oldalt Borelert.abel. a9pK néven. egy Label \'ezérlót hütunk.-:l. éla Text tula~g::it

Kh~ítsUnk

oIy:1.n ASP."'ET webold:J.lt. amely

~l},

a. 6ra • Al ASP.NEl 1lÖ~..,negiII, rfttI 't'8ZM5i 1185
Tellting th" border properties (A szeg('lylulajdon.s:igok teS>1te16e) Mékre 1lliljuk. Ez ul:in k:minlSUnk;,1 ,=érl6 BorderStyle (szeg«I~'S\í1us) tulajdondg;ím. Ezzel egy lenyfl6 !ist;lt jelcníliink meg, amely külöobö:d> !chd6>kgckd urulma~ a label ...",zt,rl6 köK h",lyezend6 szegély Sli1~val kapcsolatban. Ezekd;,1 !chet~kd;,1 8.2. tib/izat· oon lt'kinth(>!jOk meg.
~

Szeg6lystílUI NotSet

Leír.
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
Bo.-dect:olo~ lul~jdon~gokon

A Bo.-duStyl" és

kivüllt'lezik egy Bo~de~idth (szeg~Jyv3S1:1gs!í8) ne\'I1lula;dons:\.g is. Ennek &1Hekénl írjunk be 2-1, amellrel 2 kC,pporu s~les szeg.'cl}, hozunk I('tn'.

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

......
MOM stiin;unk ~

__

.-.


." 0'-

-

8.13.
.~

ÚJbeI ,,,,,,hMfo{l•.,,"'tos,

,} klppcmt S#Ier t<'lnk sz~lyd

egy percei.. hogy megnézzÜk u oldal( a bön~n is lb u oldal!

fejlett böngén6ben lekintjük meg. a "I'estlng the b:>~d..r propj'!rtte.. szöveg 2. képpont sz~lei. VÖfÖS. fol}101101l sregéllrel jelenik meg, ak.1rcsak a lerve1.6ben. l ia azonban az oldalt egy fejletlen böngész6be töltjük be. csak a $zöveg les~ l~tI"'16. a szegély nent.

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.)

ÁJJitsunk be néhin}"J1 a Font tula;oon<;ág résZtulaic\ons.1g:l1 kö.,;ü! EIC>szÖf az naUc rému lajdons.1gOl ~mtsuk True' r:I; e kkor a d!llke szövegének d6!t betiI\'cI keU megjelennie a l('r\'ez6ben. Ez ul1in ~ Jol ....... lub~g alan v~lasszuk az Arial be(alípuSl.

a. tlI1 • kt.».HET a.iiw@1!_

' rIIr1 VMrkti 1111

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:.-elopeoII~ kÖ':"t"ttuk II fenti léptscket. ktpcmyőnknek III :.ibnn ~lh.1t6hw: kell h;asonli"'mll.
ll.
"~","

.... .

..,--_ . .,

,.._.~

"~~

-..

~,~.

--.,.

'Worldng wllh the
Font fXOP6(fIeS

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 böngés7611C1I, & mcgv.~!fuk II kapott HTML-kOdot. Ib az okbit fejlett 1:röogésW.'e( t"k'nlJÜk meg, a Label \-cztri6b61 cl6áIlÍlOtlI-fnIL-k6d II ~UMsok:ot II styl. jeIlemZ&m adj::! meg, A Font rub~g fenti bdUíthai n>elleu egy fejku böngbző a kö....:tkezó I IDll-ködot kapp a Label ,-ezérl6I)ÖZ;
ll.

up .. n ld~·!.abe 11· .tyle.·! ont ! .... ly: ..... 1a l , font - ai u, 22pt , _ font-Olyledullc,'~W<>rklnQ" \:IitI> the Font pr""",rtie.~I.p.o.n>

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~

li Label vez61l5nek nok II tub~i, amd)-d<r6I rJqj nem brszeIrunk, Wg)'es aoportot alkQtnllk, \'m például cg)' ';.<,itip nev\! tub~g. amelyrX'k éntIr:(:(lj Vlll;uni/yen ~ (egy Iw:r.kterUnroI:) lI.dll:ltunk. Amikor II fcl~16 3 dmke szőv<:gt: fölé yi$Zj u t"gérmUt:l!ÓI ~ ~z6tében, egy lehegő 5:Írg:I bubottk jelenik meg. 3rndyhen 3 1'0<:>1 t ip rulajdons.lgna.k ~(:kül adott .l.Ö\-"egcr b\thatluk. A 8.1 S. ~br.\n Lltll:lljuk, hogylln f~ egy ASP_"'ET ,,'eboIdat 3melpw ,..., ,1 t ip rul:lJdons;og:a II ,"ü. i • .. t, ,ltip (Ez egy swvegbulxlta:l m-.~ I:lJUlnl:lUll

I. I L_ · ~.ASP.te-tll

-an example af a I L',b,,1 Web contral with its
IS

8,15, "
Am;"'" <lZ tg&mUUUÓI a

<"" ..fiJM ''Ilu,lJr,

<t/.I' ~"'1lhu00n* jNmlt ""'JI

A t:.bd ,~ZII!rl6 qo-(:b lul:itdon-~8:U k~ L:lno1,ik a lieloht (.\Ugas:s;1g) t$ II Width (SZO:Ies.q> is, Eooek a ~ IUbjdon.~g.uk II ~ abbkban ;odh:;JoIUnk kankn:, éndcoel. de ligy is módo6ilh:ólljUk (ikoel, lu to..,,",-~ ~zro.x.n á~ II cinlk&. A,~ a!mkel:~ úgy IOOL'nik, hogy Jl: l'gi'rb:.oJ gombj:1\':1IICilltmn';l qJ)~ kqdolrok a \....zérl6I. hog)-lú.rom kiesi. 0= ntgyzl:t ;e1enJCf' meg a \.~ kOrüIegy alul. rgy a tobb:al.ió ~rokhan. qJ)' pedig ~ jobb.szélen -, n... jd ,..l:imelylk négytetn: IwUtnl\" CS U f.'gér gonilipl IeIl)'Qln ... lam1l ll1olg:lljuk az cgereI:. Ha a vezl1i6l; a ki.-ant ntm:tre :ilhlouok, engedjük fel u ~ A Heloht és Width rubjdon.'>:igolc automalikusan al: lij ,'állozn~k,

,""I'\.,re

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értclmeté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 arlapokon 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 .
A label
~

leMmIrad6 ~ _ k .. ,.AI<."'Y. u...,."l.tedC ontrolID.

;8&<:1 ..... Enabled. !n4bl..11.... 1nll. '''",bleVieo..-St.te, !Elqlre doni I , SkinlD n Tab!ndex - túlmutatnak könyvünk k~lItllin, dIIBlIIkIll a tulaJ(lonúgokat

nem 1$ fogjuk

~

I könyv péküiban.

Ö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
1\ Ulc ..~1 vezérl6lckl'pelbckor CSólk a

\'clbl6 TeKt luJajtlonSlg" al:ikul HTML-ié

I'onn.i.dsr:> nem kcnll §OI". bo k,cgbizil6 t-rn.U.-clemek 5e1Tl 3d6dnak al okblhol. Ezzel "lCtnl>m 3 Label \....,zérl6 form;,j;wn SZÖ\'eg IlK'8JClcni(~ is alkalmas; Iusznilluljuk pa.,uul :m:I., hogy ~lk""Cr bmJn'l út '"'lJ)' S;Í'1P hoin&relI'LU«J{[ SZ,Ö1.'eget I"unk kl I'.hho:;p; ~ label \'ezérl6 killonftle mC'gI"ierutÓltubjtk>OSóigobl \xlao\t ~ n:nddkl'~nk­ ~ (I" ","c·:or. Foree'llor, ront, Border<:olor. Bor<lerStyle sID.). A Label \'ezerl<l: k'k ...~kor nem csak a -r.xt tub)donság fTlC8II'Icnlt~ kfflllsor, h;....em egy ~ .. pe.n> 1fJi\-ll--clcm is Ittre;ön. 1ImeIy meg.dp ~ flllTll.iz.h. lubjtk>ns.lgol< én~kl'bl'n
me8h~ldfoZOU

iellem1.6kct

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ó.

110 LIC· ~m:ASP.HET_

l

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;

ALJbe! vezér16 tehil egy <IOp.an~ IIThIL-clembe burkolja :o '!'ext lu!ajdon,<;;igJl, hogy ft.lllNzha.ssa a SZÖ\cg<.'1; példau! h" a ,-.,z,:ri6 Font rulajdon.dgjnak &old ~ubjdons:ig.:ll Trut-n i!hl!Uk, egy fejlet! böngész6 az a!jhlJi Imll-k6dul.

fagp
K;

k:lpm:
,.tyla~ -f ,

<span

,e "',II,',bold,-,Thla la.

te~t"-I

'VI'"

v:

hafo.jlctll..,g)'lw frik-'tkl, bl»lJJész6tri /ein/lilII meg ar oItklll- d .. mem/)"" ftletjedlNt CX)l6/l<Ikill rI.fo.jkfkn bónpfozóltJ Az ASPl'o'\:.'-1I'IOWI' az utóbbi nl:hiny (",ben kiadott modem ~eI fl-jlcu ~ tekimi. A fe,1etJcn böngé$z6k megJchct(\sen n'glck; olyan d~\'\I!t bö!~r6I van szó, milli" I\etx-..Ipe ,i-es b koclbbl dlt07.atd, I"'~g)' az Inte1noet Explorer 3-as b ~>i v....á6i. A1lOIIY ebb.on" fejezetben l~nuk, a fejl,-'!! böngé:sz6kben helyesen megjelenO' ",-..-bes vcz&l6k nem hinO$.11Og) " fe,lclJcn ~bco is megfclcl6en,ek-nnek meg. Ib biztositani su:fCtntnk, hogy

AzASF~\'ET-nKJ#Or~I"pezl

ka

umcs,~.

"'cbokbJ:omk mInd a fqlctl, mend a fejlcUen ~bcn múköd6kc:.~ leg)'COC.'k. az oI<lalak3t nundkél aJZL\1)'ÍI ~ ki kell ptóbálnunk "~azonban gyQf$On letöhenénk a S~pe 4--d, gondoI;.ck vl:gog, hogy mcg..'11-e a fir.od.dgol. Ilin)"n laaszn;lllt:lk m;11t:1~g cl:l.\'\I11 ~<:t? Van el~ fcltwzrdló ahhoz, hogy ~ leg)'en idI5r tölteni a .....:\>hely megjelCné:Imek finomhangol;isj\':I1 qno apró ~ ~ra~ Az Interneten több wcbhelyt:t is taWunk, ~hol ~jl:km6dh:uunk .utól. hogy n 3dotl helyet milyen böng~kel Jjtogat~k meg 3Z utóbbi od6ben Az egyIk iI)'en hely a TIleCoumer.cocn, amelynek ~1"'<1,k~J.Ít a http,II"","".thflCOunt.r •• '_/nat., clffi<.'11 tal:iljuk. 2005 novembe...:u..on II TI!eCoum ..... com több mim 75 millió k{-n,:11l1(.1 jegyzetl fd egy h6nap abu, amclyb61 körillbelül 63 OOO (O,()!N;) sárrnJZOIt fejleIkon bOngtsz6nek tckinlllCl6 pn;tgramI6l. Ez nyiili.nv:;al6an C$Upin apro tötedt'kc II tel;es forg;olonuuk A kl:relmek túln)-un6 tObbsoegc az ImCTTlCl Explorer 5_O 61 6,0.:0 11tdox, aSIfari, a Netscape 7.0 61 az clper.l ~t6I mezeu IIcllwn nl:zve, \':IlóIQimlleg nem kelJ aggódnunk II Iusso! ~ ~
rrn;&U, hacsak nem oly;on ...·ebhdy'et
üzemchctűnk,

$WI, akik lehet, hogy elavult mmit6g<:peke! hll:iZNllt:lk (ptld-.íul

amelynek boulrrut oI)':Inokru.k ~ f.:jl&lo5

orsdgokban fl6knek),

Ismét16 kérdések
l. Hogyan jelenuhctOnk meg fonn:ízou szöveg.:..1 egy iJlenl vezt.-rl6l:ocn' 2. H~"~n jck'flilhetünk meg form!i:roll SZövegei egy LaI:lC'I veZérl6ben? 3. .A Llen] "ez.. rt6nek C&lk egyctlen lul~,donI;Jg;t ' .. n." Te7Ot_"lg:Iz ";lIfT hamis? 4. .fl. L:Ii;od "~~k cs:Ik egyetlen lul3jdon.sjga v~n." Text,· 19;oz "~gl' h..IlfUlJ 5. EmI&euünk nssu, hogy amikor U A."PSI:"·lT1oOIor ~jt eg}' XET ..~11. ann<lk ....ebc:$ \'eUrl6." nekik megldd6lmtl-kódd1 al:lknp

A.""

'illyen tényez6k h"Urozúk meg. hogy mdyen /lnll-kód jön

[~<1O':Idol1

'-N6i6höz? 6. Mire s.zoI8~1 a ÜIC",' <':=s" Ulbcl vezérlő? 7. Mit" mondh"IJuk, hogy a wd>es \'cz&l6k IGlp(;soliJ.k össze az ASI',!\'l" webold:tIIITMl él fombk6d re,z/!t? 8. .A bbel "ezM6 .' -l n' " ,l, , tuJatdons;lg:it a fejletlen 1>öngkUIk fil.lydmen kivill h:ogyj:ik. '":agri!; mmden fejletJm böngéYi'l ftokefe i!.Zinnd jeleniu meg <e.reknek a \'eUrlőknek" Tellt tubtdons;lg:11. fOggetk'nill a ForllOColor lub,clnns<lg ~é­ ~: Igaz >-agy h"mW

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 HTML2.
demekel,. Text IUbjdonsagb;o keU imunk. 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. Hamis. A l.i\er.;ll \'e:rerk'>n<-k többek klkött V"~n egy tD tulajdonság;! Hamis. A Text lulajdonslig tndlen,. lolbel \'eztirlO" WU>O!i form:iU.l tulajdonsliggal. egy ID luLojdonsiggaJ ~ eg)'é\} lul:ljdon$ólgokkal is renddkel.ik 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 A Ulmll b a label "ezérlő w.ó\~IIOn: l~ló. 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 Il3m;$. A fejlellen böngbzO"k a ~bel "ezérlO" BlIckColol" \Ulajdon$ólg.11 h:l.8)·i.1k
figyelmeu kh"Ol

3. 4.

5.
6.

7.

8.

lal I L riIIIZ • 1Im.ted6I.u MP.NEToCIII

l . Kf,szítsank olyan ASP,NEr weboldah. ~Ille!y egy Uler".d vezérl6 K'gilSl'gl·... e! mqdek-ní', az okb! URL-if!., Ne rögiliOk al l'Rl-t a ve1.érl6 T.,,,t tu12jdonsá~n. h.>.ne111 a tuJajdons:1got ll. pa\j .. _Looad e5e!1li:nykczd6ben. progr:unk6don kcn:sztOJ áUlblJk be. Egy okb! ltRL-1í1 az ~Ubbi. kóddal Japh.llJUk mqt.

ASP ''ET "ebokb'unkon el kelj hdyeznl1nk egy l.!teral ,.:ebe! ~zérl6!. amelynek ID lul,jdon~gá' bclUiljuk ":l!amilY<"1l i'rté~ (~cUul urlDi8play). flUj<! J PaQ' _!.Qad esemomykclet6hO~ kell adnunk ll. kO\'~ke1.6 kódol
udDhVldY.'!''''''' _ R<!QUe .t .Url."oltrlng-()

,ffi;;.,

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
9. 6nI
10. ÓIlI

A wa. ilrIIPOt llapjar
AdIl(jYÚjtés uövegmezőkkel
Adatgyűjtés lenyIló listákkal, v61aszt600mbokkal és jelöl6uégYllllatktl A ftIIeSZrIM6i adatok eIen6rZMe

1L ÓI'8

IZ. órt

4

9.

6 ~.

ÓRA
űrlapok

A webes
.-1

alapjai

h!cltt: fart'llm(i/}6l• l'eUu"lJ'\;llút ..a..tok g)VltOc IIDIL-en k<.'l'C1oZtül \t"cl>es tlrlallOk A w"ri>e\ úrlapok h:os;oI.11;;\I;;I:u ASI' SET wclx~..b.bkon

• • • A ....ebe:<. Ilrbpok tuJ"f(I"n~g;oiNk megh;ltJrotisa • I'clh.:uzn.llói awtok ,O lSSZCgy':l"tt6<' n ASI'.:-'"}:T webokblJkon • A ",ebe!; \'ezerl& ~IIJpoIjlklk megól7.é:.w ~ ",ebes Ilrbpokon

AhItOL ltog)" ha.<.VW.1& webollulmaz:áSl k~. k~ ken lennünk llfr.I. 00g)' \-alahn8Y ~g}'ÚI.sük II fdh",'>ZnJ1ók ~UlaJ IlIcgJOOt adatoka!. ('5" I""",u adatokt61 filgg6en mas-mas L:lrtalIl'LilL )clcrutsiink meg a feUusmolJ6k ~nur:l, A:J. oly:.n ken:s6ml)... torokn:lk. nunt a GoogIe. péld..., ~6oségct keU ;adniuk ami. hog)- a fclllaSZná1ó rneg;;adp II kere,eu kúq<.-zi'sI, n.... td meg kdJ )dm~('muk a kere.b en:Urntnp:t t;lru\m;llÓ wcbl.3pot. az AllL'ZOO,ccm-hoz ha.\Ol'lló wcl>he1reknek pedIS k(-pöIlCk kclllcnnlük arrJ. hogy bcoI\'J~k a \<lsárió lIitelldny-~",n:lk Wn"'l. hogy dkn:tithcssd< a stiml.:il

196 111. rész •

r~ adatok ~

lb ftIMIp&.

igényekre való tekintettel tern:ul!k, amit a felha$Wlilói adatok beol"a~1t segítő különféle tITMl..elemek léte bizonyiL Az <input> elem példiul beviteli sZÖ"egmez6l<, jelölőn~etek, \'lilamógombok ts Ienyíl6 li~k megjelenítésére ha,'izn~lhat6, amelyek scgil5égével a felhasználó adaIokaI adhat meg, adonn> clcm pedig nreghatiroz1.a, melyik weboldalnak kell elkilldeni n ad:tLok:u fcldolgoz5sra 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
J la doIgoZ!unk már HTML I1rlaJX>kk:.l,

A HTML-t ezekre

n

ts gyi!jtÖl.tünk fl'lha5ZlliH6i adatokat dinamikus .segil5égévd, mim aZ ASP, a I'HI' vagy:l JSP, az ASI'.~ET fdhaszn~Jő; adatok gyl1jtélére tervezeu nlOdclljét meglehetőscn idegennck tal~lhatiuk, az óra "égére awnoon val6szímllcg r:ijő\'Űnk rrujd, hogy az ASp,NEl' megoldlsa (a wcbes tlrlapok) cgyszcrffi:>b (,s könnyebben haszmlha!ő a dinamikus weOOldalak régi módszercin",t
webokJalakon olyan
tedmol6gi~k

Felhasználói adatok összegyűjtése HTML weboldalakon
Tegyük fel, hogy egy ol}"~n w~-boldalt S7.ert.1né-n k kbzítcni, amely kis7.ámítja a L1togat6 te.;uömegindexét (BMI, Body "'1ass Indt:x),

A tess\Ömegindex a magasság és 8 testsúly .;ínya, és "talában ami NiSZ!láljál hogy 1IY0fSat'l ~iWlapíthas~k, hOlI'( ill adott szemely lúlsUlyos, egjszséges súlyú, molett ViIIIY túllottan sovány-e, A le-sttömeg!nOexr61 a htt,,: II"""", ede, aov,
nccdphpJdnpa/trni f elmen olvashatunk bóvebben,
Ahhoz, hogy m"gh.1tlrozha$$Uk ""lakinek a t'$lIÖ'negindelí~, IlKInunk keila magassá· g:it és a tesI$Úl}':iL Eg)'elm tétekUiik fel. hogy "z! a weboldalt aZ ASP.NEl' haszn11a1:!.

nélkül k6z;tjiik el, és IITML-k6ddalállttunk eI6 két sZÖ\'egnrez61, amelyekben a felha5Zn~16 megadh:l!ja az emlílC!l ad:uoIGH.
A l-rrML-ben két elem ~II rendelkezésre a be"IU ad:ttok &s7.cgyU~ésérc, a donn> és az < i npUt~, Ahh()~, hogy egy ASI',I'ET oldalon feihaSZll:ílói adaloka! g)'\Jjtsilnk össze, nem kell pontQ5.'1rl ismernünk ezeknek az elcmeknek a ré$;detell, dc aZ adatgyl1jtk mak~sénck alapjai\'al tiszúban kell k'1U1ünk, C1.1'1'1 IfI051 röviden áttekintjOk az <lnput~ és <form> elemeket, illet,'e au, hogy ezek miként mt1ködnek egyilu, hogy a webolda!akon adltokat gyUjth~nk a feJluszn,i1ókt6L

t . " • A _ _ .. 1ItU t6IpjII l ltl

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 milyen típu~' he:''''leli

"""1:1.

\'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:

A fellasmi6óo a toll. HT ML·kóddaI tört4n6 6su&gyQIIWt nem lárqyaljuk részletesefl I kÖ!'rfVl*l. Ka többet !UIIIlItnénI I tMníról, 1Btogasslri: el

tucn

I bttp: ,,,,- . .,l . _I't' Iht f' . sp c&nnr,YlI!I'( olvassuk el • THeh JObCneI HTML and XHTML ft 14 Houn Cm:I kOnyvtlt

s.m.

(ISBN: 0612320762).
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.
Touönleg-kl5dmitó webok\;l/unk eI.S6 IITML--I.,.zb,ul a 9, I példa mutujlI ('Ile fdo:dtiik. hogy ez :uokbl még UI"OI jll ~UÓI, hog)' befqev:unek nYlld.nitsuk!)

), dItIIl>
l:

",oo,.

.: 6, " "
8:

<hl>BHt C.lcul.tor<lh1> <p>Your He,ght (in (nchu), <input typ ... ·t.l<t · n ...... =·h .. 'ght· I><IP> ln pöI.<Ilds), <Input type-·t..,t·
1\4M>-· .....

<p>Your Welght </body>
</hta1~

ivh'·

><Ip>

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 megadoll adatokat. Az elküldő gomb! ITML-k6dja igy fest:
dnput type . ·submit" value,"Az elJnlld6 gomban -.,jelenÚendd ucveg',

A 9.2. p<:-Idában a 9.1. pékl.ak6d elkOId6 gomI:>b;Il kJegészítl"'\! ,~Itoz:ll:lt a 9.2. áMn pedig megtekmth<!ljOk az eredmén)"t ís a böngész6ben.

l~lh,l(juk,

I, <htm.b 2, <body> l: <hbllMl Calculator</hl~ (: <p>Your lIelqht (in inches), <input type< "Uxt" """",,'heiqht' IH/p>

<p><input type,"sublolt" value. ·Calcul .. t <Ibody> 10, </html>

8,

6, " " g,

<p,Your wslqht (In \X>UI'Idsl, dnpu' type= " t<lxt'
..

n.a/MT· .... lqht·

IH/p,

BMI" I></p>

BilU Calruh,lor

9.2. iIbnrO
Az oldal ar dlnlld6 80mb

1Iorr<lDMs<J

lll""

9, ÓfII • A wa. ~ lIIP;Ii 1199

A bemenet átadása a webkiszolgál6nak a <fonn> elem segftségével
lU l. fqezetb61 cmlo!::kezhetOnk r.1., hogy amikor a felhasznil6lekt'r egy \\'clXlld'lll egy webkismJg:iI6r6J, a kis.zolg:i16 ~tadia az oldal HTML-k6djóit,. böngész/'!nek, és a böngbz/'! ezt,. kódol kép.ni le gr:lflkusan. Ahhoz, hogy a böngts.W 'negk,.p~ a HTML-kódol, kapcsolatb.! kell Jo!::pnie II kisz.olgáJóvaJ. de a HTML fogadás:> utin a ti=lg:ís a ken/'! közOO vl!get ér.
Az im('flli ft.;tt.'gt.'\és lény<'g<', hog)' a I\'ebkiszoIgáló és a böngbz/'l közl\(I ideigJer>e5<'fl megszakad a Oz,kai (::s a k>gikai kapc;o!at. A ,,"ebkJ~.oIg:iJÖnak tehá! fogalma sincs arról,

hogy II feU,a~16 mit ir be a böngész/'ljlf>e. A kislOJg.11ó csup:!n annyit tesz, IlO!!}' vár a bejöv6 kt'rclmt.-kre, és Yi:!sz:lad~1 a mcgfclcJ6 HTML-k6dot. A kiszolgáló "" a bönges.z6 közÖtti kapcsolat l11<'gsz:lkadlsa miau II b6n~k képesnek kell lennie arra, hogy :it:ldj:l a feJhaszni16 ~Jt:ll megado« adatOOl a kiszolg.116nak Ezt a cél! szolg:1lja II ..:fcrm> HTML..-elcm. A -<fontr> elemnek kell t:lJulm:oznia a feUmsznflói adnak ÖS$7.egrú~ésére haslrdJt <input> elemeket, (::s az dkúldó gombol. is. Amikor a felhaszn:iló a <foml> elemben található t'lkúldó gomln kattint. elküldi az lirlapol. /Iz űrlap clkúldésekor II böng&.z/'l egy mcg!utiroZűIt webolcblt kt.,. a kiszolgáJótól.. (::s artnak adj.il át a <fOnIl> elem kOlörúéle <input> elemeibe in adatokat. A dorm> elem fenti leír.ó5a •
k~

khdési. megvábszolatlanuJ hagy:

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
Az <Input.> elemek t:Ioulmlt 3 böng(:sz6 egyetlen IGlmklerláncba tömöriti, (:s ~z aljbbi

fOfll1áoon küldI el:

ht az IllPutNo!vl az el5Ő <input> elem name jellemz6jének éTto!::ke. az rnpuctrtékl n el56 dnput> elem (::rtl!ke. az lnputNév2 a második <input> elem name jeUernző. jtnek értéke. az lnl'Jl1ttt't~1<2 pedig 3 második -<input> elem értéke, (:s igy t{)'o";bb.

Mcgfigyelllt.1jük. hogy minden dnput> elem ne"éI "" éTtékl:! egyenl&l!gjd (~) vála5ztj;l d. a ""'·....bu'k p:!rokat pedig egy _6;- jel (4.).

A ..ethod jcllemz6 ~nMk rlIegluliiroz~s:lm szol~l, hogy az .:input" elemek nL'\'<':-b6I és l:rtl:kl.-b6l dő:llliloU karnklerl:incot hog}~Jn kel! ('lküldcni a webkkiszol.g~l6nak Ennek a ;el!em«mek kél {."éke Icht.1, GET ,'agy POST. lia a jel!('rnz6nek a GET éTtékCl adjuk. n <input> ('i<'fllCk t'l!tllm~ egy l"k('1"<I"zó kart.!."rná"co" kcn"QIül JUI el a kiswlg.1lóhoL- A lekérdcz6 kamkterl:inc eg)' ol)"'n kiegéslíl6 karnklerllnc, amely ~ webokl.:J.] LIRL-jének végéhez csatolh,nó. Ha egy webhely URI.--jébcn kérd6jeICl ( 1) hilunk. tudha1juk. hogy az ut:ina követke7,Ő rész egy lekérdcz6 karnkterl;lnc. Bizony" .... lilnunk m:lr ilyen W(.>\)Címeket:
ht tp, I /W'oIW. kiuoll/;o.IO. c< loldft l . ht,.?Name. ScottVg.. ~21
A kiszolgáló ldlál a kéru5jelut1in llló résZI lekl'rdf'z5 karn.klerlilncnak lekinti.

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.
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.
Eg~\tsúk mo:;!.

9,3. "Ida M
l, <body>

oId<lllló<fja a <for",> ~.", IwnAadli.s.o

,.rá"

,,

l, <ht ••l>
< fo.-. ...,thod= "(lf:T'
~hl>HMI

4, 5,
6,

Act Ion. 'someP"\I~ . ht,.O >

Celeulator</hl>

",,:>'lour Height (in Inch.. ), <Input _ t"",,_'text " name~"hel\lht' IHIP>

8: " 10: "
ll:
12 :

<p>Your Welght (In peunda) , <input _ type~"text" nama.'""IVht" ></1'>
<p>dnput
<!fo...,~

tY",,~".ubo.lt'

v;o.luer"Cftl=lete BHI" 1>-</1'>

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 _ AF" IMB"n4láAltdl 9<>1 rtTe6t ",Uy
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

.

..


mczökbe beirt m&kl

A magaS:SOW é> a lC>tslily oncgadá.>ám ~ a /da!rdt>z6 kartllllcrt.l,,~ lar/<I[man<l

A SOIIIO!Pag-e. ht .. feladata, hogy II lekérdeZIl ~araklerláncb!ll1 kilpOtt értékeket beolvassa, számrtá'sokat végezzen ~elúk, maJd az 811!drrM!nyt visszaadja II felhasználónak. A felhasmá16 ánal megadott adatok feldolgozását az ASP.NET oldalako!! a fejezetben késóbb tárgyaljok.

Visszacsatoló és átirényft6 OrlllflOk
Ha a 9.3. po.'lda 4, .sor:1oon 1l...·6 do=~ elem .... thod jellem7.őjo11 POST-ra vál{O);oatjuk, ~kkor az űrlap elkilldb;ekor a felltaSZl1~16 ke~detben todbbr:i is ~ S""""P"!lI!. hUll oldalra kenll, ezúlUl Jlzonoo.n nem adódik át mfomlki6 a lek~rdcz6 k3rakterl:íncb.1n. Az adatok rt"Jtve marndnak ~ felhasznál6 el6cl. 6; a HliP·fejlkckben to\"!ibbítódnak. 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 oldalnak 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".á .... ~
<P~_

le.ht:Jo"~

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.-gmen'í. 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,
Az ilyen ürbpOkal lo/.ssz(/C5(,roIri I1rlapokmlJJ hivl;lk. mivd a rosr cliir:li~1 ts aZ ürlap dkil1~kor ~ fdhasználöl. ul!)'analT~ al; oIdaln killdlk vim~
~1I(]lIma7.z:ik.

--

NIdO .,.., ........... WtIJn

-"'~~"""._I

11._,__ . . .
__ "'",
9.4. Mn
II ,....7QCJlIIt?I6 urlopolt ~16 ..bdali.'• ,u ,fmum'ild o1rlapo1t1ó1
I _ _ ol

ACI1ON,. F: • • _ _ _ ....... " ' _ '? .... i "",_1000 _

_Kll'I',

'.1'

9./in • A _ _

1i1IPOk alapjai 1 203

"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

Az ASP.NEr webes úriapok

működése

Az. ASI'.NEl" oIdJI~kon:l fdhasznál6i adnok ÖSSzegyűjti."$e ookbJ egyszenlbb. minI a fem emlitt1t módszerek ~ében . Felhaszo;Í16 álul be\>il( adatok Ö55zc:gyü"jt~hez n ASP,l\TI weboldalnak tartalmazn,a kell egy u.'C!bes arlapot(~'d~ Fom!). A ",<!bo Clrlap oIpn welx:s \'e7.trl6, amelynek fomúja a kövl:1kez(l,

<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. oJdaJunknak adjuk a BMICalT ,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 ""

.-

.- ----.......'.'-,-..._-,._'-_., ,..... ,,"""'.-= ",'-' "... ,1
."".,-"
_~=--.,
- ".,,~­

- 'i -O

.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
kÓ<Jol a 10. wm:..n).

~

<fornI

run.oC~ • se~ve~' >

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öngészőben tekime-n,;nk Ill<..'g ~Ii'·el a ",(!\)es !Irlapoknak ninc< kep; megfelel6jUk " weboldaJon, a te.vez6lJen nem látunk wmmit.

Webes vezért6k a felhasználói adatok összegylljtésére
A In'Ml weboldalakon :I felh"szn~ló ~haJ bevitt ad:l\okal <input>- elemek scgí~g",'eI

a,nelyek \öbbfl:lék l.. hetnek: bevileli szövegmez6k. jclöl6nl'gyzetek, \"álaszl6g0mbok. és igy tOVl\bb. Ezenkivül aZ <input> elemeket egy dorm> elembe kell tirnunk,l':$ bt: kell áUit:lnunk anrulk _thod és "ct ion jellemz6i\.
Az ASPNIT oldalakon a feUl:lS1.llál6 :~Jt:ll bt.'V'U adatok össz.'gy\ljtése sokkal könnyebb. Ahogy kor::;bb:m láttuk, egy ~ ürb]>,.. lesz szüksl.giInk, amely~'1 awnbóin a Vi,..... :1I Web Developer k,;rés n"'Jküllctreool. helYl.1Iünk. A webes ürlapoo kivül n .... hány 1>C\1(di '·ez.... rl6 5ZÜk5égeltetik. amelrc:kbc: a felhasználó beírhat? n adatokat.

gyű}tjük &--'1.e,

Ilo ptld!iul nl szeretnénk. hogy a felh:l.5ln1i1ö e~· SZÖ','egmez6be in,asson ~d1tOl, a TextBox webes vt'zérJ6t kell h:I5málnunk. Ha ~'1re a célra inldibb váb=6g0mb0kat bizt.o;.itaMnk, a RadioBuuon vel.érI6n:: lesz. uiikségűnk. Ezeket a különféle wcbes vczérl6kt1 a webc-s űnapon belill kell elhdy~'znOnk.
A leck.. kor1bbi .... "".ében megnéztiink '-'SY IITMl weboldal(. amelyen ~ felhas.m:lló 3(btoka( adhatou meg ~ les(tÖffi<.'gindexl--nek 3 kiszimítisJhOl.. A sl1mitiSl "ég:z6 progr-~mnak k& adatr"~ volt Stilksége: a felhaszn:\16 magass:\g:lra és t;suúlyára. Ell a k« adatOl szővegnJelőkön keI"CSztül ~dhaliuk meg, ezén lt)QI;l adjunk k« TextBox ....cbes "eztrl6t BM"tC<llculator. "spx nevü ASP.NEr oldalunkhol.

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!!
~ll\.l..;1n

1205

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
n " .•• ""'." ._ •• ".

.....

__ ....-...... - .. _-". --- -- .. ...
'" _ • • •'. • _'"

• ... 0#.·40

~

l

-

-..

. -

_ _ _o

-

u.i:n
Az oldal 0% ris6 T"-,,Bax

....url6 /Ion""·/otro W"n

"10S1 adjuk azoldalhoz a masodik Texllk>x wU·rl61. \'S)ilk az egénnutatót az lménl fel\"ett TcxtBox \"edrll'l~. k k:lUl/ll5l1nk u qr..'r lxal gon\bpv:!oI. Ekkor ljllulÓ'.":i ,":ihk a kurzor a ICrvez6ben, él beirtlaijuk a rnisodik :;ZÖ\"(.1!lncU! fclir.nál. El a '\7.Ö\-eg legyen
~ W Jqht ..

I in pcUDda) '. \"a8l'L~ Az on t.est s ,llye (fontban ) ,.~' n cl6bb

I!I

I<:uOk, a SZÖ·.eg beidsa ~n !n\zzunk egy Tt:XI.lJoJt \"ed-rl<51 a TooIbox p:ilcnárOl a tCT\'elO>e. ts heI)-eUOk el k~len\il u tmrnI betn Uö<-qj uW!.. EIlen6nzzOk. hogy ugr.lnu1 lit;uk-e a kq,cmy6nkön. nUnI a 9,- 1br.in

........
..

slö\"c:gmez6t adtunk u ASP.NU okblhoz. dc "*s rrún<hg h1Oi.n}"llk egy \"ezerk'l. Kor-ábbr61 emkkCllw.'{t1nk, hoog)- a böng67.6nek tudnia kell, mikor fqcZle be a fcl~1ó al a<.blok be.... telét, ts el:! a tIDll ...-ebokb1on egy elklild6 gombWl oIdoouk mea (Ibd a 92. pékUt),

~:ddJ8 k~

'-

_... __ ._._--... ..-- , .. - -"- - _....
,"fil'
4'"
l _ _ "_ ~
_ _ _ _ o

~

_

,-

8.1.i:n
/IZ

.

;;;;;.---

OI4m" "'''J<1<1J1t Tt..'u&~

,'l"'%Crl<l" ho=á4<fást, "'ilII

206 1_ráz • FIIIIIml6I6i .... !\t,~ " feIdoIgo) • • .
lu. ASP.NET olddon is sztlk~gOnk le5z egy elkűld6 gombra, fogjunk n>eg hát egy Bunon ve7.éri61 a 'Toolbox pat...l~, huzzuk a lervez6be, és ejtsük a két TextBox "ezérlő 31~_ A 9,8. ~bcin megteklOthetjük. hogyan fe9. al okbl;l Buuon vezérl6 houJ:ad:isa ul~n.

.

~.

_.

9.B ... .
A: 0/<1,,1 az woUil
1w=At.<I'utJ ",,J ..
~~.....

,>edrló- <'gl' p'b-

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 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.

,-ezérl(ire.

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.

A BMICalculator.aspx ASP.NEl oldal tesztelése
MOS!.. hogy az oldal hoz 3<.huk a stOksl-ges ",ebe!; vezérl6kct, tö!ts(i.k be a Inllc .. lr;ulator .aspx okbh,. böngfsz6be:l. [)ebug menü Slan Wilhout Debugging plIr.lI'lc5áv:d. Ekkor elindul a webböngbz6, b; betölti :I. &!lCalcul .. t or .anpx oldalt. A Itimcne1nek a 9.8. :lbr1n UtOlthoz kell ha5Of1liuni:l..

9, óra • A WebSI ~ liIPjai 1207
M;uú n megl"kin leuíik a'l: ASP.NET
wd>old~ h

egy tebz6legl"!i

böngésl~,

vessíink
mutal,

egy piJI~ntiSl a böngé:5z6 <illal kapot! I n'ML rOt'T:Í.'lk6dl'll , ~n>elret ~ 9,4. péld:!

[,

<1~PE

,.
7,

_

"ht tp"

htlLl roEl!.l!" '-!IW~ClfDTO XH'1l!L 1.0 Tnutdtionill//EN' 1>NW ...1. orgi T~ Ixhl.llIO'l1)/ ~hl .. ll ,t ran81 t lona l ,dtd" ~
/www.wj.or\l/199~l x hU.. l" ~

<ht, l _ln'~'httP'. 4 , <h"ad>-<t itI",. 5, Untitled Pa'l" 6, <ltitl"Hlh"",b
<l>od:y~

~.' fonal.' _thock' po_t· ," t ion. "lIMICa lClIlat or . <lapx' _ Id.·forml',. g, <dlv:> 10, <input t.yp<>L·tti<ld<>n· ,...,..' VlEWST"'TE' id . ' VIDfST... '!'E· _ v .. lu .. ~· /wEPDw!Jl.!.TExNTc;;N'l'13OTlkZJ<J.JNpB&llkPdrOZ'p/q;n\TJ ~~" I> ll, </div~

8,

< form

12,
]3,

H: 15:

16,
17, lB, 19: 20,
2},

<dive> Your heighl (ln inch ), .. dnput naIM.'hei'1hl' type.'t~xt' id='hei~ht' I><i>r I> <br I> W<>i~h lln pounds), <iopUt =-~'_i\lht' type."te-x~' id.·_I\lht' IHbr ,~ <br I> <Inpul type='8uboit' """",."btnSubolt· valu .. ~'Calculat., BMl' _ id.·btnSuboolt" 1><ldiv>

22, <div>
~J

,
<inpu~

typek'tticS~,'n' na.e.·_!:VEN'l'V... LIIlllTlON· _ 1d~ '_EVENTVAL1DATlOO' valuek' J'o'EWBJI.UoULCKDg-KTiPDX1oQ!.Oh t _ DJtAOLCI9re,MaPcHod9PMvnJV6xHFHOCRNB' (" 25: </div><tform> 26: </body> 27: dht ..h

2~,

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

Al ASP.NET webes wzérlóiook modenjll szükségtelenné 1!!Sli, hDgY I lejleSll!Ít tisztában legyeook 8 HTML réS2krleival. Az ASP.NET-lejlesrt6k ehelyett I fe!hlsmillói felúlal kialakításá-I összponloslthatn. !amit e vezérlőlr.ook az oldalra hCIZé~ Dltllatnak meg), iletve az ASP.NET webDldaIIDm!sk6d részének rMgalkolására.

'kg holtom fonros dologról kell SZÓl ~munk a 9" ~ példk., bpcsobtban. mld6u Az eIs6. hog}' II IJo.mOl'L webes 110- dkilld6 gomb jön ~ (20 $Of). anll aZl )denu. hog}' aRUkor a fd~1ó a gombra brun!. elküldi al okblon
rO\'a~pMnI<.

,,,Ztrl6b6I

1t'\'6 (l.bpol
A rru,;odik. hogy ASP'it..T okblunk \\"~~:>e'> o.lrbpj:jból II fddolgozó ,...."z.tQ.JloIó < I,' .... > ele,"", keszit (8 <;Of), (Emll'k.;,zhelllnk. hogy a ViSSZllCloodOIó o.lrtJpok _thod jt"llemz6je a POm' é n':'kt:! kapi:!, ,,·t ioo Idlemz6jil klx-n pedig JZ lIrtapot t~ rt.11maz6 oI<J;Il URl-~ l:Ll~ljuk.) Tdcit amikor ~ fdh".zn.11ó a Buuon ""zért6,,, kattinl, elküldi al Grlapot, ami újr.uölli n 01.1,,11

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

Afelhasználó álml megadott értékolue emlékez6 woi>es Ortepok
MLU!:!n belOII(lUOk ~ BI'IlCaleuhtor .aAPX okblt a höngészónkhe, (<'junk be V'J la,ml}'cn fnl'ke'! a kél SZÖ\,egmt'"z6be, és k:nlmr.sunk a Calcuble R'>!! gombr~ " I>IJ lóne,nik? EIs6 pill:uu""r~ 6gy dJnI.er.. hog}' 5Cfllmi l:~"an:lZ lI ....eboIdaJ ;deo.k meg. fs a s:c<,;· qvo .... :rok .. alolC:1I n "nékeke'! nlUlal):1k. amel)'eket bei.nunk \',113,", nonh.on t~ tört6lt - rnegpedtg az. hogy lImIkor az e1kuld6 gombn k:mIllLotrunk. dkúkkilk a.z Iltbpot . .\ll\'cl a;t lIr1~p ~ nSSZlIcs:noló arbp. ujJy~ru~ az okbllöh6dik új:r:l (ezm.l:lrjuk ~ hoosrsz6brn ujJ)'an:m). de a bön~6 llul bpon Imil-kód meg>'ik<MJk. még lu CMJp.in kl!l menékben iS.. H~ megtelontlLik a ~ ~hal az adocok beírisa b az úriap dkilklo2-:w /Ill;" k:tpon IIT\ll-k6dol:. ~chetfllk.

hog}' a TextBox vezérl6k Ickcpat.1t <hl ''''-> demei

ll1()Q mir t:ln:dllUznak ~ valu .. jocllerm6l is, llml.'lynek &teke ml'geg)-"z,k aZZliL :mUl a sZÖ\egn1t'z6be inunk,

\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 ~ . ' , ~-

"...... .-

. - _ .. - ! [

3.
4,
5, 7,

.

.:;;';;;

... ...
]

,-

-of'!'


u.M:n
A U:tlU':It~ M~,*"*,,,

<j'> •• -

(",mJI. ,. fliJlíJldlr1* .,,:: .1rli>pol

<b~al

,..ln8=·http, f1vww.wl .0r<lIlU'",Itt•• I· ,.

<1M.,,:b<tJ.tle~

tlnt111e-4
<bc>d)'~

',"q"

6. <ltitl.></ha.d>
<fom naae.·foral ' _'ho(\··PO'H· _ /lctlon. ·BMIC41culll,o•.•• ld.·fora1.·~ 9, <div,. 10, <InpUt type_ "h1drn"n' ' - 0 · . _ V1f:II."'l'ATf.· Id~ '_VIEIISTATI:' 8,

p,,·

_ ".1 u .... IWEPlMlLLTRlCNl'c2!ft"1 JOTlkZJ~~tIkPd::OZWq.2I!T)ftHUIfC'u)·

~

II,

<Idl~

U,
ll.
14,
l~.

<dh,.
Your h<>i'1ht

16.
17,

18,
19,

ln lncbo-.l < npUt _ . -heiqh'· typ.. "t.n· "alu_'70" _ id.·hei~'" I><br j><br I> ",.,iqht lin pouoosl' dnput na-."...,iIJht" tyV'l 'te"l" "alue . '15S· _ Ido'wellJh" IHbr I> <br J:.. dnpU' type.·Bubolt· _.·btr>Bul:na· v41u... ·CalCUlat. BHI' _ Id.·btnSubait" i></div>

21,
2., 2l, 24,
<djv~

<h'put t~~·hld&u>· _.·~ALlOA.TION· _ ldr· --tVENTVALlOA.TION· ..,41_· / ... ~"WBAUIILCltDg:KTi.PDXAO[ .. ,

_

DXAQLCi9ntAhP<:-H0<I9PA'V~6><un

""RNB.

I~

25,

2', 27.

<,dlv~<,fo~

<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 HTMlkó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~

Ha nonban , Text lUi;ljdonsjgnak \f'Jlamilyt'n btéke'! adunk, a value joellenu6 is bekerül a Te1:IBox \'ezérl6 ~1T"'lL-k6di-1ba,
<input
namo."AzIDTU18jdon8.t'g-trtlfk~t~~·text·

valu .. ~- "'Text!'IJ 1.jdo"B"gtHIfI<~· id_" Az TDTrJlajdonalfgtrtlfk,,- I>

Tehát amikor eJ6ször töltjilk be a BMlCalcubtor.aspx old.111, a TextBox '-eú'fl(;l: Text tui;ljOOnsága még f1IDC'i be:iilit\d, :unit a I&.rejöv6 I m lL-kód is bizonyít (~sd " 9.4. p8<b 15. és 18. soclt). Anlikor azonban a felhasrn~16 &tl-keket ír a két szö\'egmez6lxoo ~ például 7o-et 3 magass:'g és 155-öt a tCSISÚly mez6jébe~, majd dkl1ldi az O"r13pot. a TextBox ve~ Text tulardoru;ág.1ba bekerülnek a felhaszrciJ6 ~l!al megaOOtl &t~kck. TeMt ~!",kor s<lf" kerul a Textllox vezérl6k lekl'pez<'sbe, mir a val ue jcllemz6l,;l."1 is figyelembe kell venni, amelyeknek aZ 6t~ke ~-ezik ~lDl, amil a felhasut~16 beírt (Jásd a 9.5. P{:kIa 15. és 18. ..:rit).

A BMICalculator.aspx forráskód részének maglrása
Uuuk tehilt. hogy amikor <'nékeke'! írunk a Slövegmcz6kbe, és elki'lld;iik az (I"rl~poI, a "..'e!xlId:lJ (jjrntöltódik (mivel vi=cs:ltol6 (I"rlapr61 VlIn SZÓ), és a mez6kbe írt 6tékek megmaradnak a v~CSJloI~s során. Ez JÓ, de a t~örnegi~ kis~mílh;ll elvégz6 kódot att61 még meg kell írnunk. A sz::!.nú\á5 meglchel6sen C8Y-=nl (lásd a 9. 10. ~brán).
~k.,..:

w_I

"I " ..

9.10. ltbra

--

_
)· m

u

,.4_4
~

t~"",

A ICSllómCSind...'"1I" /ejjjrUy ''''''')'''' ~hl>% Jt.<pcsl

A $Zámitáshoz szükséges pr<>gr.1mkódot is könny(!' megirni

lásd a 9.6. péld:\.t.

••
•• t,
~

. A sz_l\' .aquug""'k é. tnuolI\''nak beolvadaa Pl,. h .oo Integ"r • helght.T<:txt Dl .... U lnte<;ler .....,Ight .~xt

" . A n..-ély le8\t.-.,,11\<l xli,,~k kiuúfth .. 61 Dl. illU .. oo Doubl. '7. BIU • I.. lb ' l) ' 71 l

. A t ..sttOlMo;li.ndotx kl1ré ... 10, uNIVe:r";rJ61D.hxt ~ ·Ar

egy h 1\C'\'\1. Integer Upu.,u v~ItOlÚt. b; honárefKldluk he lllhl :u.ono5Í!6ji> TCXlBox "clé,16 'l'.. xt lut:.idomi.igjnak énéktl. A 3. sorban egy .. r'IC\'\1. Integer lipusü váltoZÓ! V"lt1Únk be. d a _,ght ~:oonosil6jú TextBox '-ezéM :'e><t !ut:.j(lonságán:lk fnéko!1 ~11i.Jk~. EZ! k&"n6en ~ 6. $OI"b3n "SY BMI ncvIl, ""ubi<, upu§{, v:l.lloZÓl ho1;onk iéire. amdy ~ 7. ~n a fdh:umáló !e$l5l.iI)".1l'1:1k ~ a 1Ng;t.."~ga ~l;in;!k;AZ domhíh61 w'iI1lUZÓ. b ~:\-nu.1 fdsrorwu éntket karF'.
A 2 sorb;on bcvczetOnk

A 9.6. pi/d".., liIhIt6 kód • ItSltÖmeglndlul -vv laIMI webft VM!16befl ir)I kl. 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.
~t ~

A renu kódn:J.k n~il,ln'-:ll6an ASP..... ET wcboklalunk f~ód ~ keU ~I",e. dc hol? Az "8}ik Jehet6sfg, lu 3 9.6. p8tbbcln 1e\'Ó kódol: a P~geJ.<>ad escnltn)keze16be hdynnik. EmId<",rl'M:UInk d. hog)' a PAII,,_l.Qe.d ~)i<~ mmdo..'Il alkalommal '~JlódLk, anukor;lZ oldali betöltik. .\11 nonban nem ezt ~'1fl('f\k, hinJt"n h:a a kódol: ebbe az ~)i<c~ lctlfl<!onk, az akkor IS !duln;!. amikor ~ fdha.'\7.no116 e\IlQÖr ~ölti b" az oId:Ih, !<'iU! rnleI6I1 megadhauú a nu.g;lss:lg:lt k. a teslSlil)-.lt
Vlliój6ban ha a 9.6. példa kódjA! a Pa~.J.Oe.d tMrMnybzel6be ten.zük, al oldal betÖItéSekOr az Input 'trino;! ...... not ln .. ntect fOnMt lA btmtneb karakterlénc Iofmw.m. nem megfelel/l] hiblÚZt!llltt k'PPJk. A híI:WI ob • példa 2. ~ _....t6: amiDr al oldal ei6SlÖr tM6dik hf· ~gh~ á ""~lIh' TeKtSox ~ T,I(! ~ 6rtéU '9v üres kInlt.nlnc. rnMP.diQ • VISUal Bau; trI1 üres klrlkt8!ldncot nem tud eg6u ~ ll nt"ll ,,]IUkítIni.

be.'

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.

ZlZ

Ia. rMl' ~.dItOt ~ .. fe!doIpMl
A Button \'ererlőhöz (igy adholtunk Cl ick e~em"nykelcl6l, hogy egyszenien duplin kanmtunk r:I a tCTVező nézetOC'Il. Ekkor azoldal fonál;k6d ,.,(,z..>ta,en ul.1lju k magu nkat . .:I.Z esemt'nykezelő miris léuejöU v:\.:cl.n.ál. amelybe rögtön be i~ ímatjuk " 9.6. péld;.
k6dj.1!. Ml uL1n beínu k a kódot. néuii k meg u ASP.r.mT oIdJl! II ~ AZ oIdJl eI.s6 betöltésekor k"" Ures S7.övegmezót kdlljtnunk. WC{\·e egy Dleul"!e 1:1:>11 IclirJ!(! 80000 A>; oldal cls6 bftöl1 6kori kép(-t II 9.11 :lb...~ mutatj:!.
to ..... _ ........

....
0- · ,)
r __

. . ..

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

.

"" - ,-~--

(Io_~

-

-, - e
J

_

..
.~

......... .-t...
I -- I

J
9.12. 6brlI

T_I>II.:I1=_

... .

Ji fdll<I<ZtIlJJd

1CS11<'Jm'Si

,,,k.u<o,'"

~

" ws/dCllilési>

Ha tudni szet"etnénk. mit jelen\ellet: az egyes tQsnömegllldex~et. l6togassunk el a ht tp: /nhlbi support. e Olll/l:xl.i 'blLl e a I e . htm OIdaIr.i. Röviden összefDII!alva: az egészsbges tesnOmegIndex 18,5 H 24,9 kÖl8 e~k. A 25,0 és ~,9 kÖl8 e56
8MI-veI r8fldet.az6k IÚlsiiyosnak $lámItanak,

mIO I

30 feletti értékeket kapók

kórosan

kö~ér1lk.

(A tesnömegindex-értéhk az atléték és az idősek esetében nem

mindig ~Bl6k ~áltOXlldan formában. 1

l. 6nI • A _ _ 41Ipot

.1 213

.~<> ",

.

He. BNr e al , lat o r .""'PI< szöo.oegmez6ibe rwm egkz 6rtéteket irunt. Il CirIIP 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úgjvel 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 ...-dJoIcbllloL 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ész6OC·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

v:

,o111""15 ros7DATA Do you 11'(1111 to n:frcsh? (Az oIdIII PQST-<:/dmokllllllrtalmflZ. Ki,.áll frlssilClI/?) Ilzl!1l<'t jele/I/k meg. Mil jelcfllc"ek ezek az rlzclletek!

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 feUlaszn1I6 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

Mit :'Irul "z d a felh:lSznJ:l6 ;i1",1 kitöltött Ilrbpr61? 3. Mi a különtn;ég 3 Vi5l>l:acs;uol6 6; a7. átir.lnyit6 úrbpok közön? 4. Milyen tipus.:; űrlapokat haszn~lnak n ASP.f'-'ET webe:. úrlap)'!'?

Válaszok
l. A GET ertekre ~Uítou mathod ",lIern/mel biró Ilrlapok:l beirt ad:llokal egy lekerdez6 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 ASPNIo1;\'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 tartalmawokbl 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ó/:

• Többooros Sl:ÖVe8~z6k létreho~sa • Jelszómez6k lárehozi5a • A szÖ'o'egmew oszJop&Ztim.:ínak mcgh~lározisa • A szöveglTK"z6be beírható karaklerek számának meghatározása • A s7.Ö\~gmező kiné1.C1ének meS'.:lltonatJsa II betiIméret, ~ betűlipus és a szln m6d0sílb:i\"3J
A 9. kckRx'fl azt ~g111Uk, hogyan gylfJllldOnk II felh:lszn~l6kt61 adatoka! egy ASP.NIT weboldaJon keresznll. Rö\',de-n összefoglalva: ahhoz, hogy felhaszn~16i adatokat fogadIwsunk. egy ",ebe; urlapra van ml~nk. "",eiren bdül a felh:w.n:íló wroes ,'ezérI6kbe írhalj:;l a kÍ\~nl adatokat.
Az el6z6 6cloo.n p6dak('nt egy oIpn A.~PNl:." okblt k'::-szilcuünk el, amely II lesttömegmc!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'"

II TextBol< \-ezérl6nek számos tulaldort5:l8" vall. arrn:I}-eke! bd!lítva szabálymhariuk ~ szö'"egmez6 kinéz<'1Í"l. II vezéd6 'l"e.>ctMode !Ulajdons.1gát például MUltiline--rn ~11ilh"liuk, hogy löbbsorol; szövegmez6! hozzunk l(,tre. vagy a I'lIaswo~d értéke! adharjuk neki. hogy II beirt álékel dréj!se. és anrt:l.k helrén csak a;i1lagokat ;e!enílSt'fl meg. A colwnn$ rula~ggal azt szabályo?h:lljuko hogy a SZÖ\"egmew hany 0S1.I0P széleslegyeno

Ebben n örohan a TcxtlJox vezérl6nek II femlhez hasonló tubjdons;jS"i\~~! és azokruk II megjelenésre gyakorolt h:llaslv:d ismerltedünk mego

Alapvető

tudnivalók a TextBox vezérlóról

Amint m~r tudiuk, amikor megLitogatunk egy ASJ'oJ\"ET oId1Il, aZ azon levő webes V"cztrl6k HTML-elcmekkt kl'pez6dnek leo 1\ L:lbel \"ezt"'rl6b61 péld!ul egy <spa,n> elem 1"""0' amelynek !:trtalrtl:l II 'ezl'r16 Text tulaldoruJgj.rurk btl'ke. A Text!J.ol< vezérl6b61 - ahogy az e!óz6 fejezetben 11thalluk _ II fe!doIgozó egy <input> elemet hoz l(,trc, amelynek type jellemz<'ije a text bték(.~ kapia

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

Egyes lI$etekben a SlÓVlJ9meiÓ nem a legjobb választáso A következ6 kr<:káben tovébbi. lelhasználói adatok ösSlegyrljtésére tefVEt18n webes vlllérl6tkel fOQlri. megismerkm, és megnrlZliik alt is, hogy azok milkt lIIkalmasabbak bilonyos IIe/yl8tekben I SlÖvegmez6«.n6I.
fajl1ival ismerkedünk meg _ péJd:iul ~ ielsz6me~6kke1 és a löbb5oros szövegmez6kkel_ o és nt is megnl=zzOk, hogyan módoI;íthatluk e~eknek a mezöknek ~ meg)Clené:sél. Míel6u amohan belekezdenénk, gyakoroliuk egy kicsit a szövegmezök llO~ú~dá5it az ASPo:o.'l:j· webolcbJakho1. o illélve a fe!h.aszrclló ~ltal beírt értékek megjclenílé:sél! 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 ....o ez6bcn 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.

Ebben

a~

órában a

S3.Ö'o°egrnezők ki\lönf~le

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 lulajdonslgoak 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' I. Kattintsunk" Text lklx veu:rlO«:. hogy b<.1öll$Ük II tulajdonságait a Propoenk-s ablakb:l 2. \'1110zu.ssuk az ID lulaJdon$;igál n&me-~,
tR).nczt az eli:ir~ kell meg:1.SIl'II:1clnunk II ~,k ....~ ,'u6i6 es<.1rl>m ann;Lk ID tulajdon5;:ipl ~Iliuuk .1Ie-~ (~letkorJ
1$. ÓL'

\'.:,giI1 kalhmsunk II Multon \C,'z!rl6re, hogy annak II lulajtlom;ig:.it is megadhOlS/iuk At lI:tO<\O!iílój:lleg)'en btnSub,'üt, Text mla)doo!>J.g:. pedig ·Cl1c~ M - ( Katllnlll!del ). ..
1 >r6I>iljuk ki az ASP,NIT oIdJI\. lK>gY meg\"iu;~lhaS5uk:il TextBox vezfrl6khöz létrehozon ~mll-k6dol. TöI~Ok be 3l oldalI II bOngé<z6nkbe:il Oebug mcnll Sun " '''thoul Dcbugging p:lranc:s.;\val A 10.2. :íbr:\n llliuljuk, hogyan fot:il " 'eboIWl :I. ~ megtekint\·~: :I. tff\'ez6ben :lZ okblhoz aJOU k~ SZŐ"egm.z6 !:! a gomb iS mqgeleruk.

10.2. Mn
ri b6,~, ld/ha/juk, hog}'

az ASP.II1fT CJJdalo" W i
'ID' gomb wid/haló

~,,=6 II:<

Ar. ASP.NEl' oldal

bc"1őlt6ekor

lwpolt IlTML-k6dol a 10.1. példa mutatja .

l,

<!DOCTYP~

ht .. l PUBLIC '·/IW3CIIO'ro XII'nIL 1.0 'l'rall8itiollalllEN'

_

' http,//www . wl . or~/TRl xht mll/DTD/xh~ml1-tta n si ti o~1 . dtd ' >

"

"",,11l8~ "http,llwww ... 3. Of"lj 119~~ Ixhtal' > <head><tltla> 5, Untitled P.. g~ 6, <ltltl.></h~a~>

l, <htal
~,

8,

7, <bc><ly> <fonn I>aIDI>' • fona.l' "".. bod, ·pon· .. ct! ony ·T1o;x tBcx Pract ice . aspx' _ Id.'ro".I',.

",
ll,

10, dnput type c' hidden· n""",.·_VIEWSTA1'E· l<l.'_VIEWSTATl'!· _ va lue= ' /wEPDwULLTEXNTc2NTI JOTlkZMIWuARZnpdka'ivVBucrgXkPl!P I T· ll, <'<liv>
<<liv>

I>

H,
15, 16,

Your no_,
dnput <br I>
",,*,. ' na/ae'

typ... ·text ·

id=·name '

I>

11, 18,
19,

Your

a~e, type='te ~ t' ;d~'age'

",
21 : 22,
25,

dnput _=oag,,' <bJ:" I><br I>

I>
v.. lu,,~ · Clic k Me'

<input type"sul::mlt· _ i<l,·btnSul>l.lt· I> </div;>

....-~·btnSul::mlt ·

23, <dlv> 2~ ,
ünp..t type, "hidden' .........,.' _E:VEN1'VALlDATlOO' _ ld_' _~mrvALIDATIOO ' va l ueo '/w EWBAXu6""'lBA~7uPQdAtCCr6oCA8 _ lt!..lt4039d7pTr.,tC5H.'Q:haM1'gctPugho. · I> 26, <ldiv></fonD> 21, <Ibody> 28, <{html,. Amint a IS. és 18. sorOOllllthatjuk, ~ Texl80x ",,~zér!6k ol)"'-n dnput> clc~kké k~peződnck le, 3m1"Iyeknek a tyP<" jt'Uernzője 3 text én(,kcl kapj::!..

10. 6111 • ~ ....bgm..A

h4 1 UI

MOvelet végrehajtása az Orlap .lküldésekor
jdmlq; a TextBo"Pract.ice . .up" ASP r-.."ET okbl semrrut nem CSlCIóil ••1IIukoc e1.kUkIjOk at Ilrbp«. ~g iliUl:an =>ktunk ..abmil kndmi ~ rdl~WIó ~1taI mepluu. aw.wklul. ~lIcmz6en .. abmiJ)"~ stimíLbl \'é'g1:ilnk vdük. b az eredmén}, meg,eleniljük n oldalon. A1JOg)' ~ k6i6bb. fql"zctckbm bm, fOSJUk. az 's (,Wordulhal, hogya megaooU aWlolcnak n1egfdel6<-'Il valamilyen értéket kelJ kiny<.'mllnk egy adllil:h,,,ht'll A l.>emencIet !Tlukikél esetben fddolgouuk valahogy .

.\hhoz. hogy a kél
:I

SZÖ\"t'gIl1C'z6bc

in ~aekek eIérlleloSÚk. egy escn~,,)"lu:zc:16t keD

;Wnunk a Honon \.~ C1tek CSC"""'}"8lez, amdyndc k6dj:l akkor- fut k'. arrnkor

felhasznál6 a gombra klmint\'3 elküldi:lZ Ilrlapot.

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ézetben, 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

... _-.-.- ...
• I
I~

-_ ..

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.
10.l.,....
A Dk'" -...~ "ftIItn=UJJÓ nt'l~~ ft BttI«>nJI JNnllj ...

" ......st< c,,,.Mbm

, .
,
,

}, Parti.l Cl . . . Te><tBoxP.-actlee 2, Inherit. l1y.t_.W~b.UI.Pa\le
prot"",'ed Sub btnSuc.it_C11,-kIDyVal •• nder Ad
Obl~"t,

., " ,

!JyVd e"'"

_ SY_t_. Ev .. nt"'r-a~l Handl ... btn8ul:e.lt .CI1ek
r •• ula.T""'t r •• uIU,""'t
~~

,

·Hello.·' _,Text '. You ar. " , ."'".'I'1!xt ,

" y .... r. old."

S, D>d Cl'-••
Az. esemf'nykezd6 k6dp a n ... l u clmketu.La~g::I~t úgy jllit.,. be, hogy II dmke II fdha:<l'n;l16 "lt~1 beirt rle\'ct &; l:Ie-tk(>ll jelenitse mt:g. EmI~k"l.l.(Jnk V;55.Z;I, hogy annak ~ <zö"egrne~6nek lIZ azonO:>it6j:l, ~mdybe II felh... ,z!Ú16 ~ n".'él irj;! be, _ , mig al. flctkor megaili.s!íra swlg:lló TelClBox "e~rI~ a\le.
,

,..,.t

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
A TextBoxPnctice . .."px a TextBox vez{'ti6k ASP.NET weboJda!akon v:tl6 felluszn!i15· ~k alapjail szemJélietle. Az 6r.l hatrJ!e\'15 részében a TextIlox veh"ri6 küJönfék rulai<Joru:ágai(:l ~pon,,;~iiUnk. é5 arra. hogy ezek hogyan befolyholpk:, S7.Övcgmczók megjelen6él: 3 ~

Többsoros szövegmezók és jelsz6m9ZÓk létrehozása
Álljunk nocg egy per<:I'C, bo vi~ljo.lk 1»L1I a 10.4, ~bd.n 15th:1l6 SZÖ\legmcz6kct. LIithatjuk. hogy ezek egyetlen som)"; szöveg beír::is:i, ,eSZIk c=k lehet6vé. Bimny:;'" szörföhünk már annyi, az lnwrnct"n, hogy tudjuk, l&"znek miMéJe S7.ÖvC8,""zők i~, többsoros mez6k és. jelsz6mez6k. A többsoros szll\"cgmezókbe egynél több som}; $ZÓ\....get ls beirh:mmk Ilyen S7.övegn*," z6rc ~llllláb;;m akkor ,,".In szú~8, anukor:l. felhaQnil6nak nagy nocnn)'l5égO' ~zöo.:c8C1 kell bcírnill. Az ifliC1"nctl':'l üzeol'ifalak J*ldiul olyan vit:lf6rumok, ahol a látogatók kérdbo.:kCltehctno:k fel. kérdésekre v:ilaS7.o1Jllltnak. vagy közzl~ehetik megie8yzéseiket. A többsoros szőH1pncz6k jellemzóen mqpegy~k bei~(:I swJgáln3k (a 105. ifurin látlutunk egy p(-Jd:\t 3 többsoros szö\·cgrnez6re).

A jdsz6mezólc oI)"Jn ,ZÖ\-.::gmezók. amelyek ~d bb-..alm:os adllok:1I gyIT)lJlI.'tilnk a felluszn:il6któl. A fellu~il6 ilyen. a bein karakterek hely';" CSIllagokat megjelenít6 mezőben adlu!", meg pékUul a jel,-,zav:it '~gy a PIN k6djk A2 ~lclzott tx-nl<.-net megak:tcL11)'OZZ:I, hogy egy k\lls6 szemléi6 a fclhas:m:l16 dib fOIöIt Irulrucsk:IJ\"a leolvasluSSOfl egy jei5ZÓl '':lgy m:í$ biza lma.. inforn~d6t. (A jel>'Ú>lnclŐre 'I 10.6 ~bra mutJt egy példát.)
A szö,egmez6 rnegjelenk(,t a Tex,Box ve~rló Te><tKode lulajdonsiga határoua meg. Ez a tubtdon~g adia meg, hogy nonn:ll szö\'egmeZÓl. töb/J:soros sz6vegmez<'il ,agy jelsz6mez6t kell megjelenítem . Ahogy é!;7.n."I'e!1(.1tl1k. a TextIlox vez&16 alapéi1chnezés szerint norm:íl szövegrnez61: jeleni, meg, de a kö,·etkeúSkból megtudlutjuk , hog}~1fl vehetjük cl. hogy l('képezésko.- töbOsoros s~vegrnez61: vagy ",,1~z6mez6t 1:l$Sunk.

A többsoros szövegmez6k használata
A

többsoros szö'egmez6k léu"ehoúsa az al.'ibbi egyszertllépéseket igényli,
l. Adjunk egy Text Box veh"rl61 al. ASI'.NET weboldalho1.. 2. Állíl5uk a TextBox \'~rl6 Text M ode rulajdon:Jgát M l t i Li ne.-rn u

3. Adjuk meg a löbb"oro$ sotővegmez6 oszlopaInak és so';'llnak sz:irOOl" 1:01"'""8 és a RO'o'II lulajdonságokkal.
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 tQbbsoros sWvegrn"z6 felvételének eI.s61eJlése az. hogy hozzáadunk az oldalhoz egy TelCll:lox vezérl61. 'Igyhogy húzzuk t.> ITIOSI az oldalra a Toolbox pale\w.rol. a Shara
'r'ourThou!I"hts: szOvegal1. KÓ\'crkez6!ép6kenl ue kdl ~Ilitanunk a szöveg'nedi Ttxtl(od" lulajdoosjg~l. Ehhez kanintsunk a vezérl6re, hogy a lulajdo~gau hctóhsilk ~ I'ropcni<!5 ablaklXI, majd görges.sOk le a l\llajdon~gok lisUiit, amíg el nem é-rjOk a TextKOOe tulajdon.s;igot.

A TextMooe tulajdooság alapértelme.zen értéke Sing leLine, ametv egy szabvÍflyos 111'(SOt"OS wiV&gmelÓt hoz Ibe, amílyoob6l 8 10.4. ábrikl il láthattunk nMl;lnyal.
A TextMode tulajdon.'<iigra ka!t;nIVll egy h:1rom ]{,het~1- Singl ..Lin .. , MultiLine és password - tartalm:I7.6 I;51:11 kapunk. V:llasszuk a Mult 1 Line be:illidst, igy a T~Box vezbt6 a lerve1.6ben automalilrusan többsoros szöveg",edivl' villrozik.

Ezen II ponton be:íllíthaljuk a t~ros sotővegm"z6 sorain.~k és O51.Iopainak számit is a TexlBox vezbt6 Columns (o:;,.lopok) 6; Ro.... (soro!<) lulajdonságaiv31. Állítsuk ll"IO$ eZl a kk bd.llitlst SOfI"endbcn a lS és az 5 énHre. I.1ith..:ltjuk, hogy a te,....eUiben 3 vezérlő a7. új bd.llíl:'isoknak megfelel&-n frissül. 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 többsoros sző\"egmez6k méretél nem C$lk a colUlDf\I fs RCWB tulafdons::igokkal ~lIi{hatiuk be, hanem közvetlen módon úgy is. hogyaTextBox vez{-rl<'>re kauUllunk, és az alul. ;obbo!d.,l! ""gy a jobb alsó s:.rokban t~I~lhaI6 méretelÓikonok wlamelyikét vesszilk igénybe, él awnlxm nem" '·ez"'"6 ColUlDf\I b; Row.ll lulajdons:\gait mó<losílja, h,mem a Hei\lht és Width tulajdonságokat 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énybe 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. A jelsz6mez6 ~ 57.abv1n}'Q5 sZÓ\'egmcz6 egyik v1ltolat:l. amelyet úgy terveztek meg. hagy elrql:<e ~ fdhaszn.116 1lLII beín SZÖVcg1".1. A jclsz6mez6kben !!linden beírt karakter helyén egy cs illag ,elenik meg. A 1O.6.1br.in péld.1ul aZ! 1~l.Imlfuk, mi történik, Illi egy jeln,6mez6be a This is II password (Ez egy jelszó) szö,",'ger. írjuk be.

10.6.6In
ti j(!iS1::(mrez5 tlJcána a fdhasvJáló állal be", .U!U"St'f

Ha egy ASP.NIT weboldalon jelsz6mcz6t szeretnénk elhely....zni, C$lk az oldalho~ kell adnunk egy TextBnx "ererl61, ts annak Te"tMode tulajdons!igit Pass'oltlrd-re kell állítanunk. Hozzunk il; létre egy PasawordTextSO". allP" n,-",Il ASI'.N!:' oldalt. hogy kipr6b:11hassunk egy jebz6mez61.

Kezdjük azzal. hogy beírjuk a Unrn<UllO!, (Felhasznilónl=v;) szövege! az oldalra, majd adjunk uÚna ..gy Te:ulloll ",ebe!;: '·ezMriI. A követk .. z6 sorha í'1uk be a P/lGS\olO~d: (jelszó,) szövegel. és a jelsrohoz is helyezzÜnk el egy TextBo~ ,·e7.('fI6I az oldalon. Ez ut::in állítsuk a második TCXllloll vezérlő TlIxtHode tl'lajdon:..:lgil Panwo~d·re.

A TexIBo~ vezérl6 TextMode tuIiIjdon$IÍllánal:; Pasaword-fe 61litbsa!'lllm vá/tOltalja meg a tervez6 néletben I sziiveglll8lŐ megjelenését (Emlékezzünk vissza, hogy amior lIII'fanennek a lulaj~gnak a MultiLine 'rtitkal adtuk. 8 tlllV8lÓben többSOl'O$ szövegmalÖ jelent meg.)
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 jelsz6mez6k értékej visszacsetoláskor oem 6n6dnek meg
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' __ "_"_"" ......

...... _
)

.. _.' ._-

.....
'-41

..) ..!l ii t. ; -

--""-

l0.8. 1ibn
A ,",.-,",...... in .ml<"li' "".
~ 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:z6hen ""-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

A Si n;1 ttLine vagy Mu l t i Li na .!!nékre ~1lí~oo Te><tMo<l.- mla;don.'iággal biró >Jll\.,~nk'· z6k ~j\ben a Ten IUI.3~g "n~ke lekq:,eúskor IlCkeríil a vezi-rl6nek lTl<:gfek:k'S 1IT\IL-kódba. tb egy TexllJm: \"t'úrlő Text lula;doos;iga pélUlul Scott,:OZ ID 1U1.:I,oon· $Igöl pedig TvttSoKI.:O kt)o.-etke~ 1m.IL-kód jön ~

A ~zli leképen:sekor ::IZonban 3 Text lul::ljdonsJgnak nem k= megfelc:lője .. I-ITML-kc'xbm - elJ. " ''tC'zo.'rl6lulOnsági okokból nem engedi meg

KépzelJilnk el egy Tl'XlBoX '1'%(.,.161, ~melynek TextMnd .. lul::ljd0n.s3gát P" ..WQrd·,.." ID lulajdoos:i~1 TtiótBoK' ·re, TeKt lu!a~1 pedig P/luword123·rn jJ~quk lIa rT1OI;I a Text lubjdonsjg tn"k" bekenilhetne a IIT\I L-kirno..~be. a Textlkox '-cZér16 ,,"-kq:,el6I.kor::az 3Ubbi IITML-kodol eredmom)~

228 11. ráz · FtIIIaaiMói Dtok Qoo,"\lyIljl6M" hfdoIgoz&'
M09: tqo"Ük fel. hogy val;.ki el1:1togat ~ a weboldJ.lra. ahol a fellJ.~sznáI6~-k és a jelszav:it kérik, és ha b .... na azokat, aJ; ASP.l\"ET oIilil egy label v~érIőhen megjelenít :I sz:ímira valamilyen s=nélyr<: ~7.abon inforrnáciOt Ha,. feiha.1.ná16 egy pl:n:re fdjU ;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~,

( Feltételezve. hogy 3 felhasználó jelSZ31r.1 password123 ,"olt.)

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.

ATextBox vezérl6 tulajdonságai
Ebben az 6r.iban eddig qo"t'IJen lulajdon..:igol vizsgáltunk meg közelebhr<ll- a TextMO<'Ie tubjdonságOl. :Imely azt h:Il.irm:Z3 meg, hogy,. TcxtBox webes vczérl61 mikbll kell Jeképemi w:>In.'ányos 5ZÖVegmez6kblt. töl::>bsoros sZÖ\egmez6ként vagy jcJsl6nlCu5kbll. "'2 ÓflI hátr.dc",':; részében 3 Tex!Box vezérlő egyB.> tulajdonságal .... 1 foglalkozunk

Aszövegmez6 hoM.ak meghatározása
A TCXlBox vezér161 id6nkt,nt oI~':.ln ad.llok ÖSSZCg}1Ijtést:...e haszn:\ljuk, nunt a felh:I$l.lÚI6 Hetkor.:a v~gy a l~khe!yénck. péliliul egy ~"<-"SÜlt Államokbeli iI\bnn",k:l k{:lbetús rovidit6oe, Ilyen ~ben a bevItt adn csupoin néhány k:lr~kter h05SZÚOóÍgú , a böngész6ben mcg)der>6 ~·egme7./5 aronoon (~hogy a 10.4. ::íbcln is ];'jttuk) sokkal n:ogyobb a sziik-

"""""

.

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 rn6cIositsuk az életkor megadís.'ir~ szolgáló szÖvegmez6 ColUllll'ls rulajdonságit. hogya mcz6

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,
Milll"n a column. lulajdons;'igol3-r:I .illiIOl!uk, ~ szövcgmez6 a Ic"....,z6ben az ~llIpér­ leinICzcn ~ességr61 hárorn oszlop szélességre ~gorodik_ A \1sual Web I)eveloper képt"fll}..1jé ....k k~ II tubjdon$!ig m6<IoIiíthll ulán II 10.10. ábrJ rnUlaljól,
~~,..._

megfelelő

" -._-_ w;t

...

_--".

..., ""'"

,--"....

-


10.10. iIbra
Az ogeUl'k<'gma6

három OaJOP szt/cs
l~tOU

EZ:il fÖ\'idl'bb szövegmez6 jobban megfelel aZ igényeinknek. mim II 10A, ábrán hosszabb mez6.

A TeKlSox "eléMt lIHWl6 nézetben 8legérrel hUNa is á\lTMÍretl:llhetjUk, de ezzel a vezérió Height. 's widrh tulajdoJlS~oait m6d0s~jti, Ahogv A röbb50r0s slávegmelf;t haszná/Illa cíflli rész wgén emlitettúk, az amI~ett klÍt tulajdonság a SZÖVII~ absmIlÍI méretát hirtároua rnev. mig a Co l umn. tulajdonság I megjeklníhmdó 0QI0P0k számát, ami 8 szövll9mero mél'etlÍt a mero betűméret'r6l1eSZ1 fiiggiivé.

TeKlSox vezérióinket mindig ugy méretellÜk, hogy megfeklljen~ 8 felhasznélókr61 várt adatGknak, mert ez el6segíti, hogv azokat il megfelel6 formátumban kapjuk mll9. f'ékIáOI ha lill szeretnénk. hogy 8 leltasznál6k rövid klirnl adjanak magukf61, könnyebben vehetjük r6 6ket erre, ha egysoros SlÖV1!gmez6t bÍZlosiluli nekik, mint ha többsoros mmt jeklnítíink meg az oldalon.

A szövegmez6be (mató karakterek számának korlátozása
A szűv<"gmez6 ml:reIének sz:.oW,lyozása a TeJ<tBox ve:zl'r16 Colun'lns tull~g:ínak !iC8ítségével nem korlátW.Z3, hogy a felhaszn.116 mennyi szövegei irhat be. Egy Idrom 06zlop 5zél~ém megado« TextBox vez6l6be ~kár több száz kar:Jlnemyi s;w;eg i5 beírható,

'I1(-ha ",mnb:m swk$l-g.:-s, hogy korlatmzuk, menn)', $ZÜ\'eget írl~t be a fcll".,.zniló egy ",dol( szö\'cgme~ ~ oIy:m wchhclrek péld:i ...1. mmt n eHoly, csak 80 karaktert engcdél~'CZIK'k, amikor cgy ",dotl clad(lI'6I ~ag)' vl,;'l.16r6lIehet viMUjell6l ~dni.

A webhcl)'ek ~hatil~n kél okból kifolyólag korUl01.z.1k ~ ~·t:grncr.6kbc Irh:uó karakt~k SZoindl. ~ cW'S, és eg)'ben fOl'\lO!i.JlJb ok. 1108) 'g)' könnrdJh n ",duok keslibbi form;izki. Az. dta)'-al n ebd6bt és '-:ls;ór!6bt min&it6 visszOl,clzCsek példi ... 1 egy ~ oldalon telumllC'l6k meg, amely tömör k ~nclumlM.16, men ~"CI1en fdh:uuciló $en' lrI~t be CJn~ ll) kal'3lnertk-1 hossnlJb ..ro.·..NCl [nnek a kOl'UtoZ;i"Nk k&wnhet6en:iz ~ okbJ Iigy f()rTIÚzl~tó, hqn' eg)~ 1'Ir>IiSliJ .sZÖ\-l:gblokk~ ~ Urt:llnu7.zDnA mi$odik ok, hogy n clioty-l>e~ hasonló .... d,hdyck ad:lIbMisokb:m 1:ImlFik a fclha.zn.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.)

A TcnBox ,'e7.érl&bc belrhal6 kar-.kter\.'l( szarN! a IlaxLomgtb tubjdonsJjtOO ker=ill korLlt07Jlatjuk, A BoxPract i C"iI. ~.px péld:ihan és!;z<.'ni koná!ocl~ lehet az (:Ietkor m..z6 Jegfeltt--bb himm ka.-~klctre korl;i!ozi", (ht-.Zt:n nyilv:in Cg)'dk-n I:ltog>tó 5<...., lehet id6seb!) 999 b'csnl-l), Kanimsl.mk tejút U l~,-'tkor lI'I<.'gadas.ir~ uoIg:1l6 !>ZÖ\'cgmez6n.:, és ~lIilSl.lk ~ IlaxLoo"9~h tubjdon'\:lgJ! l_r-J. M~, hog)' ez a vlllOcls 3 1e1\-ez6ben nem por blIeIhet6 ~1. de I~ 3 m6<bít:is ~ ... ún nM:g1ekintjilk 3 1'1IxtlloJcPract .-=e.aspx ASP-"ET oIdtk a~. és h;ircrn bt:llu.,.....,. többet ~I ... nk Imi azemlilcu mez6be,lltlla!ruk. hngy nem megy,

,..,.t

!l"I8fIIlYl.

hogy la .lIaxLenvth ~ént 0·61 IKkrlkIlWQ. .koI,1eI1!ftzn"6k llemmrt sem kttalnlk maid til !Idott mez6be, de ennek épptn til elet\ke:6l' tOtll- A OKaxl.<>"9~h-ért'k RI jelenti. hogy. SlÖvegmtlrobe Irhat6 adat· rom. se~ korljtom rw-a 6Mlnybert Azt
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, megné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

"""

ForeColor

d. hogya Font lubjdons:ignak sdmos rt:"51;1Ubjdonsága ,"~n, pélcl;iul a Na-. a Size, II Bold. és igy t<Wolhb. II szövegmez6bc in sZÖ\'et! 5zinét ha~rozz:o m..g.

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:1fdom;á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.
Ezt k(h,et6en ~llítsuk be II két sZÖ\-..gmez6 néhán)' esztéükai lul.ljclons:íg11 EI&ZÖr adjuk O\Cg az első mel05 BackColor mbtdons:lg:ll. Emlékezhetünk li, hogy amikor SZÍnmlajdons;igOl választunk, ~ Visual \X'c b Oeveloper h~rom lapol jelenít mcg' a CUstom, 'IJ.~d) és Syslt.'m lapokal, Kaltintsunk 3 \\'eb Ril,,'," k :1!1ilSuk a BackColor lUlajdon~gOl Li n .. n-re, Ez utin \'~Ia\Szuk a BorderColor tulajdons:ígOl, kaumtsunk isnk:1 a Web fülre, 6; dlaS$ZUk a ~rc,m szím, A BorderStyl" tubjdon$ág értéke legyen oa .. hed, a Bord"rwicRh trttkeként pedig adjunk mcg 5px-et., A m.1sodik TexlHox \ezérl6 eset&.,n :1l1í\.<;uk a Font tubjdons.1g Bold Ifsz!uLajdon:;ág:l! Tn"Hll, a Nil"'" resnulajdotwgOl COInlc Sans Ms-re, a ;ü .. réslllll~jdon."'got p<.'(hg La~;.,..r A FortIColor tulajdonsig esetl-ben v:íla....;zuk a Web lapot, és ,'ilass.:uk J, a vörös szím (Red). 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
._. ...... • !>!i' Mi"dllt<l $%ÓO .~""""",,* 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 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

a böngész6nkbcn is. Il:! n oldal betöh6dölI, Íf]unk valamilren

li.xplorerbcn.

ID.IZ. ' "
li /'ffltyT"'TlJox,aspx okkll
egy frjktt b(j"f1és~' m<'g/ckuru't'

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
Ebben a leck8>en 3 felll35ZrciJói adatok gyűjtbére na'iVL1bto:; web<::!; ve~ közül

I
hasz;nált veZérlőI mutattuk be: a Tex\Box veztrl6l. A T~Box növegmeztic hoz/utunk Iéire: egysoros és löbbsoro1l szövegmez61.
ml~ido~l!g::il

az eroik

leggyakr~bban

"e~biőve11úromféle

íHt.'Ivc jelsz6rnez6f. A Ieképezend(5 szövegmewtípusát a T""tMOde hallirozhatjuk meg.

A 'l'exUlode tulajdoos;'igon kivűl a TC"xlBox vezér16nek sz:\mos m15 tulajdonsága is van. A Column. !Ulajdons:'ig pél<Uul aZI adp meg, hogy ~ szÖvegme7-6 mil)'en $Zéles legyen. a MaxLength lulajdoru.ig pedig:l me~ beírható k3raln~ stim:\t. A Label ",,2.&I6höz hasonJ6:m a Tt'X!Box wzérl6nck is v::I.nnak olyan esztétikai tulajdonságai, mim a aaekColor, a forecolor ..... gy a Font.

11 TextBox \'czMőn kívilltöbb
gyűjthetünk ~

w.:.-bes ve7.érl6 iS Iéte~k. amelyekke! adatokat feUl:tSzrd16kI61- ezekke! isn~rkedünk meg a kövelkezó 6clblln.

m~s

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' NEThez, ~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 :

v:

~HJ.."'.>

A Sing-leLi.n.. k n PlIUWOrd TCXlSox ,..,zérl6kb6lleképt'zbkor <Input> J-ITMlelemek 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 mqpd: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?

1. ATeXl iIox ...elJö "ez"rl6'1'<1xtMode lul~tdonság:l h~rom Idll.'\.'iége!i j!-n~kCl [jmog;al; MU l ti LJ n .. , Password és Sing ler.J n". Al. a la jX'ncJn"'U'1I lul:ljdons:\gélték a ."",teLill' 2. Ilyen !oZÖ\'cgmez6( úgy hozh:>lunk Idre. ha 3 Text8ax \-uér\(5 TextMode l ubt~I HultiLln ... ra. a Col ....... lubpdűndgil 4{'-Te, a lIow~ lub;donslg:íl pedig :.-re ;illilJlLk

10. 6!a • AdItgY(ljtÚ ~
3. H~mjs. Az ASP.N"-·T ",dKOS \'ezérl6i m.1sképp képeződnek le ~ fejJen 6; a fej· letlen böng<'s:l6kben. A fej1l11l"Tl böngész6k nem képesek a T,,;<\BQ;< vezérl6 egy"" esZléiik:li lulajdons:lg.lin.1k ",egjelenítbére. •. A or.,x t lulajdonsig. 5. A l:Ibel vez(,r!6 rendelkezik h~sonl6 tulajdons:lgokbl, ""m a TeXlBox vezérl6. Mindkettooek "'ln példjul Text 1U13jdon~g:a és ID tuLajdons;iga. ,Iletve ugyana· zokkal az esZ1!:1ilc:Jltulajdons:lgokkal bírnak. Ahogy ~ könY" h:'itr:lk... ő r6;z"ben ~tni fogjuk, egy"" a lap!UlajdonS<igokat \':oI6jáb:m ",hu/et! wcl>t:s vez"rll! tartalmaz. 6. A je!sz6onezl5k ~(,bo.'1"! rl<.'Ill ~llith:l!Juk be pn:>gr:Imból a Text tulajdonsigot. és a tulajdonsig értéke Vi$SZ3C5:llolhJ<or nem il> marad lllC.og, men ez biztons;jgi koclcl ..... 10l. jdL"Tllef\e, hiszen egy l'OSS7~ndula(Ú fdll:ll<Zllá16:o lll.lllgésző ~1 1111c:Jpou H1"ll fCl<Tis megtclcim~el hozz:ljulhatn3 egy mh,k felhaszn:lló ielsL1v:1hoz.

1 235

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 legnagyobb közös osn6jál. ( Két egész _úrn - II és b -legnagyobb kö:cös om6jasroldSQs 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:
If ... Text
y
~

'Az a <Ii. b <Mxl1lnilll6.t x·re, .. mlnllllUlllOt P<'dl; y-re ~ b. Text then II ~ b. Text

~ll!tjuk

e.Text

_ 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öbbszö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
lenyíló listákkal, választógombokkal és
jelölőnégyzetekkel
II lC{;ke ulr1a{mlfból.

Adatgyűjtés

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

h:üvú.l;ua ~g)"ld :i.llapollruk meg;illapíta>;.l progNmból
\'ezérl6

A ChcckBox

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::dmasabbak. 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.

máJ! ",ebes ",'zl'1"1& is l(:teznek iI)"en például a DropDovmlisl. a Radicllutton '""g)'" Check Box. Eblx-n a k'ck(:ben ezekkel a "ezéri6kkcl fogunk megismerkedni.
A felhasznil6i adatok fogadására sz..-renQére

A bevihető adatok osztályozása
Eddig Cg)'ctlcn WdlCS vezerl61
L~nw:rtünk

meg, amclyt'l"l kelQnül adatokat gyújthetunk

a fclhaszn.116klól, a R'XtBox vezéri6t, Ahogy.:l könyv eddigi példáiból kitk.-riill. a T~t­
Box \"ezérl6 egy szövegmez6. amelybe ,'W\'egel írhatunk A 4. fejezetben például egy hitelblkulátort készítettilnk. amelynek nn!ködésehez ~ felha~7.n:il6nak mL'g kelletI adnia a jel:clloghitel Ö:SS.legét. ful:lmidcjl:t 6; kJ.lTI:ltl~WI. hogy az oldal kl.SZ.ám,tl,assa a havi lörles:a6részletet,,. 9. f~"jezetbt.'n pedig egy testlömeginde:>:-k,~nút6 oldali mutaltunk be, amel)'nek szövegmez6ibe a magass:1go1l-s II testsul}, kclku beirru Ezek mellet! aJ; el6z6 ór.l példáioon is ~h.any szö... egmcz6t haszn:ill\lnk fel.

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 rendelkezé'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
11e\'';';

:ih:Al:itxm egy ayen ~50 dc'ml. !cldl '<~1fes) lJ:i!áb61 ,'~L>.:>o:tII:I!JUk kl. Ehhez hasonl6 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;ílulánosabb. Ilyen 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~

tír-:r

A megte1e16 webes vezér16 kiVéI_
Amikor acbtob! ~nk a fellw;zn;iJókt6l. el kdl dón!,,"Onk. hogy mil}-en webes I'C2i:rlöket használJUnk. Pd<UuJ ha a felll:ASZl1:ilók ncml're '''gy,.mk kív:íncs.ak, n olddon clhel}'ezIldflnk ak:!r egy TexllIox \'t.'z6'I6t is. amdybe a fL'lh!l5ZnJló beitha.t"" hogy "6 ";tg)' I'Ml. de ez no.'Tl\ igazin dlr:lI'ezet6. men bdr.bkor soklGIJ kÖrlnyebb hUllIl \'ro..'Ili. ~ biztos?hb nlÖlbzer. ha~· lenyiló!$at leszílnk az okbJn. amely Ire!. ~ - FMi. és ~ - kirLiJ fel

'&ellInem hpusú k~k nIC8":'ilaSl.Ol:iSJhol, a jelölOOégylf."Iek a legalkalmasabtxlk sok ........wICly pél~ul mc/{kÖl<:ldi. hogy egyes oldalak cll~hez frókkaf ~lkez­ tílnk, a fIÓk létreho;>jsakor ~ig jelk'l1tXl5en oI)"n k~kre is kelJ v~Jaswlnunk. mll'lt a ..Szm:'lnc-c' hirk'VCk."1 k:apni a ...'dlhd)' ~pir6P". I"gy hogy .It<lonOőln QerZetI tUdOnWt a webllel)ilnkrol?", Az cl&bt e5e1ebm áluJaban klJdnt16km fogaJm;I.U:lk meg:l monda!O! \.&tesil'oenek ~z iJjdons;i.goktól·). b egy 1'!1i)~'Zet lx'" VJgy k,ka~l:lSiv;ll v;\laS1.lI1;lIUnk, ~~ Ulóbbm.il po.-dtg "",m llOMZ:Is f(-'~<.'ge!6I swkuk k&ni. hanem Ien)iló k..wból ,'lb!iZ!V"~ v;lgy \'~la'-'7!óR<.,mbok segil-';l-gt.'Id adluljuk meg a dlaszl
Az

Amikor • felles2n6l6t I"a kéfpjk. ho9v vias_lD" • 1ehetHg.s vii"; kozül. illalában le!!yíló ~st't vlg-'f vátesztógombokat alkalmazunk, de ha a lehet6úllllk SZ6mI nagy.• vállISlt6g0mbok UsWt k6nyelmetIenrM vitlat. és túl sok ~kes helytt /ouWIi1el • k6p.myÓII. ~ ~... ho9v .... otn6ltóbb VMaSMSi ~ twu. lel. lInYI6 istil UlI h I1jW.... miQ ..... kwtstbb ~"1InyI6 atM II~.

",_MIl

Sl.ÖVeges adatok (nb-. leveleIk; dm stb.) nICg~di'!!ihoz sWI'egmez6ket kell bi7.!osíl~· nunk. A 1ffi)'CS az.. hogj' 3 hc".Jld15 ",dunknak \öbb Iiltul'l k'I.CZlk, amel)'Cklln .rns-nds ",elles veztrl6lr: II IegaJkalrll'l$olbbak. Ed unsuk &:zben, anukor II fejezetbc:n II 1en)'\16 kOkkal. lI'~g~'zetekkel és ~':ibszt6gombokbl OO!erkedilnk.
A felhasl.O~l6k :illal megadft:ll6 a<blok tlpusail l-s 3 nekik I",gink:tbb vezérl6ket a II 1 ltibl:iz:uoon foglaltuk ÖIlI;U'
megfelelő

wel.)C!;

~.,,&

Egy elem " lehe'l-

A telh35w:>J6nak "lehet6-

Ii5Cijlb6!

két RadioBuuon DropDownList vagy 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 nonverterméket, amelyikre" k~ vonatkozik. Jlyen esetben a legmcgfelcl6bb ...ebe; \'ezér16 a OropDownlJst. amely egy lenynóllSÚl hoz létre, A fdhaszniló a list;'oon S«rep16 elemek közül vál",,;>;that egyel. A ll, l. :\brin egy példll I~th~lunk arrJ , hogran fest egy Icnyfló lista egy HTML wcboldakm.

11.1 .ibnt
.1 k,,)i1Q JlsMkbi'" "foJMnnAJó " ~ váJaswIt J«b::aJ toóJautllf' / '1IJ~1

Elem.. homadása a lenyf16 listához
A DropDoWnLisl webe:s \'ezér16 hasZlÚlaukor meg kdl "dnunk :l lenyfló 1ist.1 f!lemcil. A lisI~elemck azok" v:íla-'1ÚSi IdlC'l&;tgek, amd}'ek köz(ll a felh"$7mló választhat A lenyíló Jisdk elemeit kétféleképpen adhaljUk meg. Az els6 m&1$7-CI. amelyet ebbc'fl a leckében bemu!:llunk, alist:oelemek bcgépelé:se egym:ís után. Ez a megkö:relités akkor mUk&l6k~ , ha <:16«: tudjuk, milren v:í1aS2;t:lsi 1ehet&égt::ket kin:ilIutun k fda felhasználónak. PéldluIlu egy 1enyíJ61l<;tiban teWlk elértlC'lÓ"é lIZ Eg)'csiJ lt Államok 50 ~II,,­ nÚt. ez 3 m6dSZCT mcgfelel6.

11.

Teg)'Ük fcl azonban. hogy II Imylló IlSllllxrn """"""lftutelt ,'Jb9!:I<i Iehet&égck ,""bmdYef\ 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.

Az ilyen helyzetek ke~lé:séhel a I~""demeket (:g)' adalW,l-1Sl>an timlhal(uk; ekkor II DropDownllsl "cz&l6 haszn.1L:uakor ;eleznOnk kell. hogy a Ibl1ban nleSielcnitelld6

a n,

eletnek CI!Y ad,nbhisb6l5zlrmll1.n.ak. A listaclffllek l'rle8acUsJnak ezt 3 módj:ll feJezetben úrg)-~ljuk ~oc:bbom..

Lenyll61ista twzaádása egy ASP,N E l _
A Drop[)o(YQmÜSl \'NérIt'l luswbtinak 'ttfllJéltcle!lére hozzunk nlOSl IWc egy Ilj ASI'NI:.' ol<blt DropDOwnL18t ./aSP" néven. A "'clx,,s \lr1~p részbe írjuk be a What i . your favari t . ic .. nearn !1 .. von (Melyik fagyi\ kedveli ~ legjobb-dn/J ~eget, k a Toolbox pólk'túr6t hliz:tunk UfJn:l egy DropDownUst ,'curl6t.

••

-_ ... _-,---- ...
_._.

ListSo~ VMri6VeI. A 0r0p00wnLis1 esik egfdllo.. -'-n ~ 1Il~,!Tiv Ilist8o~ ldl vagy tobb lOhe:tÓSégRt is enwed. tA lJItSox 't'eZ6rICmI nem ~ lIIlOll.ri ebben. k&lyYbefI.)

ogyetjíd; rt hGgY ,.. ~ 6ssze • 0r0pD0wnlis1 WtbIS VeZérIŐt •

11.2. Mn

..u rMdOI tRl' Dropi)ofl"nLisl b

flO'

nu_ .<edrIó /OO,..4a<LtU< "ld .. "

~~

lépésk&lt 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.

KŐl'etk..-,zó

II lcnyll61islának ekkor ~g hünyou>ak az eleme;, Ha tehát az ASP.NET ,,'eboklalt most tekimjOk meg egy böng6~, a leny!l6Ii!lta ml:g üres lebl (1~sd ~ 11,3, ~tmt).
!Jo ... _ , _ _ ....

"J

.,)

~, :;'. ~ ~ w

'-e
-w

j.::r - ......-

" _ -'I

11.3.

an

A "",),-16/151(1 "'~ ll ...... whdl

,""-

"jdluuz"áAA,ak nlna ,<lIasz/tJsi

A DropDownUSI ve2&16 It ....... tubjdom;iga t:lJtalma7.Z;I awkat a li5taelerneket, amelyek ~ lenyíl61~ban meg;elermek , tehát ahhoz, hogy ~ 1!SÚt demckkel töl!.S\lk fd, el:! a lulajdom;igot kcU szerkesztenünk. EIŐSZÖf kanintsunk a DropDownlisl veu;rt6re. hogy a lula~gail betöltsük a PropertIeS ablakba, majd görgessilnk az I t ...... tulajdonsighoz. A 1l11a~g énl'ke alap1llapü(oon ICollec t ion), vagyis ..gyifjtemeny". lia erre >12 o!n~kre kattintunk. tőle jobbra egy gomb tllnik eló, ~mclynck f~t:I három pont (I~sda 1l,4..1bdt) .

M

-...... - -..... ...
,
"~

,_ • "U
..


_~,-~

.......... •

,.o,

11.4.
tU'

an

/lenu '"lnjdo,OOgro

.wlll."nl "8)' Irárom fJO"lOl
u"',,/m<lz(} somb ,,,,,ik dIJ

KlIttintsunk erre a gornbr.l, és megjelenik a Usthem Collection Editor párbeszédablak (Ustadem·g}/lljteml'nyszerkeszt6.l, amelyben elemek(."{ adillItunk egy lenyíl6 listáooz, vlIgy elemeket távolíthatunk el onnan. Mivel a
felh~sm~lókn:tk

a kedv..-,oc fagylllltjukat kell megadniuk a weboldalon, a listára
gombr-~

fagyl3Jtízesít~ket fogunk r"kenn; e1cmekkl'nt, Új elemet ügy adhatunk a list~hoz , ha

az Add (HOZzáadás) gOl11br~ bttintunk. Miut1n a

kattintottunk, a Listltem

11 . 6rt • "."l1i". lanYI6 5stM:,"1. ;" ""'libc*bI 61 j

!c "

""'alIIr:UI I243

CoIIec;"on Editor p;lrbesúdabbk bóll oldali me~ mqpclemk egy új elem, a jobb oldalon pedig ann;l.k tul~jdons.i8"i Ahogy II 11.6. ~br:ln 11Ih'l1juk,;I. lisudemeknek n<'gy lubjdon~guk van. az Enilbled, a Selectoed. a :r.xto és II Villue.

r L
I-

·, •

-

.~~

11.5, jin
A ~-nLiSI " .. ~,~ 11J/aft6.. co:

II

c.-

MI a Lhtf_ 0>II«tí0n &Mar pd,t-:d<IaDlalbm t>dhotjull ""3


... II ...... ]

• •

-- .- li<

-

cll"

ll __

11 .6. jin
'\/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,uZIclL bOngé$z6jében ~ k kl"!. elem 6 (V~nllla és Sltawberry) roy m.:gjelenni

A mhodlk

1Ut:.~gn:lk

_ SelectOld - szml&! logikai tn<'kec adhatunk. Ez a 1Ut:.1-

donsig lut'iroZZól meg. hogy ab~J1apo!""n nlel)',k 1i)Ue1en, ~J k;\'l]:..srtv;;I, anukor azolda! belOIl6d,k. MJ\... I a 1en)i16lisúkru.k $Ok-ri elemük lehet. b ezek

Z44 I IL

re . Fthszn86i ldMOt ~ "

fIIdc'9 'Z'"

közül egysze,.,-e csak egyet Litunk. meg kell adnunk. melyik leg)'en az első, ami megjelenik 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 Text b ~ V.o.lu," tulajdons;lgok karaktL'"rIlnc (,rtékűek. A Text tula~g adja meg azt a .• zö,.·cgel. amrl a fclha'i7.n:116 a lenyíl6 lW;1ban 37. adon clemn<'II~L. P(,ldlnklYJn n els6 h>laclern Text lulaJdons;1ga VaniUa , a m1isodiké Chocolale. a harmadik~ pedrg Sltawberry. A Value tula;dons:!.g ezzel szemben nem Io'ithat6; oly:," inforndciók.aL "dhalunk !it a óegítségé\'d, amelyeket nem szereln<'nk. ha a fdltasmál61átna

A Value t~t 6Ital6bto akkor llas.zrtálj06:., IllllÍror egy adatbálisból jelenitiink meg Itstaelemeket. Ebben a leekében elZeI a tulajdrlnsjggallllHTl roglalkozunk r6zkl[esebben, csak a Text tulajdonság beállftáséra oSSlPOfltosfllri..
Most, hogy tisztában vagyunk a Iislat.'lemek h:lrom tulajdons;igával. iltít<uk al els6 dem Text lu13Jd<:>nsig1t vanilla·ra, majd vegyünk fd egy új;lbb el"m•."\. amctynek TEcxt tubjdons:lga Chocolate lesz. '-égiil pedig egy harmadikat. amelynek a Text tul3td<;>ns;lg:'i1 a Str~wberry értékre álJiljuk.

Afenti három ~$Iae1em value rulBJdonságát nem kell beálítoounk. Ha lHIII8lt 8 tulajdonságnak nem adrJnk értéket. a listltem Collection EditOf automatikusan ugyanatT3 az értékra é/lítja, mint amit 8 Text tulajdonság tartalmaz.
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 I!I

0-

-- - -~ III

...

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

Alistltem ~tIOII E~or lI:!Iatban a lista I mit. $OI'Tendjét is módosítMljIi. EIhU cuIr.. Iista,la"n kel kanllll8lllri. bal oldali mezóben. marci '1*'
~dablak köztp6n tal6lhetó lelekl is lelleIé mutllló nyükkal megviltoztathatJ1,lk annak a többi elemhez Ylszonyított 1leIyét.

kiv*"

11!0b6 Ifpbk&lt k:::uuot:;unk a Wihem CoIIt'ctiQn Ednor ~bbk OK gornbj:lr~ \1egf1g}"C"lhctruk, hogy ~ tCf\-cz6lX'!l a DropD".... nWi ,-ezérl6 úgy ~I, hog}' k.i\;ilamoct clemJu:.'flt a VoU lll, elemel m~

....tu.ilk meg eddigi munkJnk eredményét. ts töllSilk be a IIropDo'o/nLlat .upx okbl! ~ böngé'l7.6nkbe «(j~ a 111I1br.it) Uth;;njuk , 1108)' a kocl.bb:m üre; li.st:ib.. n m()$t mJr ITICglaWjuk a LisIltcm CollectJon E<.htorban fel"<->!I három fagylalÚaltll. (Az cJemck hozzhdís.. el6ni kimenetet a 113_ ~br!.ill l~th;nlUk)

.az O'rbpot, kódot kell írnunk az oldal forr:isk6d

11.8."
ti ~'I'bOIdnJC" IIfo{Juw:trdló NlfO#fl f.t IookrU ,dlantlwat

Ha betöltjiit. r>')<>wflL ot ""PI< .. abo.w;''' kiVMBSmd agy.!amet !~ a Str....."V·t,I.1eny1ó istából, uttJnM ..,-. . . III ÚItIpOt, III ASP.NET OkIII viuUC$atolMt lI'IIit ti, " • Su.wberry elem kII'IÖ/YI marad. Ebb6IlIithltluk. ho9v a DfopOownLJst ~ Yl$SllCutoláslor meg6rzi

_.1fOITII:n

aulemek ki,e!ö16iét, aUrcsak. Text8(!J\ vemr16. 'l'.xt tulajdonság énékit.
Ahhoz. hogy az ASPNET oldal valallUlyen művek>!." is n'grelujlson, amikor elkOldjllk ~-hen En" kódot" Bunon \'ez&1<5 ('I lek oc:ménykezel6jí-ben keU elhel)·ezniink.

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 (K3uinLo. ide). A DropDo.... nList \cli'f1(5 ID rulajdonsJgit ;ilhtsuk HBvou-re (ízek).

M@

12 uLin kattintsunk
J

dupl~n

a Buuon vezl:rl6re. Mint!JÚr wdjuk. ezzellttrehozzuk

gomb CHek

~nykezeI6jél-cbben

az

."Sem6l~'kezcl6ben

kell megadnunk

az!.

a kódol. amely 3 r esult s címke Text
elem szöve#!:

w!ajdom;i~

írja a fe!haszrci!6 ~11:l.I kiv.1!asl;lott

re.ult, .Text

k

' You li k••

~

tl .. v"rs

.se l ecu,d l t • . T" xt

AholI)" a fenti kódl:>6llátható. a [)rop[)ownl;SI \ezérl6k k,v;llasltott c1cmét: a köv..... kező forrnjjU k6ddJ1 ér!teljOk elo
D rop~ i 8 t ID . Selec t edltem

Emlékezzünk vissza. hOIlY minden IiSUlek'm az Enabl ed. Se lected. Tex t 6; Va l ue tulaidonságokkol rendelkezik. A Text tulajdons:\ghoz teh;'it így fMICtűnk lmm,

1\ value wlafdonsághoz pedig Igy;
DropDownLlstID.SelectedTt~ .Valll'

A DropOownLisIvezé!16 Selectedtte.. ~ Sn~ bl ed, S"le<:ted, Text b V lu .. tulajdooságain kMiI éQreve!let(ink ~ otödik rulajdonsigot is. .. amelynek a ne'ie Att r i bute3, és a UstItem CoIection Editoroo kere~íi1 nem érhetI! el. Ezt a tuIajdonsá!lDt lITa hamtálhatjuk. hogy bdUítsu4l a DropOownList VeN\6 általlélrehomn HTML-köd jelemz5it A gyakorlatban arra a tulajdorlsiol'a ritkán van sxl*rig. elM nem is ve~egetUnl; rá több idill.
Miut.in a szükséges kódot beinuk II /Juuan \'e~r16 el le k e-seml:nykezel6jébe. !>l!zzük meg 3z ASP,NIT oIdah 3 bőngésu5nkben. AnukOT az olda! betölt6döll, dlasszuk ki a kedvenc f.r.gylahunlut, és buln!5Unk a Cliek Me gombr-J. AZ únap ekkor vi""zacs:I1<;'" I:íSl indit el, b amikor az ASP.1\U oldal Újrntölto5dik. megjelen,k a 'YoU 1i ke fl l/vor ' szöveg (ahol il f l " vor- a IcnYl16 li'itiból kl\':IlasztoU t:1gylaltlzcsitésJ.
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
'_

l ""'"....... .. ~' ...., ,.,..... L. ...'..

- "'1


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:<"rI6Icnl:1 is lo1nunk. á ugprn,)gy is kdJ 61<<:1 megadnunk (összcfogbl\'3 Ihd, l U. t!ibl.1<:awl).

Tulajdon_á9
BdckCo l or

lalr"
A lenyíl6lis1a h<'inéNzínél adja
!lK')I..
~zá"'05

Font

A leny\l6listáoon Emlékezhetünk

le~6

SZÖ\cg lUJajdo.wgail hal1rozza meg
II Fon t rulajdonsignak résztu-

tulajdons~k

~SZfevehetjiik. hoov a 11.2. táblázatb61 a korábbi 1&j8lalllkben [álon Mlt/itikai 1lIIY résza hiáoyzik, mégpedig BQlIgélyeUeI kapcsolatosak. Bár elméletileg a OropDownUsl vexérl6 is rendelkezik erekiel a llRjdonságokhl, oom t!!láljuk meg áUl a Visual wvb Developer Properties ablakában.

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!).
A:1., egymishoz kapcscl6d6 \-1bsn6gornbokbóJ csoponokat is kiallkíthatunk, ~melrek­

nek egyszerre cs:tk ~z egyik t:l8/Uk lehe! bcjclöll'e. Vagyis 11.3 van egy három választógombból áJ16 csoporrunk, ~ bcjelöljOk az cl56 vá.]:lSZtógombol, a nú.sodik és a hamudik kikapcsolódik , ha pedig bcjdöljúk:l második d.~n6g0mbot, az cl56 ~:I harmadik nem leh(.1 b"jclölve,é< Igy Icmbb. Úgy c' swkl.1k mondmi, hogy:l OiOpO<Ioo rcnde7.ct1 v:Jbs1\t6gomboi< kli/csijn6se1l kfmro viszQnyoon :illn..k egyrnissaL Ahhoz, hogy egy ASP.NIo' wd>Oldakm eJhe!ycmc:;S(lnk egy \'i!JasZl6gombol, a R:ldioHuUOfl wcbes I'cz€:rl6re v~n szilkM'giInk,:lz oldal lekq,ezbekor eZ:l vez€:rl6 hov.ll Itrre a v:ll.o.m6gomb HTML-k6dját. Ha azt w:reInénk, hogya felha5zn..á16 mondjuk egy h~rQfIl leh(1.őséget urtalmaw csoportból ,~Jaszthasson egy elemet, három RadioHuuon \'e~rl6r. kelJ luszn~lnunk.

_. __ _...
('0 '.

,..,zerl6Ir,
/>lJUt.:In Il'IrehoZluk
Bilooyíra

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 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
a~ oIdIlt. írJuk b~ II K"I'Vl:t6ben ~ What i" your f<lvori t. ice "rlNDl navor? szOveget. 6:il sZŐ'o'eg ~Ij l"i~1.t",k eg)' R.~dIOBulton \'e~(,rl6c A \l"\'e;o.6bcn ekkor megJelenik egy \'ll~n\6gonlb,:il \'ezér16 lD [ulajdorWg~,"~l (szögletes z!ir6 jdben).

6szrewttCt. hogy • TooIbox palená'l a Radio&mon wzéri6 llen 'ov IIIdioButtonlJst nmi WIbn YIZ*t6 is 11Mllat6. Ell_ vvzért611Uor ~ lIfI'ikCW I ~ \a'lGlÍIIlllwt6s4geket egy ~ 1.oIjtk A R"'in&ltIonLm '-m6IItM. 11. fIt-\bIn llI,Ita\jla be,

-

11.11. ' "
/I
R<uhoB,,_.mp.~

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 olyasnut
w~-b

kelll~munk,

....... ... _----_ .. "-,--'''. .;, ., ..

_. __ _-

_

Developerben a kl-! (jj:.lbb v1Iaszt6g0mb, illetve II gomb homa<tisa ut:in 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ó-

gombokMz tanOM $2Őt~ ls ItJbbet ts kI,>r'J/awIu.(Unk 1«Jz>11>lk

avdjI f

61 ..• ...+

A Toxi és • GroupN"", bJiajdonsjg használata
Minden vllaSllÓ!lombot el kell látnunk vabmily",n ~'eggel, ~mi lelria, hogy ~Z adaI:( elcm milyen \IJ.!amlsi lehet&égrt kq,vi:lcl Ehhez csak annyi! kcl1lennOnk. hogy

az egyes RadiOBuuon n:zérl6k Text tula~gjl:l. !lIcgfeJd6 sz&.'~-ges M~kre ~lhljuk.. A &IId,'ButtOll .... px oldalon iUilSUk;l.z c!s6 ...lla~6gomb T.xt tulajdonSilg::Il Vani l J ,,·ra. I ~k~ C'hocoht.ne. II hJlll'IWiktt pedag str.wberry-..,
A k(:pem)'6n ekkor oI)ö1~l',,1 kell btnunk. milli a II II
~br.tn.

-.

~_

...

_----_ .. .
,," '

.- ...... -_.
11 .14. "
A,~ ~qat!/

.-• "

• ,

I6JluJrS

Ez után amo van 5ZO~nk. hogy a IJjrom vábnt6gc:1mbb61 ~ aoponot aLJkíUunk ki. hogy" fdll1SWló ~·.s-=erre <=.k t'g)'" peIölhc:s5en he kötiililk. A R:KIiolruuon vmr16nck >':ln qy GroupN ..... (C5QpOI'tntv) nev(f, karakleninc b'1tkl1 lubjdon~g:o. Azok a RadIoBulIon vezérl6k. amelyek et!)' adon ,,'eboIdalon azOOOll GroupN&Me~r1ékkel

rendelkeznek, clJYmhhoz k:lpcsoIódnak, tehát a h~rom V:\Jasll6goflllJo.'nk egymá~z kapaoU,.jhoz ($;Ik anny.! k<'ll 1<:nn(\nk hogy mindhárom n:zérl6 :;roupNaa lubidorts.ig;ll a flalrOu mékTC' ;lUi1lUk

Nem SdmIt. milyen ~éket ..... lr, ,~ ~ tNIt az. hogy az-wY clOpOilbl tartozó Yilaszt6Qomboknlk azonos Ieqyen. tSOporIHh •• A lenli h4rom ~ GroupN~ ~ tehát akár ScottMi tC'hell ... IS m6d0$lthattull wIM, az . .dmény akkof IS azonos lame (vagyis. fllllsmiló eovidei!lleg l:SIk az egyikOUl itIOIhttn6 bel.
Text 61 ;rOllpN""", tulajdorujgjllx.';iIliIOlluk. nbzük meg i$m~ J RadioButton .upx okbl! a böngész6ben (1hd a II 15 alrit), \lcgflgyelhelJlik. 11Og)" a lurom \-ib.m6gonlb mOtSI ~r kO/aön6§en k.LlJ'l'I egymbt.
\,,~is J

MCtSI, hogy m1f>d.h.1rom Radiolkmon

,'~zM6

Mromból qyw:m: CSlk egt'lchct bqclölvc_

II , cin·

~ klnylólidk& w' ztógoINx>kke! "jII6I6I~ I 2S1
_x

JoL!""'~'"_ ~._",.,,,~,,.,~,,,

"'

_. __......-oa..
0$0
b'

......

-

.......


',ao,

11.15, 6brI
" "dlattll5gamboJz"./ $Z(l<.o:ggei Iá/III/ul, Ih moss mdr oak "Rt "'h~ ,.JIa$::/Nllm,1t.

.-

,

A bejelölt v_gomb meghatározása
Azzal,ll<Jg}" a felhasznllórulk v.Uaszt6gombobt biztootottunk, amelyek közl1l v:ilaszthal eg}~ mq; <=k félig v~ztiik el n inFormkió Ö&Zeg}'Ú!léséhez szüksége:<; munldl, A munka m1sik fele n, IIOg}' az ASP,NIT oldal f<XTiskód rél;zé!>en megha~f1;Iuuk, hogr a felhaszn:\16 melyik v~laszt6gombol. jelölll' be, Minden RadioBul1Ofl ,"ezérl6nek "ari egy Checked (bejelöIt) nevt1 tulafdoosiga, ami True-!. ad vissza, ha a vjl=6gomb bejelöll :illapoloon \"~n. és Falae-l, ha nem.
Ahhoz teMt, hogy meg~1!apiu;uk. hogy a Felhaszn~16 a vanill" jelóhe~ be, az alábbihoz hasonl6 If Ulasílást luszrulhatunk:
If
,,~lasZl6gombot

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'

1: It "Ilni 1l1l.C~kild thtln 2: r"sultB.T .." t , 'You lik" V.. nilh· ~: ~l8e!f chocol"te.Che~ked Then .: r".ults.T .."t ~ "You lik" Chocoht."
S: Elself
nraw~cry.Checked

Then

6:

r"BultB.Text

"YOIl IIJte Strawberry"

7, End If

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).
Vegyi:t észre, hogy milllflárom faltétel- vanUl" .Check"'" chocol"te.Chec· ked és Btr"wberry. Ch"<Ok<!d - lHIlat Fa l se ef&dn-..!nyt is. ~ aktor lortiJflat 816, ha a feIlasméló a Cic:k Me gombra kattintás e16n ElgVatlan választ6g0mbat sem ieIÖh be.

A váI.szt6g0mboi< esztétik.; tulajdonsága
A DropDo"'nWl:, a TelClBox és II ~bel \'eZérl6khöz hasonlóan a RadioHunon ""z&lőnek is , = k e:sztétik..!i lulajdonságai, ,m;gpea.g ugyanazok. mim amelyeket kor1bban is l.1uunk. (Bizony:Jr:I kiL~l1huk. hogy ",/mkm webes vezh16 ug)"ane7.Ckkc1 n <':IZ!.['tikai lul3jdonságolck~1 rendelkezik - ..:ren a később OenUllat:mdó vczér16knél nem is ismétel· jOk it ~ lU IábLi.:~:ub"n I~ton tul;jjdons!lgobt.) Emlékezzilnk vissza. hogy a OropDownList v8lárlönél hiOOywtak a SleQéIvtuliljdonságok. A R&dioButton 1tZl81 SNmbltn rlKldltlkeVk. ewu.el a tu!ajdo~aI­ BorderColor, Sord.,rStyle és 80rderWidth - is.

A CheckBox vezérlő használata
A fCl"zet ek:jt-n szereplő. A bct.'ilretii adatokoutál)1?zá.su dmö" részben I:htuk, hogy a felhaszn~16 ~It;tl bevihető adatokat h.árom dOpOf1ba sorolh.atjuk.. Ezek közOl a Itgsz\l· kebb V".ilas.rusi !ehet6ségct nyUjt6 csopon az igen/nem (Iogik..!i) lipusű elemek'; "olt, amelyrk'l (sl].: kétféle válasz adható. Az Ilyen jelleg\! inform.kiók bcgyü)l6l'rc ideilis eszköz a jelöloo~"l, ~",dlyel bizony1r~.so\c:;.wr 1:j1;1.lkO~lunk ",1r_ egy .wSP<..1, amelyet be.., ilk"t\"e kJk..!pcsoIIUlunk.

A jdöl6négyutek ami is alkalmasak, hogy 3 felhasm:\.16nak v~la5zusi lehet&l'gek egy oIYJnlisláj:\.t binosílSuk, amelyb61 egyQ<:rre több elcrn is kiv~lasz.th.at6, Az <'I6z6 kél péld.'iwn - OropDOwnLht. upx Ú RadioButton.""px - csak egyf('le fagybltOl lehete« bejelölni kedvenckénL I-I~ 3ZOflwn három jdöl6négyzetet hasudlnink, a felha5z~16k egy, keuő, I':3gy háromféle iZe:5ítést is választhatn.1nak: _ vagy éppen egyel sem, Jelöl6nég)'zetet a CheckBox ,,'ebes vezér\6vel adhalunk az ASP.Ne, webolclllakhoz, A RadioBunOll vezérl6höz hasonlóan a ChedlBox vezérl6 is egyetlen íelölooégyzetCl hoz létre, vagyis It:!. egy oldalon h~rom fl,löl6négyzetl'1 szere:nl'nk elhelyezni, Idrom Cheo;:kUox vezérl6c kel! haszn~lnunk, 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 felha5zn~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.

ÉszrlMlhetjük. hogy II TooIbox PaI&ttán II ChedSox vezérlő alatt egy CheckSoxlist nevú ~s vezéf16 is taálllató. Ezt a vmoot akkor hasm;ijjuk, amikor a jeiéiiGtl1!gvzetekhez tartomlehet6ségekllt &gy adatbáltsban tároljuk. A CheckSoxltst hasmálatát I 17. 'ejeze!b&n mulllljuk be.
az imb'\t n oIdaUlQZ adon v~lérl6k tubjdon5:\go'l. Elös;cőr töröljük a Uibd "ezéll6 Text tub)do~gának éltéké1:. b;; ~ címke ID tulajdons:1gát illit.suk a resulu (-nékre. Ez ulfin kaninlSUnk ~ Bullen '~z&\őre, í'1uk a Cliek Me SZÖ\'egl'1 a gonth Text tulajdons;l.gáw, az 10 rula[dons:1gámtk pedig adjuk a btnSubmit ht&et. A h~rom CheckBox ve:rert6 eselében ugyanazokat a Ttoxt k aZ ID énl'keket kell megadnunk, mim a kOtibbi példáwn 3 vábSZ16g00llX>knáJ, '''gjllS 37. elso'! jclöl6ntgyzet 'l'ext tulajdons:1ga legyen vanill/l, 3ror\O!iít6ja pedig Y<'Ini l h, ~ ndsoxlik S7.Ö\1ege Choeolate, Ú igy tO\'libb,
M~ ~Ilítsuk be

Ha bcillitOltuk az emlitett vererl6k tulajdons:1gail,
minI a 11.16, :!br.lnak.

~

kt'pemy6nknek úgy kell kinémie,

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_

,.-

... ••
•••
11.16. in
Ar ASP ,\'}.T al.'bolilal

____ o

- ... .....................-----_ ~

__

r

:Io,~,.,,_

'"

\l-'lJ

--,.._ -_

......

'-

NI""" Jd6Iórti'Io'MM

.......' .... _,_.'
~jI

,...

;.,~-

...

".T'IIC

_ln..

-('

••

...

I
11 .17. 6bnI
• I"lOW1<oI is WJaszsha, ~ ''''RI'

.... . •

.... ________________·".,·='0·__--' ....... 00 ..

A bejelölt jeIÖI6négYZ8tek rnegha1ározása
r~16 mdy ido'6ntgrlt:lek~ jdöhc be. ugranúgy h:lLllozlutfUk ~. mint ahogr a IbdIoBlHlon ~ telilik ~ <..1utcked rul:tjdoosig 5egI1>ég(",'d, amely Trut \I"..gy Pohe 61&ct ad ViMZ:I
~."k80xID.Checked

AlI, hogy ~

Teh,,! tu azt szeretnén k megi!lapit~ni. hogy u aUbbi kód elegend6,

~

vanill ..

;elöloo~ctct beielöhék~.

... "

lf v.. nl:l ... ChEoked <""n • 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" á

jeli51611'IIY18te11kll 255

I

az 5. sorban El"el f lJt:lsi(;jso!cat alkalmaz!lJnk . .mrpedlg az ezek('1 kövelő feltf!!:clck ki(>n<"kclésére csak akkor kerul sor. ha,. megclőz6 fcllf!!:clll.~misn,.k bizonyul!. Má.5képpen rnegfogalrn:l.;w.I: II 1 L I. példa 3. 5Or:.nak kimékelésc cs:tk akkor megy \·~bc. ha 3z I. .sorban slerepl6 v"ni lIa. Ch"cked fellétel Fal" .. creclrné-n}1 ad. 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.
A L 1.1.
~

l, • I'. resua" '!lJIli;e Text tUl.aj<lond'1ának tOl""l.és" 2: reaulta.Text ....

,,
a,
H,

4, If vanilla.Ch .... ked then S, resu1ts.Text ''iou like Van111a.' 6, Rn<l It

"1

If chocolate.Ch.cked then 9: re8ulU.Text. &. ''iou lik .. Ch<>colat ... •

10: tn<l 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. A 8. sorban péld~ul:. chocolate .Checked !ul~jdonsjgot Vi7.sgáljUk: ha Cl: True--t ad vissza. az 3Z1 telenti. hogy a felha~nál6 bejelölte a Chocolate jelöl6n~gyzctrt, ezo.'"rt "égrt:ll<l~ód;k " 9. sor, amelyben" reR" It. cintk", 'I'''Xl tulajdonsiglnak értékf!!: a 'VOll lik .. Chocolate' szöveggel fŰZl;Ük ö.sszc.

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,
VUto.6 h

'valamilyen karakt .. rl.!nc·

A megfelelő ilrenetel horufl17.zilk a címke Text lulai<Jonságihoz, k nem "gys:z"n1en énékill adjuk annak, ~n nem szeretnénk felülimi a lubjdons:>g<.lI Mién? Nos, awn, men 113 a Vanilla jelölÓllégy:l:eI bejelöll illa[)OllYJn van, a kód d6ször a You Bke Vanilla szövege'! irja a címke TIoxt (Ulajdonság:iba, 6; eZI nem szeretnénk el\'e:'izilen;' II Che<;:kBox.aspx webokbl a bön~. miul:!.n A 11.18. ábrán 11lhatjuk. hogyan a felha5w.'I16 bejeIöIl néMny jelöl6négyzetet, 6; elkilldte az ürlapot. Vegy(lk ésue.llO\1;Y "7. oldal aljin I:Il1Jh~tó címke minden bejcIölt lehet~grőI ~;ssza;ellbl ad .

rest

&

. . . . . . .-

.......

__..__.
_ ....

•j . j ; , -

"-;'-

e>

-~-

.

C& .... ]

..11.1B. 6In
A
' j .•• -

fi>llu1$zmll6l<'Jbb W, ..""

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 fel1~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 eIdr'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 lenYt161i>dk bemut:llás:l.rdllánuk. hogy:l Iw:iban liSlaelemek I:IliJhal6k, 3mclrek jelkq,ezik. Amikor "gy DropDown1.isl vez(orl& adunk eg}' ASP.NET weboJdalhoz. meg kell határoznunk a liSl:!.ban megjelenitcnd6 eJcmek~. Szt'R'~re ez a Visual Web Develope.- lis\ltcm Colkction Ednor ablalclban (lisd
3 válaSl;1hat6Ieh~6ségeket

" . ÓfI • AdatgYOjtá

1InYII6 iIttiaI, vH...6op,iI:ri1''' ib jlllíl6n'IlYD1akbl l251

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 lenyi16 1btákhoz h.asonlóan a vlJaszt6gombok il; egy lehet6::;(,g kidlasZ!áslt teszik

választható elemek közül Mmden lehC'ifukghez egy-egy v~laSZl6g0mbra ,,".In ~zOk'iég, amelyek köl~ ki7.!irjiik egym.i<i. tehát az t'/n'máshoz bpaool6d6 v:llaszt6g0mbok körill a felhasz~16 egySz~"'ITC csak egyet jelölhet be.
A RadioBulton vezérli> egyC'ilen dlaszt6gombot hoz Iéire. AZ!, hogy bizonyos vlil~sZ!6gombok 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.

lehel:~,.

A k'Oflyíl6 listfík ko a v1IlasZ!6gombok esetl±>en a fel~16 egyszerre esik egyel v:llaszthat,. megadott 1ehd6sl'gCk kÖzÜl, a ,..löIooégyzctek alonlxm több elem kMHaSZlásit is 1ehetŐ\·t tcuik.Je\öI6n(-g}"letl.1 a CheckBox "'ebes vezb1ő segílSl'~'ri hozhatunk l(,u-e. A RadioButtonhoz hasonlóan a OJeckBox ,·t'z&iő is rcndelke7jk Checked tubjdons:\ggal, amely jelz!, hogya ;elöl6négyzetet bek:apcsolt:lk-<:.
Most. llOS}' meglsmenOk a felhaSUl:\I6i arn.tok összegyO'jtl"'Sére lusználh:n6 wt-bes

r:jtérhetOnk arr:l a kérdbre. IKlgy miktnt el1enÖlizhetjük ,. beirt ad.~tok érvtn~b.. A bemenetnek ugyanis rendszerint egy megadott forrn~Nmban ken trkeznle, vagy bizonyo.. megszol'ílások t'rvtnyesek ci. I la a felhaszruil6t61 ptldo1ul a1;l. kérjilk. hogy adja meg n tletkodt," beín adatnak eg)' sdmn~k kell lennie, ts egy elfogadhat6 tartományba (mondjuk O és 110 közé) kell esnie, A következő 6r:lban az ASP.N!: ellenőrző vezt'rl6iwl foglalkozunk, amelyeket a bemenet. ellenÓizésoére ' 1t:l.'lZIcl Ihatunk.

vezérlőkt"l.

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}.

Eddigi i~mereteink alapján a válasz; igen. Mmdazonilt:d a 17. fejezetben megtanuHuk. 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?

v:

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?

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.>

<asp,Llatltea

valu.,·v.lueN·>~ x tN<fa8P ,L i.tltem>

<1.~p , Dropt>::JwnL i s t >

v:

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 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
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?

I. Tegyük fel, hogy egy Illtem..-tes kvízt kkzítünk, amelynek

k~ire

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 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 Hamis. A DropDownl.i5t "eléM csak ('gy elem kiYá1asttWt teszi lehet6vt. 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. 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.. A jelö!6n(!gyzelek bqelöll ~lIapoCit a ChcckBox vczérl6 Checked tuJajdons::i~, nak én(:k(:b61 ~l1apilh~tjuk meg, 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ó­ gombol biZlosítu"k egy oldalon , a felhasznti16 c:s:.Ik eg)'et v:ila$zth~1 köz11lilk, míg ha jelöl6n.;:.gyzcteket, akkor rugalmas:tbb \llas.zlehct6séghez jut. hiszen löbb elemet is kiv1bszthat. A R:ldiollullon '"ererlóh1 a G ~oupl<"",e tulajdons!ig Sl'gilSÓ'ghel csoponosíthaljuk. tellát al. aronos GroupName tulatdon.d&!p1 rendelkew \<jlasnógombok t:lnoznak cgy aoportba. Egy \'1135Zl6gombc.'lOpottb6I egyszerre csak '-'8Ye1em v:'ilasztl1.11Ó, l .. hll ha öt \'1135zt6gornbot egy csoponba szeretnmk t'('ndemi. mind aZ 6/ GroupName tulajdonso\~1 ugyJnaml az értékre kell11lítanunk

2.

3. 4.

5.

6.

7.

8.

260

lll. rész • FII1IszNIói adatok m."~,, ~!+.
Gyakoriatok
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 felhaszn.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

1. Ez a kÖlCl

~ szerző

,':\Iasz[ is!

12.

ÓRA
ellenőrzése

A felhasználói adatok
II lecke lartlll",ából:

• A bemenet ellenőr2kl'flek fa~~i • A Requiredl'icld\'aliJatOf tlól.Szrdlau ann:lk bemt"llet II felh.ls:mál6tól • A CompareValidator hll5zn.ilau

ellen6~sére,

hog)' érkezett-e

A RangeValldalor használata :mnak ... lIen6rz6ére, hog)- a bemen~"l a kÍl'lm

btékt;incxnányba e:sik-e

A RegularExpression\';Jlidator h:!~zn.ibu Az ellen6rz6 vez&l6k ~;:Ié1:ikai tulajdonságai

Ahogy az. el6z61eckékben l~nuk, a felhaszn:!1 adatok öss:.zcgj'Újté5.<: az ASP.NET 6i oldalakon viswnylall könnyű, Sajn~ nonban am nincs garanda. hogya felhaszn.iló a bemenetel a kív:1m f(jfffijturnlxm ~dja meg . Képzeljük t"1 pé.ldáuJ, hogy mi tönénne. ha a felh...S2.fl:iJÓl61 a testS(jI~~1 kérdem&tk (mint ahogy Iléhány fejezettel kor.'iboon II tCMIö""-'gÍ00ex-kinim1t6 oldal e!K'tH>en (euOk), de ,".!lanti ol\'~smit íma be. hogy .túl sok"!

262 1 rész • FIIIaIzn6I6i Idatok ~ " a.

faI.In9'*1

AZI ~ folyamato!. ~melynek ~n bizto:o;itjuk, hogy a felhas~nfl6i adatok megfelelő form:itumb:m érkeuenek. bct>I/!/If'fel/''IIórzésnck ne\'ezzilk - e~ k(,pezi ~ jelen fejt'zet h~mjjjt_ lia mM rendclkez(lnk n(imll:lp;!szt~ l~ual a dil1:lmilrus webokla13k kkzit~ h~sztúh (echtlQt6gi~k (ASP. PHP. JSP) terén. a bemenet ellenőrzése biwny::!ra nem újdonság a sz:lmunkr:!. Mindazonáltal at említett régebbi t<:<:htlQl6gi:lk esetében cz a felaoot komoly fl,f:liást OkOZOlL
.szerencsére az ASP.NET cgys:wt1Jvé teszi a bemenctellen6rlkt, mégpedig ~Z e/1r?>/!5rz6,~'zbf6k segitséghel. 3 mel~... k olyan wcbes vczér\6k, ~meJycknck nino más fe!ad:uuk. mim ~ bemenet ellcl'lŐl'7éSe, Ebben az 6clban n(,gyel ismer(lnk meg köziililk: a R..quiredFicldValidator, a Comp:<rtNahdator, :1 IbngeValid:uOf k a RegularExpres.sion Va hdat of \ 'c7.érl6t,

A felhasználói adatok ellen6rzésének szükségessége
Az <'I6zó kl'!. 6r:Ihan több módszen is megismenQnk a fc!hasZIÚlól adatok Ö66Ze~')'11j­ t~'" " 10, fí>jczetber! a ~ö\... gmez6k, a II f('jezetben pedig az egy cl6re mégadott li,dból egy vagy tQPU elém kiv:\laszlá5jt engedélyeZ<'5lenyíl61lsljk, válasZl6gombok és ;eIOI6n(,gyzetek használatá,"~J foglalkoztunk. Amikor a feUl<IsználÓl atbtok be->it<'lere kérjük. iltal:lhan mcglut:iruzQu form:ltumú bemenetet .-:írunk. A IJlmumctdlcllÓrzés""gy bemenetéTvénYCliltk az a fol~'llnI:H. amelynek sorin ellen6riuiik, h<Jgy a bemenet megfelel ..... a kö\'e1c1ményeknck, és ha nem, g~kodunk a megfele16 ~l:Ibkrtisról v:lgy hiooilzenetr61. Tegyilk fel pékUul. hogy
~

felhaszrrll6t61 a

következő

informJiciókat ,,:'írjuk

• Nb
• ÉletkOT • Ir:lnyitösz.im Ezeknek:az aduoknak 11 be\';tel"hez \'llI6s1.ínilleg hirom .szövcgmClŐt biztosítunk, amdyekbe persze a felhaszn!jl6lXimlil~'t.'Il énékC1 bc>írfl"t, '':lg)' ~k:lr ilresen is hagyh:uj> őke!. Az eletkor mező O;<SCl('hcn !,éldiul k~pltatunk flres mezŐ!, de ~ 24 éneket vagy ~nn:tk SoZÖ\-'egCli mcgfclel6jél (h.uszonnégy) is, sót :a fdhaszn!i16 akár valami vicceset 1.;: beírhat, aminek semmi köze aZ életkorhoz.. Mi :lmnoon nyih~n nl 57.eretnénk. ha az élelkon "gy sz!im form1jjb.~n kapn:lnk meg, m;\'el:lz "g)"értelmUbb, mmt:l szövegC& forma_ (A 24 énékCl például mmk"m C5:lk :a 24 formában adhat juk meg, míg szövegkenI an80lul beirhatjuk a twenty-four. a t_ntoy four, a Twentoyfour és a 'l\renty Four ka/'3.kter!:lncot i5, 6 igy tov;'ib/),) AszimokaI r:I:ut\SlJI n1.1tcmatikai sz:imit:i.sol<ban is felhaszrrllhatjuk, míg a karakter!;1n, ookal nem,

12. Ó!lI • A ~ adIItr:lIt

'mm.. l263 é

Még h.. blt.losítiuk j. valahogy, hogy ~ felhasználó CS3k s:clmot írhasson be "It.'tkorkfm, akkor is kaphatunk "'vén}1elen értékel, A ·),456,354 .14 159. a 750 vagy a 0,576 péld!iul éTvmycs s:clmok. de élctkotn:lk m..'111 dfogadhat6l<.

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 ~ körtbe tartozik. de a k<.-n6 ~s-m~s megoldast ig"nyel.

~

bcment.1ellen6r-

A bemene!elJen6rzb különböz6 faf!.1it öl. CIlOponbo. .sorolhatjuk. Ezeket vlzsgJiljuk meg n alábbiakban

A kött1ez6 mezók kitöltásének ellan6rzésa
A bcmenel cl1cn6nbének el56 fajt.'ija a 1«iwIezt5 me.z611 t'lle1HJrzésl.', amelynek sornn azt vizsgáljuk, hogy egy ~c1011 mez6be beín-e vabmilyen értéket 3 felhasznil6. Egy e-kere;keclelmi ,,'ebhelyen például a rendelé.';j űrlap kitöItbekor kötelez6 megadni 3 ,úllithi cimhez unoző uton ..... ti hizsz1im, ,'jros. ~lIam (megye) és ir:lnyítÓliúm mez6kel, miközben mti. mez6k (például a rendeléshez fűzött megil'gyzéseIU kitöltése nem fdtétJcn(l] 5zilkséges.

Aroloon ft mbhelyeken, amelyek Iehet6vé teszik I feJhasznil6knak, hogy saját fióbJt hOmIn.ak létre, többnYire számos köteleZD melÖt talMook a blljelentkezési iírtapon. Ilyen rnIZÓ IeIlet pel~ az ,·maiI elm, az életkor, a nem, és igy tovább.

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·).

A7. ember termésZete$ nyelvü megfogalmaúW:In gondolkodik, ~ .sz.1mít6gépprogramok ~zonban adatokkal dolgoznak. ezéTt lényeges. hogy ~ felhasználó ~Ital beÍltakat II megfelel6 adattípusrJ alakítsuk.

A bemenet tartoményénak ellen6rzése
Egye,; stilm;,dtlok esetében lényeges. hogyabeviII szám L'g}' ad<J(1 ""ékl~no.mnyOO essen Ha a fdhaszn:il6tól pél<Uul az életkornl k&iOk, val6:.zinffieg egy O és 150 közötti wmOl v.írunk,

Ósszehasonlft6 ellen6rzés
A sz.1mbevildl g)'akran VilSgáljik összciL:o.sonJit6 ellenőn~1 is. Ib:l fdha=>ilÓl

pél<Uul ami k~ük , hogy irja be a fizetését, rflC"g kell néiUlünk , hogy a kapoll szám nagy<Jbb..., nul1án:il (vagy !eg:tI~!Jb e/O'enJ6-e nuIl1\'a1),
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

A telefomzám I~tasen mik fonnában _ például xxx · xxx -xxxx - is megiKllat6, de il több étvényes lonnétummal fendelkelll adatokill célszllni mindi9 azonos fotmáturnban I"ÖglitBfli, men !gy kömyebb kllrllsni k5zöttfik. Ha a webhelyiink látogilloo61 elké~ük a telelonszámukat és azollOS formátumban rőlllitjuk azokat, sokkal könnyebb például megtalálni köztük az iIZOIlOS köml!számúakat mintha minóoo telefonSlámot més·mlk
alakb,," tárolnW. lA kőrretSlMn il telefonszám alsó három számjagye.)

AfelhaS2llál6i adatok ellen6rzése az ASP.NEl oldalakon
Az ASP,NET oldalakon - ~",int "ZI m~r nyilvjn kil:!.Ij,!tuk - a bemenet ell=6rl~

webes ve.wrlők segílSég(:o.·cliÖl1l'nik. A ~!T>Cf1et v(zsgá\at.1r~ S-lolgáló \'czI!rl6ket
dleuón:6 lY.'Z<'rlókncll hívju k,

.b!;Jt,n a leckó:ben négy fajt:l ellen6rz6 \'crerl61 istTK:rltetünk meg, amdyekct a 12.1. !:Il:>F 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

1Z.1. g"!!", AZ ASP.\FTrU....ónrS •......w

,
sonlí!6 ellen6rd.-s rnez6be bin ad~( ki~. nagyobb-<:. kisebb vagy egyen16-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-

RegularExpressionValidator

Minraellen6rzés

esik...,. A:ZI viz.sg:ilp., hogy az adon lmr:lkter!ánc illeszkedik..., t'!!Y megadott min~ra.

A következőkben
Megmo,zzűk.

a fent említet( dlen6rz6 vezl'rl6k mindegyiktt részletesen t:írgy:lljuk. hogyan adhat juk őket egy ASI'NI:.T oldalhru.. tlO8Y"dn haúrozhatjuk meg.

melyik mev5t kell elleo6rizniilk. és hogyan ~lIapíthatJuk mes, hogy a fdhaszn:ll6 ájul be>~n adat megfelel .... ~ követelményeknek. Az egye:> vezérl6k i5rnenelése után am is mUlatunk cg)' p<'ldát, hogy mikl'm ha.W1~lhalUnk többfl'le eUen6rz6 vezl'rl6t egy~1lcn ASP.NI:.T oldalon.

ASP.NEr oldal az ellen6rz6 vezérl6k bemutatására
"!lel6tt r.ltt'ml'nk az ellen6nő "ezl'rl6k h;tSznábt~Mk bemut:,t~ra. hozzunk lé"lre egy ASP.~'"ET weboltblt. amelyre a fejel.ct pl'ldáiban támamodh.:nunk Az oldalon a következ6 adatokat kell ÖSSleg)lÚjtenünk a felhaszn~I6t6l;

• Név (Namef - ez kötelező meZő. • 8etkDf (Agel -Száméntkll mező. amelynek énl'ke O k ISO közl' kelJ essen. • Ttlrslldalombillosltt\si szám (Social Security Number, SS NI- KaraklerUnc ~;o;N-NN-NNNN fomúrumban. ahol az N egy számjegy. • Gyermel:ek IiÚ!ma iNumbef of clriidrenf - Énéke Ovagy több lelK'!.. • Fiúgyermekek száma (Number of male clliklranf - Ennek az &ttk.. is O ' ..gy egy anmil nagyobb 5úm lehel. de kisebbnek kell lennie az &szes gyermek w.ron:il vagy egyenl6nek nu!'

KezdiOk \eh~t ~z;\al, hogy lél.rehozunk egy új ASP.:>:!:' webokbl! V"lid<!tlonConuolupx néven. Adjunk:lz oldalhoz öt T",XlUo" \"e7.é1161, alJl('lyekbe a felhaszn.iló beírh:llja majd:l szükségel' adatokat. Mmden srovegmeM előu adjuk meg a metó leir1sál. péJd:luJ így, 'tour name, (Az ön neve,), 'tour "II'" (Az ön életkorn), S<x:ial Secudty number, ~ ön t:1=daJombiZl<.l5ílisi súnlllo) Slh. Az öl TenBo.. vezérlő és ~ kim címkék hoU:iadasa utjn:l Visual \xéb IX'"\'eloperben ,,,Jam; oIya""il ken látnunk, min! a 12.1 ~br:tn
~.tll<!ld.

_ _ .. _ 0
_ .. _ _ 0

-• - szövegmezőket

12.1. in
,...,. Q/tWl (ji nrJt"8m<!1;(i1~~ és

....W.I< lei.-á$dmJ

M06I. hogy a szükséges

aZ oldalhol adtuk. állítsuk be ezeknek

ID t\lJajdon~gj!. Az első szövf"gmez6 3wnosít6j... legyen TlI!IIIIe • ... r1t1.sodiké age. a h~m1:ldiké SBn. a rn'"gyediké totalChildren. 31. Ölödikt pedig ll\aleChildren. Az age. totalChildren és maleChildren mez6k Columns lulajdons:lgjl ~JJílSUk 4·U".

a "ezérl6knek az

Ez után helyezzünk.:sy gombot al öl TextBo.. vezé11ő ... !~. 6 áUílSuk az IIllUlatdonsigjt btnSubllit-rJ. a Text tubtdOn!o;igjt pedig CHet M<,,-re. Végill .djunk egy reBuit a :l.ZOI105ít6jll ubel vezérlŐi az oldal hoz. ~ Bunon ,.:zérl6 ~l~. A képernyőn e kkor olyasmil keU l~tnunk. mim:l. 12.2. ~bcln.
Ki is pr6bálhaljuk n)()!;! a Valldollt1oncontrolTeSt~,lIspx oldalt (n ASP.I'oTI oIcLd 3 böngész6ben a 12.7. ábcln lálható). Ha belö!tÖ!tük:lz oldalt a böngésWnkbe. írjunk be .. nékekel az egyes mez6kbe. Mi"eJ a bernen"'-et még nem eJlen6rizzük. komolytalan inform:íci6k31;'; megadhatunk b:lrmelyik mezőben.

Ahogy !Iamarosan létni logjuk,lIa az ASP.NEl eReOÓlIÓ vezéflóinek.!lasmálatal:or a követelményeket megsétt1i adatot Irook be evv adott mezőbe, azonnal megjelenik egy figyelmeltetk.
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. RequiredFieldV;lIidator ve71:rl6t úgy 3dhatunk egy ASP.NET oldalhoz. hogy II vezérlŐI egyszcnkn az OJdaJr-d húzzuk::t Toolbox palctt:'ir6l. ahogy ~ többi webe:<; "ezérI6 esc\.í-bcn is tetl(lk. Húzzunk Ieldt lTIOSl egy Require<lFj('ldVali<lator vezérlŐI. aZ okbl ...~ II lClVCzőben. b heJycuük el jobbra aZ első T<!XIBolC vezérlót61 .

.....

~_

·.·_IoII1.-.I~·

...

_----_
.~~

....

_.._-..., -

I"~--'

... _.0 _. .· - •••
't' _ . - ..
~

,,0

.•

-

12.3. ábra
Az ASP.NIoT cldtll " 1?<'lfIJ/""IFiddt 'al/dll/or ,.,urio hontlt.drJsa u/(i ..

Z68 IILrMZ • FeIJam6IÓi adItOIr. "'''tgyIlpbl nltklollgo ....
Az ellen6ml 'o'1Uér\öket a Toolbo~ paletta Validation csoportjában találjlJ;..

Ha 3 vezérl6t elhelyeztOk az oldalon, ~ lervez6 ablaIcinak Ogy kell kinéznie. nUIIl a [2.3. lbcill. lU, 3 könyvbell le....~ képen nem !:llJjzik. 3 RequiredFieldVal1elator w.övell piros betűkkel jelellik meg.

Az elle06m1 vezár16 által vizsgá~ vezérl6 meghatáromsa
Az ellen6rz6 ,·el.érl6k egy adott lx'm<'''''Jj 't'zérló elle06rz(,sére swlgil[\;lk. 8emeneli vcZ{'fl6 31~1l ~wkat ól webes vedrl6kct (pl'lillul a TcxtBox ,-.,zenő() <'njilk, amelyekbe

a fclhaswill6nak valamilyen énl'ket kell beirni.
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.
Jegyezzük meg, hog)' az ASI'.NET oldahlkhoz aclolt ellen6rz6 vezérl6k mindegyike csupin "ID'-'llen bemeoc'ti veZl':rl6t viz.sg:lJ. A val1clationControlTeatBed.allpx oldalon Idrom kÖlelez6 mez/'ink (n~, (:letkor (:s társadalombinosiLÍ$; sz1m) \':In, ezén három R~'<IuiredfieldValidator vezérlőre lew. szl1k:;égOnk.

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 .... ' . ..
Egy fonl06 r'8}'elnleZletés: ha 3 ""tr< lToVal ,date tul'I~go( egy:odon \"t'u,l6ie illil/uk. nujd 3ntl:l.k aZOllOSilój:i1 módositjuk. III ASP.NL'T oldal ~ \':1.16 belölt ... • ""kor 11I!Y.IQzenetet k~punk (i:1si:1 ~ 12.5, ~brát), Ennek a~ n oka, hogy az ellen6rW
"e«rl6k Control ToVa l idat. LulJjdoru.;iga nem frissQl aUI()lllalikus:in, ~mikor rnegv.ll· lO2\.;I"uk az ~ltaluk viZ$gil\ ve7.éri6k I D tubj<:lon.sjg:ll. El<:tt ha t'8Y yezérl6 3ZOOO11ittIjJt uuUn m6d0sítjuk. hOSY ellen6rzó ,·eztrk'5IIet \"cttilnk fcl az oIdalr:t, nundiS elk:n6ri1.lOk. hogy a Control Tl>Vat idaU lubj<:lon.sjgok a Jl'X'8l"cleló "t'~ aktuális aZOl'lOSllOj;lI
u(t;llmau.ik~.

12&1

,

.. _--.. _ _

..-ver Error in It:haot... 12' Ai leIIt,on.

-


12.5. an
Ilo .u-..a.:.:&t6 <~
COfllrolTo I Q/j{ja,..

On_____ _ ;_" ___On_"_'_._
,I

lJIIHoIIlI> _

"OwIrroIT.w._·

COfItrO/ ld . _ . ..,-,./tUd ~r lIN
_ft)'

or ~_"ftI""kfII._1

-~~::::;::::::::;==:-=:._=.:.:"---_._-1-:-'

-

IUlaJdonsA8áI MI)...v..ul dlJiljult bt!. hlbtlll1:_

Itapo",1t

Al. ifvénytolen bemenet osetén megjeIenItend6 hibaüzonet moghatározjsa
nt r< lToVahdat .. tulajdonság II1t'IJt'Il nunden ell~ ~"t'zéri6nc-k van t'S)' Err<)~Me ..age tubjdonsága i!I 12. 3 k:u"k,ffi:ino:: tn(-kl'l tuLajdorujg talUlnuzu azt a SZÖ\~, amelyt't mes uerc:lnénk pelenileTlI, I... a fdh"S2n:Í16 ~ltaJ meWlOOtI adu nem felel meg II k6vetelmmyeknek A 5zövegnck cfls1.enl egy olpn 1'Ő\',d leir.hlUk It-nnte. amely elmagyariu". hogy mi a problkna a bel lit adatl:lJ. és hog\, mit kdltennt a hll» kijavitisa (:rdcktbcn A. A RequiredFicld\'aliWtor eset(:ben p(:ldí.ul az BrmrM... U<H' wbjdon$:iROlll ·V.l • • lly-n "'rt"'k.. t aoeg k.. ll adnia aE X ... z6bef,· $ZÖ\'egrc: érdm1a állit.lm. ahol III 0J( anIUk a mc:rooek a nc:>'c. amel)"~ kÖlclez6 k1lóllem.,u ItnorKett .... ge Mékekénl; g)':I.kr:m:ldn:i.k meg eg)' csillllgot 1S:.Klk "....-bhetyefl Lilh:l!Juk, hogy a köldez6 I'Irbpm<.'z6ket csillagok
jc:1~,k,

A V.l idationControlTe.tlled. up" okblon elhd~'t'ZCI1 Rl"<;tU,redFicld\'alltL1tOf l'ezérl6 Brror_ •• ge IU1ajdons:1~t ::illiISuk a YOU lIIU.t provide your name (Meg kell adnia a rn.'\'1!l) szövegl't'. Miután eu !:tcinuk. a tt.Iqu,troFleld\':Ilidator ft:lir.l1~ a ter."ez6ben az Új ErrorMe '4g...-bttkre \'liltozik (liMl a 12.6. il;rit}

.......

_... _-_ ... .-2
>ol il ... .itA.

~ _ ..:...

--~

,

~

r__ r
r_ ... .-

"

_~_,..

_..__
. ,

~

.,

.. ... .. ...."" ... ._..
~-~
'

'''--'' , ,; ':" ~::!'"~.• ~..:~

• ...;,:~ '~ _.

,

- --.-. .- .-,-_'.-....
.~'" ,

12.6. 6bn
,~..w

tlluquirot!FieldlallMI()('
Erro..-.l/<'SSIlg<! IUk'jJrm-

«Igá'Ull! bOOlIi/1Isa "uh,

Az ASP,NEr oldal ~pr6b~és.
MOSI. hogy l1>egadruk "- Control1'ovalidate 6; ErrOOIl'U"II" lulajdons:igoka(, ~ R<..quiredfidd\'alklalor flg)'ellneVeli a felh:u;wál6t. ha elfelejt VlIlamilyen értékel beírni 3 naJlll! mez6be. Ennek k/pr6I»l~ooz löI~k be a VlJlid8tlonControlTestBed.lJspx oldalI ~ IXlongésWnkbc A weboldalt az első belölléskor a 12,7. ~bra mUlatja. Megfigyel· hetj11k, 1K:>gY az oldal böngész6lx.-n l:'ilhaló k(1JC Jl61úlcg dll'r "- lervez60ffi Illoa6l , 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 ......

n .. f ll m l

mellett.

Ha ezzel a k~ nem r=deIkeUI ~ v.m (.-agy kiJtapcsoltuk

benne az Ogyf801ddi par.mcsf111ok Iimoga~t), a ifO!T1bra való lattintáss:.! eUrilldJuk az llr1apot, de a ~zacs;uolúkOf ugpnúgy megJelenik az emlitett ~.eg a Iltvmez6
n~llett.

A 12.8. ~001n aZl ~thaliuk. hogyan f<:5l" v.lidat1onControlTeatBed."llx oldd. ha nem lrunk be semmit a ..... mez6be, b a aKlc Me gombrll laninnmk.
~

_0- ... ..... -- _o..
..) O

.

-~

r ; .. - - 0

__J_

-'

'--

J
12.1. "
your _ _
A .... _~"'*" ~Ur .. lilu "'WI' pro..úM
~

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.

Ogyféloldali és kiSmIg6/ÓOIdIIi alan&lés
MIM viselkedik m1sk~ a hJ!xltlz:enct a haszn.11t bÖngbZ6t6I filgg6=' Nos azéft, men az eIlcn6iz6 ,,-dio VeZérI6k ~i ~ alk:dmaZlUk azokban a bOngm&ben. amelyek timogatj1k el!l a ROIg;2.kaWL
A7.llg}'f&lldali el~n6zbt egy J;oVllScript-k6d haJlJ:l ,~, amely a feJha5mj}6 ,,'ebbön. gbt6j&en fut. Amikor a felhaszn.116 ellauint egy 5Z6vegmez6b61, ,,,gy a TfdI btJJen1)'1lt megnyomva h;OgYj;I el aZl, ez a JavaScript·k6<J eU....-.6n:l, hogy a mez6bm ml'g;ldoo lKbt trv~ye&-e. Amennyiben az adll ttvénylden. az ügyf~loldali köd autOfTl;iltikusan megjelenlll u dlen&z6 vedM &rrorMeaa"!I" luLa~g:l.r'l:ik &tékt!.

Awk a bOngtSZ6k azonban. amelrdt nem Iimogarpk az Og)-íéloMb.li pattncsf1jlolw, VlIgy kikapcsol~ bcnnllk ell a 1ehet65tgd, csak ~i ~ alkalrT\al.nak.. Ahogy a nevtb61 kua~ltu.tjuk, a kJszoIg1l6oIdali ellcr6zls1: a ,,'ebluswlgtlón fulÓ

<I You . . .t provide your na.. hogy brinunk '':lIJ..rnil <I ~ SlÖ\'~~, CSlk <Ikkor. <lrTUkor <I fetl~ újnkilldi n art.po:x.~, hogy:lZ i1zene'1 dtflnjön, at ASp.NET

kód hap;~ ,'tgn' - ezért nem IŰruk el" ~

i1~,

mlg nt

kÖ\~6en~.

ok:blruak '·ISSZ:iICSl.loU:!t kell kl'~~Vlie. ami a kor.ibbo osmereIeinknck megfcle16en:lZ oldal ujb6li Lr~ ~yeli a kiszolgil6r6l. Az uj kktrbntl a wrbkiswl· IPJÓI'Urn6rti a bevJn 3datok:u , és meg1lJ..pftja, hogy azok megfddnclL:~" kó>'ctd~
n~'eknck

A l\a$ZnáIt böngéuót61 fiiogetlinül mindOfl.....00rz6 vezérl/l 'i&grehaft kiszolg6tóoklali elen6nést. vagyis III íi9YféIOIdeIi panlocs"ilDklt timoQlltá bOngúz6k tH~ mind ~!f~. mIOd úgyIiWoIdIIi ,.mm IMhHk.. A kiszolg6lóoldlti ltIen&rÚre lIllIft keN SOf lIkkOt il. ha II oldi] -w1iWnt ÚgYIéIOIdaIi eleni5rrist is WgrehIft. lI.t IZ ut6bbil • !eiMn ~ ~ IMllIaIwt kerülni - csel:; kl kel kapclOÖ • bCng&z6bIn • Jw.scnpt·tá\'IooItiIt
Az i1(O-f&llcbh elLrn6n.éS Jrgr6bb rI6n)~ <l1u$wIg.1l6okbli dlrnc'lrz&.sd

s.:<'n'Iben:ll,

hogy <lZDrlfUIi "is5z:Ijd:té:ll: ad" fdl\:l$VlJJórlak, és nem i#nrel V>S$UCSIloUs!" ...-<:bkiSZOIg1IOhOZ. u id6I; aka';l mrg a fl'lh.. ~Jórlak, killön&m lassú kapcsobt ~en

Al (igYIéIOIdaIi lile, ~UII kapcsolatban fnIe!OO$ elolvasni, Form ValidMlOtI ol! !he C!iefK side dm(! ciUet a ht tp, , 1..--. aitepoint. "0141' art ic: le,
font1~v"l idation-el lent -aide

efmen.

A bemenet élvényosségének ollenc5aása programból
Ahogy Uuuk. dég ~ be-~Uil:l.ru:lZ 1'111'1161'26 ,'I'Zérl6k Contr-ol'l\:lVal1date és IrrorMe....... ruJ..jdons:igilil, és I'uk a \-ezfrl6k aulom:niJrusan fIgyelmeztetik a fd/\a5Z~l6t, h3 lO55Z formirumixln adon meg rgy .. <bUJI. De tqp':lln :!;Uapí(rul!~k meg rgy prosroo.nom. hogy" brvul adrU:Jk megfddOdo:-a
A fl'l~16 11t:ol
~I

megadon adatQk;H

~hahlban

feldolsmzuk; az rIŐ«i Ircktkbrn pStUul

egy ~l.áloghitel-It:olkuütomak. illetve egy 1~lömeg1lldex-kisZimít6 progr~mn:.lk adtuk
6k.a. Mmdkét péltUbafl m:iI!l'm:mlca! szimftásokat kellen ",'gezn\lnk ll! ~d:llokon. nem "klunánk ,'égrelt:o~anl. a fdhaszn.1.IÓ ér\'ényt<.'lcn ad,wk~t adna mo:g.
llmel)'cket!~

ru.

Ahhoz.llOSYeg)' progr:omhlO moeg.1lt.pílha5Sllk. hogy II brmenI'! ~'én}~." PAQOa. I.Valid ruJ..;cIorLságot vi1sgá1Iwjuk mo:g, 12 a ruJ..;cJons::i.g csak akkor ad Vi5SZ:I Tnla btCka, h:o:lZ ASP.r-."ET oId,1Qn [:II:IIh:lt6 IwUamctmJ; ClIm6rZ6 ,-emi6.:ul jelli. hogy a I'lolú. t:onw:6 ~=étiO megfddG formirumU adatot tanalmu. ~Us ~':lI1. CSlk Cg)-eUm 1I1Ut'iben., ~"tn)1e1rn adat t:oUlIl3tó, a P_o I.Valid át8te '/lIHIeL

ru.

12. 6ra • A ~..tatok dM16láu l 273
A tula~g hasznlilat:lnak szemlt'hetésére hru.zunk ll:tre egy C5eml:nykezel6t a Bunon veztrl6nk Cli ck ~"*nrthe7. Emlékezzünk vissza: a Clic k ~ménrkezel6 minden alkalommal végrehajtódik. amikor a we~ űrlap elküldt5b'eI vissutcsalol:tst k~deményezQnk. Az eseménykczcl6lt1:reoozásihoz egyszcrtkn k:lUinlSUnk duphin " gombr~" lervező ~zetben, majd irjuk be a következ6 kódo! 3Z esemt'nykezeJ6 ,-iúba,
rf P"qe . hV" l ltl then A be.enet 'rv'nye. ~ •• ul t • . Text _ "In put i a v"ll" . " llhe Le-g81 .ibb a z egy ik "tlat ,hv~nyt .. len re.ulti .Te x t _ ' t nput 1& d»not<lb> v .. litl .

"" "

. . ......
O - ·O

-.

,_ ......
.!l; (~

.'.

.....

--e
"

t _ _ oI _

--" '...... _

,--l

.

"

• •

J

---l ,,~

12.9. ibrI
0'::''''_
'~'_ " """

Az .irlapol érr.'it.) .cIcrz ,.dmoi<lrt>l n)'ujlolltJlJ be

.....
T_ _

0-' 0

-_..... . ....
.

_ -"

.!l i] ~,, -

"

-e_· ..

....

l

-" .

---"''-_..1"'..... 1
-

12.10. jin
Az e/ktll(/«, r7tWp minden "JC%Óje m.mp adalOlIOrlalm=

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 ~dUI6, ha a feJl~16llgy kIIldte el az Urbpot. hogy semnulYefl adatOl r>em tn a nk ~~. Megf~lhelJük, hogy az InpJt I. not v.lid Iltenet a ...'ebokblte!e)&\ jdenik meg. A 12. 10 :libf:l ugya...,a az ASp.!\'ET oldalt mutatja, miut:lin a klhaszn:lil6 beírt \-abmit a n(:o,1nC~. ts újralcillli az GrbpOl.ln az Input b v.lld ütenet ~tó

fu az oldalt egy 01)= ~ tekintjük meg. amely t:limog.l1p. az ügyf&.kbli parana;f.t~t. val65zínGleg r>em kIIldJleljuk el az GrlapOl addig, amig valamilyen értéke! nem inunk a né-vmez&e. Ennek ob az, hogy az ellen6rz6 vezér\6k oIy~n ügyféloldali kódol hozn~k l~ne, amely érvélT)1elen adatok esettn megakadoilyozza a ~tol:liSl. Az ügyféloldali par~naf:liilok;tt timog:ltó ~ le~l nem fultatl1k le a klszolg;1lóoldali eliek e5Cn~,yke-zd6(, amíg a felh:Lsznjl6 &\~yes adatokat nem ad meg. fu azt ~k, hogy nUI~ ke-.'és fen~16 ~enk i\g)'ÍaokbJi par:ilfICIf:lijlolw nem Wnog:;itó ~'d, feimtridhet bentnink, hogy ~ ,-:m-e eg)'iI~ :I Palle.hV.lld tulajdonsig viZsgibi:lira a 8OIf1bCliekesembJyk~. No/;, igen: mlndi,g elko6riUOk az oldal tn-~)~. mielc:itt fell\asznjl6 :liltal megadou adatokkal '~zntnk mG\'deIcket. mefI a !"OISi\zindulatO felhaszn:U6k könny~ megkerillhetik 32 Ogyfl:loklali clleo6rztst. CA 12.9. ~br~ e1k!szit&éhez úgy :limtOltam be az Internet Expk>mt, hogya http,llloc .. lhostdmetllltonhelykmtkezelje, ezén a böngész6

automatikusan megakad:lilyozta aJavaScripl-kOd toüsra akkor is, ha a n(:o,1nCz6 üres \'OIt.)

fu~t,

é

Iehd.~

adon a visszaCS3-

a bOng6z.&ben ing)= a renddkelt:5O.nl<ne bc>c:Won ügyftloklali e!len6nbl pedig tekinuük ktegbzíttmdo:. Püggoetlenillan61, hogy a wd>helyOnkre lJtogatók milyen böngéZ6t ~lnak, mindig \'i~ljuk meg aPaIIe. I1Vllid tulajdonsigot, mie!6tt mGveleteket v~znénk ~ bevin ~datokkal

~ogIah-:&, mindig ha~nk,~ ~16okb1i elk>l6tz:6.1.

Eddig

Requ,rec!F..,ld":didator vezb16t, iller.-e :ilt:oUboIn az ellen6n6 \~%b1ők közös tul~Jdoru:ligai! é5 swlg:tltulsait. MleI&t 1lg)-eImOnket a!Obbi eUen6rz6 \'e7.bi6re forditarulnk, foglaljuk O!i.ue, mit ls t:onuhunlc eddig ezekKila \'ezbi6kr61,
~k ~

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. Ellen6riuük eI6ször:ll. ~ 8)"ftIDek szirrdt. Húuunk C'8Y CompareV:dldalOl" v-elkric5t II Toolbox paletL1r6l II terveKíbe, ts hdyeailk el k6zvetJenül a totalehi l~.n szövegmetó ut"n (Ibd a J2.1l ~br.iÚ.

"'"

........

.~ ~~~ ,~; ~t" ~_~
y .. _ ' -

_-_ .... _---"" ..
.-...

.- '

-_ot_I<

_. 4-"

-

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,

r.lwszroMói eCIItOk ~ "

ftIcWuo'.!

Operato:" tubjdon.ság beállítisához kattintsunk arra a CompareValidator ve:rerl6re, amelyiknek e21 a tulai~pt be S2eretnmk :illítani. így betölt jük a '"ererl6 tutaidon· sigait a Properties ab/akba . Görgessünk n Operator tulajdon.sighoz, és kallintsunk Iii; igy egy lenyíl61ista ;':Ienik meg, amelyben megtaUljuk a lulajdo~g VlIlaszlható értéke.1. A lehetséges ö:sszehawnlltiwk a következ6\<,
o Equal
o

NotEqual

o L.eU'l"han o L.e&l"l'hanEquaL

o GreaterThan o GreaterThanequal

Data'!'y~he<:k

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.

Ha III: Operato:" tUIajdOn~ a D!lta'!'ypeCh..ck értékelIIdjuk., a CornpareVatidalor
csak akior 1!lÜlja éNényesllllk a vilsg6/t melÓbe bei" adatol, lia III: a meghatározott adattlpusu. A O"taTyp<!Check mOv&let akior hasznos. lia mindenképpen agy adott típusú értékel (pt!ldául egy datumol) várunk, de magi!! az értékel nem klv6njli vizsgákti (PéId6Uj JlItfll ~teliük meg, hogy adáium 2005. ianUM l. utári legyen).
A:I. Operator tula;donság mellet! be k('J] :\lIítanunk a Type tutajdonsjgat is. Ez a tulaj-

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. String o Integer
o

~g ha~roZZ3

o D!lte o C1Jrrency

Double

Mivel a g)'ermekek ~ma mezőben tizedesjegy nélküli számé"éket szeretnénk kapni , a Ty.,.. rulai<Jonsigol az rnt~er értékre kell ~Uítanunk. Eddig Idd! meghat1ronuk, hogy milren összeh:.lwnlíliSl: szeretnénk végezni, és hogy a bemenetnek milyen adattIpusúnak ken lennie. Most az kövelkezik, hogy megadjuk aZ! az értéket. amellyel a lm"z6be l" adalOl ÖSSZe kell hasonlítani. Et aZ énl'k lehet egy áUandó, illewe egy !lÚ5ik mez6be hein énék is. Mivel:azt szt'fCUlénk.l>OfW a gyem~kek Wima O vagy annil nag)'Obb Wim I~·en. al összehasonliL-\s abl'jául a O ~11and6t rogjuk h~lni. Ezt (jgy adhat juk nl('g, hogy a CompareValida!Of vczl-rl6 Valu~re tulajdons:lg;ll o·ra ~JJítjuk. Ennek a llllajdons:\gnak a beállítása ul~n csak lInn~; van háltll., hogy beáUílSUk II ControlTOValidate és az ErrorMeu"!le Iulajdoru;;\.gokat. A CQrnpareValidalor ~ totalChildren S2ÖVegmező értl'ké1: fogj., vizsg;llni, ezért a ControL'l"oVal idate tulajdonsigot a totalChi lMen

61~kre kelJ :iJlí!:Ulunk. Az Errodl..... alle rulajdonságban ",hmilyen t::Ijékomló üzenetei célszen'i ffiCgadni, például eZt: The rotal nUl!1ber of children .... n be a ...hol<! n~r gr ...u"r rh .. n o r equal ro Q CA gyermekek száma Ovagy egy ()"nil nagyobb egé5;l WIm kell legyen). Az emJitetllulajdons:1gok bcl.llitása ut.!in a ktpemy6n valami oI~1l.Smit kell látnunk, mint 3 12. 12. :lbrán.

"''''

...

4·.J·,_WoII

_ __ ._ __ ..
....

....

OA

, -...-r-..

.-"

.•
..... _ , . ,..,. . . ..... ---

,

=. ,~"

-

12.12.6tn
II ComP<'ro\ alfdtl/Ot'

goruJo.</todilt rr'"JI4,

IroSYn betill éné/c O
,~' I/.. g)'obh

/eg)""

MQI;I ki i5 pr6b:ilh:l\iuk a ComJXIreValiduor vererl6 maki.ldb&: töltSük be a vaU·
darionControl TestBed.IlSpx oldllt a böngésL6nkbe. Ha a 8y<mnekek száma mez6be ~,...·~n},elen adatOl írunk, a The total number of children .... st be a .. hole number great .... th .. n Or equal to O hiballzenetet kapiuk (lásd a 12.13. :lbril).

),"',

" ..... '.- -

-

,.ri

f __ _

-.
e.

I

y ... _

___ ....-

_

or_
.. - . . .....
~_.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

·,

• O

• 3456 • 45533
A gysllllsbk sz6már. C~ lehet fe1&6 korIétot beéllltarti, Bilonyosség{lal 18k~lelezheljiik például. hogy senkinek sio<:s S().tléltöbb ~e. A fels6 koriét beállitáúhol adjunk még egy CompareValidatox ~zérlót III oldalhoz. állíts" lI1Ilak OP"utor tulajdons.i~t slassThanEqual lkisebb vagy egyenl6) éné«.ra, a v ... lu<>TOC~re tulajdonságot pe~ 50 ...... Ké! ComlW8Validatol' ~rif16 használata Ilety.n azt is megtehetjuk. hogy egyetlen Rer>geValidatO!' vezérk'lt lIkaImazunk. Ezzel a v.zérl6vel ft követktl6 részben ismetketlletilnk meg,

IblYqj<5, hogya felhaszn:i16 iln'setl hagyhatja a gyermekek "úma mez6t, ,.. ~ ha a névmez6t kitölti, <k ebb<- a mel:6be 'lCffiITUl nem ir be. a Cikk Me gOmbr.I klonintbsal elindltoU visszacsalOIh eredmffiyek~pen az ASP.l\'ET oldal a~ Input i8 v,,-Ucl (A bemenet erv61yes) ilr.enelet fogja kiími. Ennek az a unul~8", hogy oak a Requirrol'ieldValidatc:>r veZérlő biZlOllitja, hogy mindenk~ legyen bevitt éné:k egy mez6ben. TdJ;i1 ha azt szeretnénk, hogy a feLltasmil6 feltétlenül megadjon v:dami· Iyen étr!ket 3 gyermekek mma mezl5ben, chIlez a mez6höz 3 Compare\'aLidator meUetl egy RequiredfleLdV:r.lidalor vezM6t is hOZZJ. keU kap<:SOlnunk. (A következő réSZb6I megtudItatjuk, hogyan vizsg;1Lhatunk egyetle" vezl'rl6t több eLlenörz6 vezérLŐ\tel is,)

Kót m0z6 összehasonlftása a CompareValidator V9ZÓrl6 sOIIltsógóvol
Al: előző pr!Jdáb.an a Compan'V:r.lidator vezérlővel a ~... nnekek ~z:j~t egy ;il!andóval (a O-val) hasonlítonuk össze. A felhaszn~1611131 bevitt adatokat azonban nem csak ~Lland6 r!nr!kekkel vethetfilk assze, hanem egy mbik bevitel! me:ző r!rtr!k~l is. A fiógyermekck mma mez&<' belrandó adatn.ak ptltUul kisebbnek kelllenrue az ÖIl'óles gy=k w1m;i~ (Vllgy legal1bbis egyenL6nek az oda befrt 5Úmmal), 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
PékL1nkban egy olyan CompareValkbtor veztrl6re \'an szilkstgOnk, amely biztosítja, hogy a fiúgyermekek ~ma mez6bc' beín tntk kisebb \'liS)' egyenJ6 az W7.<:S gyermek ~ma mez6bc' beírt tnékkeL Kezdjük azzal, hogy a leIVcz6ben egy CompareValXbtor vezéTl6t húzunlc az oldalra a Toolbox paletdtól, ts a 1M1lltChildren szöv"gmez6 mögé helyezZilk. Ez udn illitsuk a CompareValidalor Control'l'OVillldate rubjdon.sigál a .... leChildnn énékre, az Operator rulajdonsiga( LeaaThanEqual-ra, a TYPe-Ol Inteqer-re, az E~rorMe ••"IJe-et a The number of .... 1.. children ""'Bt ba le •• th.,n
or equal to the n\lmho!r of total childnn (A fiúgyermekek wrNrllIk kisebbnek kelJ lennie az &.<ize,; g)'ermek sd.mán:iJ ""g)' egyenlooek azzal) szövegre,

a Cont~ol 'l'oC~re tulajdon5ágot pedig tot.,lChildren-re. MJul:Ín beállítottuk az emlitett öl. tulajdon~goI. a képemy6n olyasmit kelJ hlmunlc. mint a 12.14. ~br.1n_

"' ...

• ·--I-jlol"

.-_ ... _.... _"" ....... _ ...
" o
o

'~.lI_'.&

=,

- - ---0_

.-

12.14. tibni
A 100aIChi/d_,

"""'-

"8y eompare I 'aIilIator

ue:drl6l adt"""
MOS! néailk meg az ASP.l\'ET oldalt a böogé<Uiben Ha n &szes lJ)",nnek w= mez6be a 4 tnéket írjuk, a fiúlJ)'ermekek Wrrul mez6bc'n pedig 8-at adunk meg, a 'I'he nUl!lber of !Mle Children must be leas than or equal to the number of tot.,1 chi 1dren hibaQunet jelenik meg. de akkor is ezt hltjuk. illi a fiúgyennekek stiimak.ént nem egkz számol: (hanem "gy olyan Wket, mint a SCOtt ""gy a 4.5) lrunk be.

Mi történik azonban akkor. ha n Ö5$u~ gyermek ~úma S, a flúgyerrru:kek sÚffill mez6ben pedig a -2 érték szerepel? Kos, hibaüzenet nem jelenik meg. mivel a-2 kisebb, mint 5, IÚdúul a -2 egész wm.
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.... 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.

-o'·

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,~,.

_o.

-

s8tc::: <u" okW/J= "i/,,,"'-' 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).
Amennyiben a IlIltOfldny al.56 & feb6 h:il:1rMtke :lllandó. kél Comp;If~Vahdator helyett ~lhatunk eg)'elJen IbngeV:.llidator veztr16t is. Enndc: a kJ~I:ls;1r.11

a ValldationControl,-,.nBe<! ... pa okblon:lX tletkor mero lŰnik II legalkalma· abbnak, mivel ennek .!:nl'ke bnen1 hatirok (p8diul O ""'150) k~ kell tS/ien

12. 6ra • AlehSm6I6i lIdStOI; I"~II I ZSl
A RangeValidator vezér16 csak akkor használllilt6, ha a tartamátly als6 és lels6 határértéke egyltfánr állandó, Ezért nem használlat~ ezt a wlérl6t a fiú~rrnM;eII; Slámánill eUen6rzáséra, a felsó korlátot uvyanis lll: ÖSSlIIS gyermek száma mez6be berrt érték hat_oua meg.
Adjunk egy RangeVJlkbtor vez~ közvetlen aZ alle szövegmez6

.... __ .... _----_ ..
.. . ' . lj ,II

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 ControlToV"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).
A CompareValidatorhoz m$OnJ6:0n a Range\'alid:uor vezér16nek is van egy Type tulaJdoll5ága. amely meg<ldja. hogy mil}'en adattípu5Únak kelJ lennie a bemen .. mek. Mivel az életkor me:z6ben egy tizedesjegy nélkllli sz:1mot: s~reml'Tlk kapni. állítsuk .. zt a tulajdonsigot Integer-re.
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 rulajdonsigok be;1l1ít1sa ul!in a képem)'Ón ölyasmit kell I:\munk, mim a 12. 17. ;ibr:ln.
Ha mo!u mcgnl'zzük a V.. lldationcontrolTeatBed.lIspX oldalt a bön#5Z6nkben, láth:lliuk, hogy egy h,b;;tllzenet jelenik meg, hacgk nem hagyjuk ilre:sen az életkor mezőt. vagy nern egy O és ISO kö~é es6 5Úmot adunk meg benne.

ml •. • . H
n,

4I6IedMok~""""w
•.•..• '._

f

.~

....

_ .. ""----_...
_- ~

_--_.._-_ . . !I._._-_....__ _"". "'_ -_. .- ..... ...
_._~

__ 4_-

--,

..

,

12.17. Mn
lit" oldal ..

R.o'W-1W/d<JIor lul.ojdollSÓ(!,.afnm. bI!d/J{ldstJ Ulón

A bemenet ellen6rzése a RegularExpressionValidator vezér16 sagftségével
A felh2=dl6 ilt2J megaOoI:l aW.lolmak g)'lIkran egy adou fOlll1álumlJgn kdJ bU-lIliük. Amikor a fdhuvdlólól p8:ti1ul 32 e-mail d~k&jOk . acimet ebben a form.tb:!n kell beírni: egy vagy löbb bnú vagy súm, a kubc jel ( e). wn& egy vagy tObb bnú \';lgy ulm, egy ponl , llletve alegfel!i6 szinhI unorNn~ (com. O<:'I,~, «lu. U$, uk, fr stb.)

A Vdida t ionControlT.nBed . u px oldalon a társadalomb1zwslwi n:imot kérjük , amely 32 EgyesOh ÁII:uooktxrn kileoc sz:imjeg)'b6I ill, és iluliban igy ~k­
ltXX - XlHOODt

Ha bIztositani ~, hogy egy k2taklm.tnc egy bizonyos form.trumot kOvessen, a Regu13rExpra.sIonValidatOf ,~Zérl6I hastnaJhatjuk. Et a ,~egy szab4lyor .wfojc:.tés~el Allapitja mrg. bogy a bemenet íllenkedik--e a megadoa mintán. A Wlbilyos klfefezés egy olyan kankterlAnc. Imely kan luereket és k\llOnlege5 jeleket Illl'!lllmaZ. és egy tlwinOlll mindI hadroz meg. Szerencsére ahhoz. hogy hannJlla$wk a RegularExp!"e5$lonVaJkbtOl' vez!rl6l, nem kelJ tOk~lete5en jAnasnlk lenn(lnk a n:lb::l.. Iyos kifcjezbek nyelVlllruoban.

Szab6lyos kIftjtl6setetllimos ~ lbImalnIk. BlIÍrt fell:ítInW meg4ri ~ • ~ukat. A téma bIlVlbb kilejtbe azonban sajnos meg/IIIIdn6 könyvúnk mittit, IMr csa .mt is, mert I Viwal web oevtioper mmDS bHpkatl szab6/yos kilejelbsel rflf'ldeiezik, amelyektt ""Ikül használhatunk,. ~gullll'ExprtssionVlIidl\of ~, hogy b6rmit il wdn6nk I SZabMYOS kiI.jtzHek

meo """""'"

Ha 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, 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..,.dlllIbiIyosk~tjezft:-gyait'"*'vt i. talhllri;, ihM oivasgathstjuk a k616JSég leveleit.

.1\11

Adjunk ~lút egy Regul~rExpresslonValicblor vez!rl61: az ASI'."U okblunkho~, amdy gondoskodik rota , hogy a dtsadalombinO$íWi mm a megfdel<'l f~tumú legyen Húzzuk:l \'eZff\6I: II Toolbox paletWól a ler.ez&bbkba, & helyezzOk el k6zvetlen(l) III lan.w:n~ mOgötl (Ilsd I 1218. j!JdI).

. . ._4_r-

.......o 4 _ _ •• _ _ _ _ • __ _

'!to_".. __.... __ ... _
_~

_ ...

'!to_ .... _ _ .. _ _ • __

~-

_ . .......
12.11. iIn
Ez udn
~Jlil5Uk

..

--_
tula~gil

:=:....._= :::=:-. -

lU" ASP.NU oldal tg)' Ikgular~ \'al/dmor verIrl4l1on:c1ndds<1 tUdn

a vez&\6 Cont r o11'ovalida t t

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&'
Az emIf1ett kft tu13jdonság megad'isa ulin .mr csak a ValidationExpression tulaj~gOI

kdJ bciJJítani: ez ha(~rozza meg aZ! a szabáJyoskifejczés-mintit, amelyre a bevin ~cbln:lk ilJcszkednie kelL K,mintsunk a Val iclationExp.reasion tulajdonsigm, hogy ~ jobb oIdal~n megjelenjen a három ponto( taJUllnuzó gomb, amelyre kattintVlI megjeleníthel.jOk a Regular ~ÍOI'1 Editor p1~bl3kOl 02, 19. ~) .
....'" ""."~' ".,., 1"1 ,;;

12.19. '*n
A RPgu/ar Exptes</o" Ed/mr

""

II

<-I

párl>i=h/abl<1/tbo" _ ""'8"doIl .mbiiJy><Jd.fr}eU$-"",,1d1l ~iJ
,"tl/aut Mtu "Ir

II Regul~r Expression Editor ~rbeszédablakban szab:1lyos kifejeztseket tal~lunk.

amelyek közOl v~lasZlIt.3(unk, de saj;\t kifejezést is beírhalunk aValidltion Expression (ellen6rl<'.i kifejezés) mezőbe. Mjyel most a tirsadalombiztosítási számot szeretnénk ellen6rizni. götgessiink a U.S. Social Security Number lehel.őséghez. Ennek a lehet:65tgnek a kiválasztása uún a szabáJy06kifejezés-mirua megjelenik a V.. lidation Expressioo mez<'.iben. Kanin~unk az OK gombra, hogy végJegesí!5Ük" RegularExpresskmValidator vezérlő Va l ida t ionExprenion tulajdon$ág:inak be:íUíIásit. Miután ezzel v~geztank. né1.zOk meg a VaUdationControlTeatBed .aspx oklah a börtg6z6ben. Megflgyelhetjiik. hogy ha:l. úoodalombiZ!osítási s;.jmQI nem megfelelő (teh~t nem három s;.jmjegy. kÖl6jel. két sz:;Imjegy. kötőjel. n~8Y száml"8Y) forndban aditJk meg, hibaüzenet jelenik meg. f:n'ényes ú=dalombiztoo>itási sd.m lehet pél,jjul ~ kövctkem 123-45-6789.

Az. ellen6rz6 vezérl6k esztétikai tulajdonságai
Ahogy a Jcck~ben többször IS l~ttuk. amikor a felhaszmll6 tl'\61)llelen ~r1~kct ír oc, a megfelel~ ellt'nőrz6 vezérlő Er rorMesg"lIe rulajdons:lg:\lxm megadott hiooilzenet jelenik meg. Ez az ilzenet minden eddigi péld!iban piros be«l'kkel jelem meg, de 32 ellen6rz6' vezérlo%: esztétikai tulajdonsigait bcillic\'a ezen \o'iltoZ!atharunk.
Az. ellen&z6 vezérlo%: is ugyaruzokkal az e.Zt~;kai tulajdons!igokkal (B<lckColor.
5Qf:I

BorderColor. BorderStyle. font stb) bírnak, mint 3 többi 1;\-"ebes vezérlő. de ezek kieghzOl a Dhplay tulajdon.'i:iggal. ~mely ~ZI. h:lt~roz.za meg, hogy mikbIt jelenJ"ll meg az SHorMeGug" hibaüzenet. A Diaplay rulajdons:1g a kÖ\'etkez6 h1rom ~"~k egyikét kaphatja,

None


Sut le (ez az
Oynamic

al~pé"elmezés)

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
allNk~.

uoldalon, ha!lOf" kerül

A Static fs Dynamic bdJlíWok kÖ7iilti kü\6nbilo(:g W::mléltetés(:re hozzunk Il:tte egy oj ASP mrr oldalt OynamicV.Stuic. aapx nhm, fs hd)'C'zziink. el raju qo"1llis alatt k~ TeXl.I3a:or vcztT1Ol. M.ndk~ :>I',ö\'cgmezO mőgl: Irjuk. a Thia text "weau right after a text box (Ez a 5ZO\'cg köZ'·rt!enül egy SZÖ\.egmeztl mögöu ulálh;u6) iIZŐ\'Cget, A 12.20. :ilrin Ulh:llfUk. hogy:ln keU ekkor ~ie a \'Isu:IJ Web I:le\eloperroek.
n

........ ---- ....... --"
••• , •• __
.~_~

.....

_~

....

...... - .:0--_......--_

1

_ _...._, ..... --

-

12.20. jin
A '"'~ /flt

r"",,,,,,, 'oai'rl6l tl(Jruldo az okkJ/JI()%

1\Ö\'elk.cztl J(:pbkl:nl;ll Tal80x \'C'ztrI6k ts a ~ kö~ húzzunk qo'..e-gy Rcql.i1redF1CId\·alidator ,~z&16I:. (:s állilSUk azok ' ontrolToVOIlldate rubjdons:igit a megfeleki szöo,'rgmelJ('l aronoosiI~ra,:az Enor14I.Ng" tula~8 értl:k.e pedig legyen Thl. de.on.trata~ the dl ffeu'lIcel bo!it~ StatiC "nd Oyn.uo.lc Dltphy (A >!lililrus és dimurukus onegjelmítfs kÖZÖltl killön~ $ZCfTl1(:jlelbe). Ez u1J.n ~lIítsuk ~z c8)'ok RequiredFiddValid:uOf Dhpllily lula~git Oynam.ic-ra,;t máslkl:l pediS hagyjuk. a SUt!c &tl:k.cn

Wgül hú:uunk egy 81.111on

\'C'z~ mmdkok
~brin

!W)I'cgmelJ('l al:I. A k~)'6n ckkor

oIpsmit kelIlá(llunk, monl a 12_21

286 1U. r6sz • FeI1eIZn6I6i lCIItOk ~" fIIdoIO''''''

lZ.2UbnI
flt m.t. ilii R('(jUlrodFk/dll>/idalor ls surepe/

Most néuOk meg a DynMUc:VsStat ic ...... px oIddl a böngész6nkben. M.egfIgyt'lhe!jGk, hogy az a Requill.'dFiddValid:uor vezérl6. amelynek 3 Display tulajdo~t Stat ic ~Mken ~'tUk. a sz.ö,.'egmez6t6l. 11vol jeleníti meg a This Ilppeara rig-ht a ft .. r II t.xt tox szóvegeI. A kimatlldó hely a vererl6 hib;t(1zenel&;ek helye. A oynami c megjodenítési bdllítisű R""luill.'dFíeldV:alídnor ve~r16 :aronOan kooe!lenGl:a 5~'·egme· ~ után jeleníti meg azemlile!l ~lŐ'\.eget. A:l. okblt a böngt:;Wben a 12.22. ~bra mutatja.
~._.

,.,

..

~

""-_ ...
n. _ _ ....... _

12.22. ~
Az ares IenIW CIIIr.:I " RequlnldAddI'alld"lOr..,,-hI6; ,,1tU'I)~.n Dfsp/IJy mJajdonsOg<ll

St,,{k·,.,. állflonult
MOiSI kattintsunk:a webold:alon eJhel}'t'ttll gombtll. anélkGl. hogy Mm!it is ifJúnk

a szövegmez6kbe. Ezzel megjelenítjolk mindkét Requill.'dFieldValid:ator hibaüzenetét. Az eredmfnyt:a 12.23. ~b~n 1~l.h:atÍ"k: aZ:a ReoquiredfieldValidnor vezérió. ame lynek :a Di s"I IlY ruLajdons;\g;il:a Dynlllllic én:ékre AlJjtonuk. dinamikw.an jO/.>br.I CSÚ5l:l:atj:a a Thh appea rs d (,lht a ft e r a t."t bo" uövcgel, hogy helye! csin!iJjon 3 hibaÜtt·
netnek


~'

-

'-e

_ _ . . _ _ tIOO ... _

~-_.~--

. - ..__...

....

lZ.23. 1M:n
Az O/dtJI Q gombra lIall"'1d$ me;"~

vJ.n
• >óize. Bold MI).)

Egyéb ellenórz6 vezérl6k
Az C'I.lben at 6dban 1~1lO':dl négy dlcnőrn'l ".,WW'S mdlen ~ kl'!. clIen05n6 H'~érl6 lo!1ez,k. Az ,,156 a ~om\'JIKblor (~'éru dlcn6rtó). amely _ mIm,. ne\'" iJ mll(lllfil~. l~tÓ nzM<'.I, és amellyel,. bcmul..ltou~' ellcn6m5 \'ezm6lőI ekM:! m6don v,ugiilh:oquk a fdl=zruiJó jl13] bevitt adnak:\!.
Tap;ln!lllatlim szennl lIronbl1n rit.k:1n ""n szOk,;('1I a ClI.'oIom"ahdator no:ren6 ha.nn~l actf1l: a bemUI:.101t négy "czénó :11{3Jiiban <'IegcndOnek bimnyul. Ha ml:g.s a CU.MomValidator k;:'pe:$SégCll'e lenne szilkstgOnk. ol .....lSSUk el a Using Ih" CUSlOm\'alidator Control dmü cikket a http:1 '."pnet . '1I1lY"fromroll ... , . , ar ol. ~')IOJ- _ .... px ClI1loe1l.

amdlyd nem FogblkoZlunk. a Valid:,tjonSumnu.ry. amely klÍna n w.zei oly.ln. a ",'clx!ldalon nerepló ellenónó ve~rló Rrr orM eSSal:le tulaidons:1.8~t. amely (:n-énytelen bemene'le'l jele?.
A ValidatKll1Summary veléri6ról a ht t p , ! / ."."., ... 311ch 001 s _c om! aspnet /

A rnas.ik

ell~ő vezérlő,

contro l_vali da tion9.",....,ry .aep címet! olvashatunk b6vllbben.

Ö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)
A felha~zn:jI6i adatok megfdelő Fom1litum1in:>k bittosí1li"" a bemenelel!en6r-zb. Az ol)"'ln koribbi lechnológl.'ikoon, mint ~1. ASI' b a PHP, a bcmeUel "Il~ nem voü egyw:ríl; a fqleszt6knek Sól~1t kódot kellen lmiuk elTe a cél",_ Az ASP.t\'ET-ben azool:>an a külÖflböző ellenőrz6 ve~rl6knek ~hc:t6en nundez már a múlté_ Ebben a leckében ~gy ilyen \"ezé-rl6vel i.-;rnerkedhcttOnk meg: a RequiredfieldValidator, a CompareVal;dator. a Rangc\'~lidalor b a RegularExpre..sionValidatCJr vezérl6\"eI

Ez a f<'i<'zet aZ utolsó volt azokruk a leckéknek J soclban. amclydcbcn a (cllU5Z.nálói adatok összegyűjtésévd foglalkoztunk. A köve'lkt"ZŐ 6r:1.tóJ kezel .... fi8)'elmünket az adatbál.isokkal \';116 munlcirJ forditjuk. IMir ncm 5:7.entelünk több ór.'it a rdl~1ói ~datok összc~1T~ésének. a könr... 11litrJ.le..-6 részét)!..." SZCft--plő pl'ldik oi'melyike ig~nyd Felhasználói tJevitell, ezért famos, hogy m,,~k a tanultabt.

Kérdezz-felelek
K: Jll)isplay tulajdQ"uis",.k IlÓrom bcál/ítá.Ulle!tct ["olie. Sltlllc és Vpuwric_

v:

.II Sltlllc 6" DJ7ramic bcQllr"rásoJl L"llágo.klk, de ml szrlks<'ge lehet Wirld"ck is a Nolle énéltrc? ~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 rogl~JkOZlunk r6z/ete;en dlbm 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. Brror1ol ... S4lJe a VahdotlonSunulIary-b<: k.·ru) Ola n oJcbion 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<lgg;.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? 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.

'.In

v:

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, Static 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 jeleket 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 ÚThadaIombizl05íl!isi sUinúl kell beimia, ~Iszertl egyszerre igénybe "cnni cgy RegularExpressionValidator 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
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érl6kkel. amelrek biztosítj;1k. hogya fclh:lSzn:\.1ó legalább a levélcímét rnegadj~. és

l. KbzjlS(lnk egy

egys~

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 .uerkcsz16abbJdbcan k~zen kapou $1,:ob:lilyos kif,*zbckO!t IlIJ.ilunk az Ífllemela Icvtkimekhcz ~ 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 .. ntkez611login - 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 14 óq IS. 6tI 16. ln 11. Óf'
l B. ln

Bewzelés az adath.iZ!5Qk 'lÜgÍb1 Adatok li . I az .... dotra·~ AIMtOk megjelenil6se I WIbU ~ Adatrlt tbrlésa, ~ 6s~ Adatlapcso/t lanYI6 mik, vi1as:z1690Ulbok és
J8IöI&~tek

AlIldltUpcsolás is rM$, IldetoUaI ~apcsolat05 témák

13. ÓRA
Bevezetés az adatbázisok világába
• • 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.mmOködbre. lu adJMz,sok. ahogy ebben II fqczcllx"n (jUli fogjuk, olyan szofivcr.dkalmad50k. 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

Az ~<blb;ózisok Jd.,lOkJlt~roIn3k. 6 ""gy mll,'elet ~égrehajúsJt cng..:ddyez,k r.l.ltuk; .lZ ",<bIOk lek"'rUo:l""''t ~"'gy kinyer60:.'t. ~UJlOk ~ur:isJl. adalok .n6<.kl!>Íthit. é5 az a<b,ok I~ , Az. ... Ua,b4zisok:ll a Ieg&)"JkrJbb;.in Adr beszílrt ad.otok km}Clé ;Ó., h;uználjuk. czo!"rl \'zsg:i16dá9.lnk t:il}O-a t'I..&aIban u ... dllak IekoYdc~ IC"IZ-

M,e/6u azonban bes2\lr;i)l. (ris5it6l. ,ÓrIé<t vagy It.-k~ hartllóltn.lnk 'égre t'g}' aWIb;ózi5b:an. d6:>zór tdepilmOnk kdlu ~d:lM.u.-kezeló .sroft"'_'fI, Il'tre kell hoznunk n adatbhls!ljlt. és meg kdlll.~IJn')Znunk a benne lárolt adnak szerkezetL't, 1J)/)CIl az 6,-jj);ln elősZÖr at adatbázis..kcz<!lé\ ~lapfogalmai, li~>;t;i:zzuk. nMjJ n ....g;,;rn"r· kl-dünk a Microsoft SQL Scrv.,,-lQ05 Expl"l-"'SS Edition 11:15....,álat!h."l. amely "SY oIpn illJO'ene5 adat~ZIS·kl'Zclő. amt'lyCl a \'i.wJI ~'eb OeIdopem:l t'8}iln ldepill'tlilnk aZ I 6dban.

Al. tdltbirtriat löbbflllallippen illi6rhet;;*. dll az ölbilis~ ~ bato$~ vNrrilyen ~1. .,1eIyeI ao;bItMnrial oomaln "Ire, I.tvv adat<*1t 4metiri. el, WhatIri: bt, loröIlttilnk v.gy lris$fltletiri.. VllS(I6Iód6suok szempontjából az a legfontosabb. hOQ'1 az ASP.NEl wffilldalllkról i$ elértltllünlc Idatb6D~8t. Ez azt IIIlen1i.1logy Iftreholhatunk.gy olyan ASP.NET oldalt, ametv képes egy adatbázisbóllldaloltll kiolvlSlll, 'I megJeleníleru IlObI az oldalláto~tóinak. Ezt sznos 1é1el'Ó v.ebhe~en ~tiI*: pékIíuI __ or az Amazatl.com v.ebhe!'Pn kertsiinlc.. 8 kefllS60ldal egy adatbM.t.óI olvassa kl • kertsáre iII0edCí rlIkordDllI, .. ,wlyetel ..Mf\ii I IÍI azlNdnMnyoklabL A kÖV'elkel6 ""*'v lackében ali ~p., hOgYIIl Jelllódetiri. mtg adatokat ew IdatMmból az ASP.NEl oldalakon.
Mlutin megismertük ~t ad:lll:x!zisok kgfontO<:klhh jellenu6it. figyelmünk ...'t uoknak at ul.:isltásoknak al ~l;t.k~l":I fordítjuk. amelyekkel :lduoka' ny",h... 'tOnk k,. :lZunulunk be. r""""tllelünk ''''gy IÓfÓUlClilnk lIZ adatbizisokban. AZ CTre ~wIg:1ló nydv ~ 'ilmcllm.'rI Qlwry' lOltga''Rt'(!AAlklurilt 1ekérdc7.6f1rch'l. riMd.,n az SQL :lmt'ltrd ~ a kő­ \"elke7.Ó ft'jezetben fogialkcnunk

Ezt kÖ':et6en az aduh\ZlSOk ad:uainak

el~ ......

és 1TlL'gjelenítésére

haszn~hat6

ASP.NEr-\'ezM6Ickel ismerkt'dűnk meg. A 14. fejezetben p;ildául az ASP.NEr D,naSource \'ez&i6ít nuuat)uk he. amelyek oIyJn webes \'ezérlók. amelyekkel adatol.::1t k&dezheWnk le, szúm:llunk be, fli$íthentnk \'agy törolhel1lnk, ~ 15. b 16. feje~ lilni fogjuk, mtlyen könnyű ad.:llok:n megjdeníteni b m6dosiuni a Grid"..... é:s l)etai(..V.ew \"eZérI61C 'W S<.'gÍtségl:'"\·cl, a 17. lecke t"'májit pedig a len}116 listák. vi13m6gombok é:s jelöl6négyzetek adatb:1zi,;b61 stiif1l1u6 adatokkal \'a16 feltöltése adja. (A II. fejezet:b6I emlékezhetünk rá, hogya DropDownllit. RadioBunon b CheckBox wzér\6k a Texiliox \'cl'Í'rl6höz 1l.1.!iOflloon fel~l6i adatok összcg)'újtl:s&c ~16 \'czM6k)

A jelenleg használatos adatbázisrendszerek
Rengeteg kereskedelmi é:s ingyenes atbtb:1zlsrendszer létezik, amelyek a legkUlÖflf"'lébb platformokon képesek futni. A legnépszerűbb adalh\zis..keze\6k a kÖ\'l1.kez6k,
.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 •

Ezeket a termékeket a nagy mennyis(,gú atbual dolgozó cégt'knck kl.,;zítik, és a magas szintű swlg::i.luthnak bizony megkérik:ll :lcit _ tö/.lb tizezezer dolL1n. Szerencsére nekünk. :lmalÓ!" fejleszt6knek, sz:,lxodon hozzáft!rhet6 ad.:llbázi5rt:rldsl.erek i~:I rendelkeresunkre ~lInak. Ezek sinCieflek hfpn az imponáló swlg:\ltatáwkn:lk. de biwn)"os k~gek, amelyek ~ k..... 'Slcedelmi rendszerekben !lle8'annak. hiinyoznak bel6lük, é:s a tcljesítrn(,nyilk is némileg elmarad awkl-l.ól. Miv.,) :tzonlun mi csak ami fogjuk használni az adatbáruolcu, hogy kipr6h1liuk az ASP.I\'ET oIdalaink:n. tudísuk b66égesen elegend6 ~ a $Z:lmunk,..~. A legnl-pszenThb ingyen~... adatlxl~keze-lók az alábbiak:

"kj.

• • •

PosIgreSQL- http://www. po~ t\lr e"ql. ~oml ,\I,)óQL - http://'''''''' . l!IjIoql . ~oml Microsoft SQL ~:nlCr.!OO5 E..'l'ress 1-:t/lfjon (MSDf:)http://www.~lcr06oft.e~/.ql/expre8.1

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. vererlöt ugy adhatunk egy ASP.NET oId3Iho~, 1>OgY 3 ve~frlöt egyszenlen az oldltlr~ huzzuk 3 Too/box paleWIr6I, ahogy:1 löbbi webe" vezl:rl6 e5t.'1I'Ix'1l is lL1.tilk. HlIzzunk telúl most egy l«.'quirt.'(]Ficld\~lidl(or vezl.'rl& n oldd", a terve~l5ben , és helye~~ük el jobbra al elsCi TexlBQx vezhl6t61
ReqlliredField\'~1idalor

,.

_ .. __ .. J

.. ..--"

_

"""*,,, 1

""" -

0-,

--, :-_-::---

12.3. jin
Az ASP.i'iET'oklal
ti

Rt'q"Irr.-dF1eldlnUdlllOl'
..UI ..

~Ó houtJadAsa

Z68 IILrMZ • FeIJam6IÓi adItOIr. "'''tgyIlpbl nltklollgo ....
Az ellen6ml 'o'1Uér\öket a Toolbo~ paletta Validation csoportjában találjlJ;..

Ha 3 vezérl6t elhelyeztOk az oldalon, ~ lervez6 ablaIcinak Ogy kell kinéznie. nUIIl a [2.3. lbcill. lU, 3 könyvbell le....~ képen nem !:llJjzik. 3 RequiredFieldVal1elator w.övell piros betűkkel jelellik meg.

Az elle06m1 vezár16 által vizsgá~ vezérl6 meghatáromsa
Az ellen6rz6 ,·el.érl6k egy adott lx'm<'''''Jj 't'zérló elle06rz(,sére swlgil[\;lk. 8emeneli vcZ{'fl6 31~1l ~wkat ól webes vedrl6kct (pl'lillul a TcxtBox ,-.,zenő() <'njilk, amelyekbe

a fclhaswill6nak valamilyen énl'ket kell beirni.
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.
Jegyezzük meg, hog)' az ASI'.NET oldahlkhoz aclolt ellen6rz6 vezérl6k mindegyike csupin "ID'-'llen bemeoc'ti veZl':rl6t viz.sg:lJ. A val1clationControlTeatBed.allpx oldalon Idrom kÖlelez6 mez/'ink (n~, (:letkor (:s társadalombinosiLÍ$; sz1m) \':In, ezén három R~'<IuiredfieldValidator vezérlőre lew. szl1k:;égOnk.

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&

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[!O'

".,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:l1tuzt;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."
Ilu <ll: ~o&:Ii,~
(.;qo,troITO I al....,.

'COMrtJ(ro"._' _ff"! ot 1t_.rtd""ltNnd_'1

Az érvéflytelen bemenet esetén megjelenftend6 hibaüzenet meghatározása

,"IaJtkm.<4tlllt 10«)....'11
dlJifjlllr bio, 1rIbar1zv,_ Itapm,1r

A ,nt rolT<: Validau luLajdonslig ml"lJeu rrunden ellen6ro'l \-ezérl6nek van egy ErrorJl" ..age tul3~g:o ill, 12.a u ... kterbrv; btékCl ml3jdonsjg talUlm:lZZll .azt a QŐ\'~, amelye! meg 5zeretnmk ;elerutem, ha ~ felh.. ~16 ihaj nk'g.:ldolt .. Wt nem felel meg.a kÖ\'CIellTlo!1l)'cknek A s$, ....gnek d:'1$zcnl egy otpn rö"id l.... irJsnak lennie, am,eJy dm:l!l}'::I~t7.:a, hogy mi ~ problfma ,. he"u adattal, 6; hogy mIL kelllt'f1ru a hit,.. kiI3\'ft;lsa tTdcktben
A Re<lutredFieldVa!Jdator esctfben I*kliul az Iirto,JI"ug .. lubjdons:igol 3 -Vala 112. x _z6ben- ~-~ ~ ~Uitam, ah..,l:lZ .)(' allI\;l.k a mezőoek a nc.'\'e. arnd)·.... kl'xdez6 kJlóll<em Az EI ror_ ..... o;!" M(,k .. kbll g)'::Ikr:.m adn:.Jk meg eg)' CSlll3go1lS: D ",'ebhd~"ftl UthaLJuk, hogy a kÖlclez6 UlbpmeJ:6ket csillagok jel~Ik
Milyen 'rtéket ""'9 kell adnia

A Valldat.ionConuolTeatlled,lIBpx oldalon elhel}'czt.'11 RequiredFieldValidalOl" \"ererl6 ErrorMeasaO;!It lubjdonslgáL :'lIlitsuk 3 YOU lIIU.t provide your name (.\lcg kell adnia ~ nc.'\·tI) 5ZÖ\~_ Miután ezt belnuk, a RequlredF"odd\'alicbIOl" fclmua ~ ler zl5ben az (ji ErrorMea.e\lle-áTtm .'liltozik (Usd a 12_6. ;Ü)r;it)_ ....

.......

_... _-_ ... .-2
>ol il ... .itA.

~ _ ..:...

--~

,

~

r__ r
r_ ... .-

"

_~_,..

_..__
. ,

~

.,

.. ... .. ...."" ... ._..
~-~
'

'''--'' , ,; ':" ~::!'"~.• ~..:~

• ...;,:~ '~ _.

,

- --.-. .- .-,-_'.-....
.~'" ,

12.6. 6bn
,~..w

tlluquirot!FieldlallMI()('
Erro..-.l/<'SSIlg<! IUk'jJrm-

«Igá'Ull! bOOlIi/1Isa "uh,

Az ASP,NEr oldal ~pr6b~és.
MOSI. hogy l1>egadruk "- Control1'ovalidate 6; ErrOOIl'U"II" lulajdons:igoka(, ~ R<..quiredfidd\'alklalor flg)'ellneVeli a felh:u;wál6t. ha elfelejt VlIlamilyen értékel beírni 3 naJlll! mez6be. Ennek k/pr6I»l~ooz löI~k be a VlJlid8tlonControlTestBed.lJspx oldalI ~ IXlongésWnkbc A weboldalt az első belölléskor a 12,7. ~bra mUlatja. Megfigyel· hetj11k, 1K:>gY az oldal böngész6lx.-n l:'ilhaló k(1JC Jl61úlcg dll'r "- lervez60ffi Illoa6l , 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

mdleu. tb ~ a k~ nem .....cIelk«6 bOngbl6nk v3ll (V2gy Itik:l.pC5OIruk brnne az O8}í&ldah paranco;f~ilok Wnogatásil), :I goniln VaI6 k3Ul1l1ással elkükJrUk az tIrbpot. de :I \.jss....csncti5kor ugy:..ntígy mql/denik az cmIÍIrU. .SWVqj :I ~1,(i
"",I~

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.

:

,

-

,.. - .......

_A...._~...em~1
a lbu must prot.kk )OUr na .... m5r.q
~,iJJ

lU. "

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..

ti1gg6en? NM az!rt, men. az eUen6rW ,,'ebes \'Czérl6k ~ '''''-oorzéstalkalnuznak az0kb3n a~­ ben, amelyek támogatják ezt a ~g:1IIllW!.
Mibt VISelkedik másk!pp a ltiboaüZenet a haszrljlt
~/II

AZ Ogyf~1oIcb1l ellen6rz!sl; egy ]aV2Script-k6d ha~p. v~. amely a fell\aSZI'llló web/)ön. ~n fuI. Amikor a fel~16 e!kaninl egy szövegmez6b61, vagy a TM! billenl)'lll megnyomV2 ll:lgyp el azt, ez aJa\'aScrtpt--kód elIen6rzi., l-.ogy a meZ15bm meg:.WOn adaI ~yeH, Amenn}iben az adat ~....61),(Ien.:Il IIgyf&kbH kód aUlQm2tikus:m I/Icsje lenili az eJlero6i1JG vedrl6 ErTOrHesaage rubjdorlRg:1nak &ttkt1.
AZOk a ~ awnban, :omeIyd< nem t:1moga~k az l18}í~klIdali parancsf~t, V2gy kikapC5Olt.ik bennük ezt a Iehd~ csak ~i eIIenÓnéSI alkalmaz: nak. Ahogy:l nev!b61 kitili.lhaljuk., a 1uswIg:1l6okbli ellen6rzésl: a ~16n futó

<I You . . .t provide your na.. hogy brinunk '':lIJ..rnil <I ~ SlÖ\'~~, CSlk <Ikkor. <lrTUkor <I fetl~ újnkilldi n art.po:x.~, hogy:lZ i1zene'1 dtflnjön, at ASp.NET

kód hap;~ ,'tgn' - ezért nem IŰruk el" ~

i1~,

mlg nt

kÖ\~6en~.

ok:blruak '·ISSZ:iICSl.loU:!t kell kl'~~Vlie. ami a kor.ibbo osmereIeinknck megfcle16en:lZ oldal ujb6li Lr~ ~yeli a kiszolgil6r6l. Az uj kktrbntl a wrbkiswl· IPJÓI'Urn6rti a bevJn 3datok:u , és meg1lJ..pftja, hogy azok megfddnclL:~" kó>'ctd~
n~'eknck

A l\a$ZnáIt böngéuót61 fiiogetlinül mindOfl.....00rz6 vezérl/l 'i&grehaft kiszolg6tóoklali elen6nést. vagyis III íi9YféIOIdeIi panlocs"ilDklt timoQlltá bOngúz6k tH~ mind ~!f~. mIOd úgyIiWoIdIIi ,.mm IMhHk.. A kiszolg6lóoldlti ltIen&rÚre lIllIft keN SOf lIkkOt il. ha II oldi] -w1iWnt ÚgYIéIOIdaIi eleni5rrist is WgrehIft. lI.t IZ ut6bbil • !eiMn ~ ~ IMllIaIwt kerülni - csel:; kl kel kapclOÖ • bCng&z6bIn • Jw.scnpt·tá\'IooItiIt
Az i1(O-f&llcbh elLrn6n.éS Jrgr6bb rI6n)~ <l1u$wIg.1l6okbli dlrnc'lrz&.sd

s.:<'n'Iben:ll,

hogy <lZDrlfUIi "is5z:Ijd:té:ll: ad" fdl\:l$VlJJórlak, és nem i#nrel V>S$UCSIloUs!" ...-<:bkiSZOIg1IOhOZ. u id6I; aka';l mrg a fl'lh.. ~Jórlak, killön&m lassú kapcsobt ~en

Al (igYIéIOIdaIi lile, ~UII kapcsolatban fnIe!OO$ elolvasni, Form ValidMlOtI ol! !he C!iefK side dm(! ciUet a ht tp, , 1..--. aitepoint. "0141' art ic: le,
font1~v"l idation-el lent -aide

efmen.

A bemenet élvényosségének ollenc5aása programból
Ahogy Uuuk. dég ~ be-~Uil:l.ru:lZ 1'111'1161'26 ,'I'Zérl6k Contr-ol'l\:lVal1date és IrrorMe....... ruJ..jdons:igilil, és I'uk a \-ezfrl6k aulom:niJrusan fIgyelmeztetik a fd/\a5Z~l6t, h3 lO55Z formirumixln adon meg rgy .. <bUJI. De tqp':lln :!;Uapí(rul!~k meg rgy prosroo.nom. hogy" brvul adrU:Jk megfddOdo:-a
A fl'l~16 11t:ol
~I

megadon adatQk;H

~hahlban

feldolsmzuk; az rIŐ«i Ircktkbrn pStUul

egy ~l.áloghitel-It:olkuütomak. illetve egy 1~lömeg1lldex-kisZimít6 progr~mn:.lk adtuk
6k.a. Mmdkét péltUbafl m:iI!l'm:mlca! szimftásokat kellen ",'gezn\lnk ll! ~d:llokon. nem "klunánk ,'égrelt:o~anl. a fdhaszn.1.IÓ ér\'ényt<.'lcn ad,wk~t adna mo:g.
llmel)'cket!~

ru.

Ahhoz.llOSYeg)' progr:omhlO moeg.1lt.pílha5Sllk. hogy II brmenI'! ~'én}~." PAQOa. I.Valid ruJ..;cIorLságot vi1sgá1Iwjuk mo:g, 12 a ruJ..;cJons::i.g csak akkor ad Vi5SZ:I Tnla btCka, h:o:lZ ASP.r-."ET oId,1Qn [:II:IIh:lt6 IwUamctmJ; ClIm6rZ6 ,-emi6.:ul jelli. hogy a I'lolú. t:onw:6 ~=étiO megfddG formirumU adatot tanalmu. ~Us ~':lI1. CSlk Cg)-eUm 1I1Ut'iben., ~"tn)1e1rn adat t:oUlIl3tó, a P_o I.Valid át8te '/lIHIeL

ru.

12. 618 • A WMm6l6i IIiItot.IIen6rzMI 213
A ru lajdondg használat1ruk szeml"'lletésére hozzunk l<':Ire egy e~m~nykezd61 a Bunon vewl6nk Click CSCfI*nyl:hez. Eml"'kezriink VissZ3: a Click eseménykezel6 mmde n alkalommalvégreIla~6dik , amikor a w~ űrlap elkOJdésl:ve! vi55Z3CS;uoI1st ke:zdeményezOnk. Az esemfnyke7.el6létrehoús:1hoz egyszeTŰen kanmtl;unk duplln :l gombr:l a 1ervez6 nhetben. majd írjuk be a következ6 kódot az eseml-nykezel6
~~z;íba :

I

:t ""lIe _hV" l1 <l the n • " bemenet 'rvénye.
n. s ults .T ~ x t

" I n put iB vaUcI .

the
Lellal~

,,;:; egyi k "dH érvény t e l en
"Input 1.
<b~not<lb~

r • • u l t •• 1'ex t •

VIllld .. •

""' " _........ _ .. ...... . ..
)

-..,~

........ '->- ...
O -· O

...

~ #l(~ "

- ... 0;;;.. .. _

t ... _

"

..

,, _

12.9. MInI
A : ,' rlapot h!~')T,*,'

....

0 -- ,.)
~

-..... _,--..... ~ ...

"daro/dltl/ ,,)..:iftotráJt be

...

_-, .... ~~ ~,, -

- e ' .; •

J

. ~-

-".... ..T... _ " _

liii.... 1

12.10. Mo
AJ:- elkillddll

-

arlop mt"deu me%6je """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 ~dUI6, ha a feJl~16llgy kIIldte el az Urbpot. hogy semnulYefl adatOl r>em tn a nk ~~. Megf~lhelJük, hogy az InpJt I. not v.lid Iltenet a ...'ebokblte!e)&\ jdenik meg. A 12. 10 :libf:l ugya...,a az ASp.!\'ET oldalt mutatja, miut:lin a klhaszn:lil6 beírt \-abmit a n(:o,1nC~. ts újralcillli az GrbpOl.ln az Input b v.lld ütenet ~tó

fu az oldalt egy 01)= ~ tekintjük meg. amely t:limog.l1p. az ügyf&.kbli parana;f.t~t. val65zínGleg r>em kIIldJleljuk el az GrlapOl addig, amig valamilyen értéke! nem inunk a né-vmez&e. Ennek ob az, hogy az ellen6rz6 vezér\6k oIy~n ügyféloldali kódol hozn~k l~ne, amely érvélT)1elen adatok esettn megakadoilyozza a ~tol:liSl. Az ügyféloldali par~naf:liilok;tt timog:ltó ~ le~l nem fultatl1k le a klszolg;1lóoldali eliek e5Cn~,yke-zd6(, amíg a felh:Lsznjl6 &\~yes adatokat nem ad meg. fu azt ~k, hogy nUI~ ke-.'és fen~16 ~enk i\g)'ÍaokbJi par:ilfICIf:lijlolw nem Wnog:;itó ~'d, feimtridhet bentnink, hogy ~ ,-:m-e eg)'iI~ :I Palle.hV.lld tulajdonsig viZsgibi:lira a 8OIf1bCliekesembJyk~. No/;, igen: mlndi,g elko6riUOk az oldal tn-~)~. mielc:itt fell\asznjl6 :liltal megadou adatokkal '~zntnk mG\'deIcket. mefI a !"OISi\zindulatO felhaszn:U6k könny~ megkerillhetik 32 Ogyfl:loklali clleo6rztst. CA 12.9. ~br~ e1k!szit&éhez úgy :limtOltam be az Internet Expk>mt, hogya http,llloc .. lhostdmetllltonhelykmtkezelje, ezén a böngész6

automatikusan megakad:lilyozta aJavaScripl-kOd toüsra akkor is, ha a n(:o,1nCz6 üres \'OIt.)

fu~t,

é

Iehd.~

adon a visszaCS3-

a bOng6z.&ben ing)= a renddkelt:5O.nl<ne bc>c:Won ügyftloklali e!len6nbl pedig tekinuük ktegbzíttmdo:. Püggoetlenillan61, hogy a wd>helyOnkre lJtogatók milyen böngéZ6t ~lnak, mindig \'i~ljuk meg aPaIIe. I1Vllid tulajdonsigot, mie!6tt mGveleteket v~znénk ~ bevin ~datokkal

~ogIah-:&, mindig ha~nk,~ ~16okb1i elk>l6tz:6.1.

Eddig

Requ,rec!F..,ld":didator vezb16t, iller.-e :ilt:oUboIn az ellen6n6 \~%b1ők közös tul~Jdoru:ligai! é5 swlg:tltulsait. MleI&t 1lg)-eImOnket a!Obbi eUen6rz6 \'e7.bi6re forditarulnk, foglaljuk O!i.ue, mit ls t:onuhunlc eddig ezekKila \'ezbi6kr61,
~k ~

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. Ellen6riuük eI6ször:ll. ~ 8)"ftIDek szirrdt. Húuunk C'8Y CompareV:dldalOl" v-elkric5t II Toolbox paletL1r6l II terveKíbe, ts hdyeailk el k6zvetJenül a totalehi l~.n szövegmetó ut"n (Ibd a J2.1l ~br.iÚ.

"'"

........

.~ ~~~ ,~; ~t" ~_~
y .. _ ' -

_-_ .... _---"" ..
.-...

.- '

-_ot_I<

_. 4-"

-

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,

r.lwszroMói eCIItOk ~ "

ftIcWuo'.!

Operato:" tubjdon.ság beállítisához kattintsunk arra a CompareValidator ve:rerl6re, amelyiknek e21 a tulai~pt be S2eretnmk :illítani. így betölt jük a '"ererl6 tutaidon· sigait a Properties ab/akba . Görgessünk n Operator tulajdon.sighoz, és kallintsunk Iii; igy egy lenyíl61ista ;':Ienik meg, amelyben megtaUljuk a lulajdo~g VlIlaszlható értéke.1. A lehetséges ö:sszehawnlltiwk a következ6\<,
o Equal
o

NotEqual

o L.eU'l"han o L.e&l"l'hanEquaL

o GreaterThan o GreaterThanequal

Data'!'y~he<:k

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.

Ha III: Operato:" tUIajdOn~ a D!lta'!'ypeCh..ck értékelIIdjuk., a CornpareVatidalor
csak akior 1!lÜlja éNényesllllk a vilsg6/t melÓbe bei" adatol, lia III: a meghatározott adattlpusu. A O"taTyp<!Check mOv&let akior hasznos. lia mindenképpen agy adott típusú értékel (pt!ldául egy datumol) várunk, de magi!! az értékel nem klv6njli vizsgákti (PéId6Uj JlItfll ~teliük meg, hogy adáium 2005. ianUM l. utári legyen).
A:I. Operator tula;donság mellet! be k('J] :\lIítanunk a Type tutajdonsjgat is. Ez a tulaj-

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. String o Integer
o

~g ha~roZZ3

o D!lte o C1Jrrency

Double

Mivel a g)'ermekek ~ma mezőben tizedesjegy nélküli számé"éket szeretnénk kapni , a Ty.,.. rulai<Jonsigol az rnt~er értékre kell ~Uítanunk. Eddig Idd! meghat1ronuk, hogy milren összeh:.lwnlíliSl: szeretnénk végezni, és hogy a bemenetnek milyen adattIpusúnak ken lennie. Most az kövelkezik, hogy megadjuk aZ! az értéket. amellyel a lm"z6be l" adalOl ÖSSZe kell hasonlítani. Et aZ énl'k lehet egy áUandó, illewe egy !lÚ5ik mez6be hein énék is. Mivel:azt szt'fCUlénk.l>OfW a gyem~kek Wima O vagy annil nag)'Obb Wim I~·en. al összehasonliL-\s abl'jául a O ~11and6t rogjuk h~lni. Ezt (jgy adhat juk nl('g, hogy a CompareValida!Of vczl-rl6 Valu~re tulajdons:lg;ll o·ra ~JJítjuk. Ennek a llllajdons:\gnak a beállítása ul~n csak lInn~; van háltll., hogy beáUílSUk II ControlTOValidate és az ErrorMeu"!le Iulajdoru;;\.gokat. A CQrnpareValidalor ~ totalChildren S2ÖVegmező értl'ké1: fogj., vizsg;llni, ezért a ControL'l"oVal idate tulajdonsigot a totalChi lMen

kell illitanunk. Al. EnorHes""ge tuLajdons;1.gban ....!amilyen Illjékonató (Il.enetet célszenJ megadni, pfldiul ezt: The total numbo!r o f children ..... st. be a wole nwober greater than or equal to O(A gyermekek ~n'" Ovagy egy O-nál 1lag}'Qbb eg6;z ~m kcll k1O'en), Az cmlilelllul:ijdons'igok bc:illil1sa ullln a képem}'6n 'lIlami oIya5ffiil kell litnunk, mim II 12.12. itrin .

6t~kre

....... _... __ ._ ...
.... ' .•U'

__.-

,,'

--•

,

-,-..

- . =_~~

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 ValldationControlTestBed.!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) .
l

"'
"

. _-_ ...
'_.'~' '''

..

i>

f __ _

-

"l1l~~~-

-

:-e ,


,. 0-·
T...

-"I I .,.,....

-_........... -

_ol_-I,. ""''''''_''__ 100._
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

·,

• O

• 3456 • 45533
A gysllllsbk sz6már. C~ lehet fe1&6 korIétot beéllltarti, Bilonyosség{lal 18k~lelezheljiik például. hogy senkinek sio<:s S().tléltöbb ~e. A fels6 koriét beállitáúhol adjunk még egy CompareValidatox ~zérlót III oldalhoz. állíts" lI1Ilak OP"utor tulajdons.i~t slassThanEqual lkisebb vagy egyenl6) éné«.ra, a v ... lu<>TOC~re tulajdonságot pe~ 50 ...... Ké! ComlW8Validatol' ~rif16 használata Ilety.n azt is megtehetjuk. hogy egyetlen Rer>geValidatO!' vezérk'lt lIkaImazunk. Ezzel a v.zérl6vel ft követktl6 részben ismetketlletilnk meg,

IblYqj<5, hogya felhaszn:i16 iln'setl hagyhatja a gyermekek "úma mez6t, ,.. ~ ha a névmez6t kitölti, <k ebb<- a mel:6be 'lCffiITUl nem ir be. a Cikk Me gOmbr.I klonintbsal elindltoU visszacsalOIh eredmffiyek~pen az ASP.l\'ET oldal a~ Input i8 v,,-Ucl (A bemenet erv61yes) ilr.enelet fogja kiími. Ennek az a unul~8", hogy oak a Requirrol'ieldValidatc:>r veZérlő biZlOllitja, hogy mindenk~ legyen bevitt éné:k egy mez6ben. TdJ;i1 ha azt szeretnénk, hogy a feLltasmil6 feltétlenül megadjon v:dami· Iyen étr!ket 3 gyermekek mma mezl5ben, chIlez a mez6höz 3 Compare\'aLidator meUetl egy RequiredfleLdV:r.lidalor vezM6t is hOZZJ. keU kap<:SOlnunk. (A következő réSZb6I megtudItatjuk, hogyan vizsg;1Lhatunk egyetle" vezl'rl6t több eLlenörz6 vezérLŐ\tel is,)

Kót m0z6 összehasonlftása a CompareValidator V9ZÓrl6 sOIIltsógóvol
Al: előző pr!Jdáb.an a Compan'V:r.lidator vezérlővel a ~... nnekek ~z:j~t egy ;il!andóval (a O-val) hasonlítonuk össze. A felhaszn~1611131 bevitt adatokat azonban nem csak ~Lland6 r!nr!kekkel vethetfilk assze, hanem egy mbik bevitel! me:ző r!rtr!k~l is. A fiógyermekck mma mez&<' belrandó adatn.ak ptltUul kisebbnek kelllenrue az ÖIl'óles gy=k w1m;i~ (Vllgy legal1bbis egyenL6nek az oda befrt 5Úmmal), 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

Példinkban egy olyan CompareValidator vez&l6re van s1';!lkségilnk. amely biztosítja, hogya f1úg)'ermekek ,,~tima mez&>e beirt érték kÍ5ebb vagy eg)=16 az összes g)~k szlima mez6be beirt értékkeL Kezdjük azzal, hogy a tervez6ben egy CompareValidator vezérl6t húzunk az oldalra a Toolbox paJet~r6I. és a mall!lChildren szövegmez6 mögé helyeniik. Ez utin tillí\.')Uk a CompareValidator Cont r ol TOvalJdate rula~gát a _leChi ld.en értékre. az Operator rulajdomJ.go( r.eaaThanEquaI-ra. a Type-ol lnteqer- re. az ErrorMesS951'e-et a The nUlllber of male chJ Idren DNst be less than or equal to tha number of total children (A fiugyermekek sz:;írru\nak kisebbnek kell lennie az összes g)·ermek 5Zám:ínáJ ~'agy egyenlőnek azzal) szövegre. a Contro l ToCanpa.e rulajdons<'igOl pedig totalChildren-re Miután bdlJitouuk az emIilett Ölllllajdonsigot. a képernyőn olyasmit kelj l1tnunk, mint a 12.14. ~Imn .

....... -- ...
•. .J . .J IH'

_-_ _-....
t .. _ _ _ _

...,-.-' """_ .

'I't. _ __~_ ... _ _ _ ..... .. _
"

•.

J

..............

- -- -- -. - _ .. c

o

o.

,

• ,

• • ••

12.14. 6bnt

.ti /OltllCltlldre"

"lY Compt>rel alldlllOf" tedrl6I <'dlu ...

Mo:;t

néUílk meg az ASP.t\'ET oldali a böngésl6ben. Ha az öss>:es gyermek sdrru mezőbe a 4 Méket iljuk. a fiúgyermekek sz:;írru mez6ben pedig 8-al adunk meg, a The nwnber o f NIe children must be less than or equal to t he number of tot al children hibaQzenet jelenik meg, de akkor is ezt 11tjuk, ha a f1úgyermekek sz:lmaként nem egbz SÚmOI (hanem egy olyan Méket, minI a scot t VlIgy a '.5) irunk be.

MI tört61ik azonban akkor, ha az ~ gyermek $z:lm;! 5, a fiúgyermekek mm;! mezőben pedig a · 2 Mtk nerepel1l\os, hibaüzenet nem jelenik meg, mivel a-2 kisebb, minI 5, r.iadhul a -2 esész sdm.
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.... 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.

-o'·

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,~,.

_o.

-

s8tc::: <u" okW/J= "i/,,,"'-' 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).
Amennyiben a IlIltOfldny al.56 & feb6 h:il:1rMtke :lllandó. kél Comp;If~Vahdator helyett ~lhatunk eg)'elJen IbngeV:.llidator veztr16t is. Enndc: a kJ~I:ls;1r.11

a ValldationControl,-,.nBe<! ... pa okblon:lX tletkor mero lŰnik II legalkalma· abbnak, mivel ennek .!:nl'ke bnen1 hatirok (p8diul O ""'150) k~ kell tS/ien

12. 6nI • A feIhaZMI6i ~ Ihn&r'
A RangeValidator vezérl6 cHI; akkor hasmhtó, ha a tartomány als6 és fels6 hatáfénéke egyllfém állandó. Ezén oom hasznéllatjllk ezt a vezérlót a fi6gyermebk &n\mának ellenőrzésére, II fels6 korlátot U9YiWlis lll: ösmtS IIYl!fTTlek száma mezőbe beln érték. halkozza meg.
Adjunk egy R2ngeValid:uor ~'e~rlŐ! köZ\'etlen az age szövegmez6 llt~n (12. 16. :\bra).
~

IZSl

•.

.. __ ...
. HIIII

_----_
l

....

:.06

,

.

- -_.

. ,-

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 ~ Control 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). A CompareValid:llorhoz h3:>;Ofl!6a" a RangeVaJid:llor vezérl6nek is van egy Type tulaj· donsJga, amely megadja. hogy milyen ~dattlpusúnak keU lennie a bemenemek Mivel az életkor mez6ben egy tizedesjegy nélküli sumot suretn{onk kapni, illítsuk ezt a tubjdon~goI Integer-re. 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.
Ha most mcgnl'nlik a V lidati'mCont r oITestBed.espx okbh a böngl'sz6nkben, ... láth3!Juk. hogy ein' hiooOzt:nel jelenik mt:g, hac5:ilk nem lugyiuk Oresen az életkor mezŐ!, ""gy nem egy O éi!; 150 kÖlé e:;ő SLá.mot adunk meg benne.

ml •. • . H
n,

4I6IedMok~""""w
•.•..• '._

f

.~

....

_ .. ""----_...
_- ~

_--_.._-_ . . !I._._-_....__ _"". "'_ -_. .- ..... ...
_._~

__ 4_-

--,

..

,

12.17. Mn
lit" oldal ..

R.o'W-1W/d<JIor lul.ojdollSÓ(!,.afnm. bI!d/J{ldstJ Ulón

A bemenet ellen6rzése a RegularExpressionValidator vezér16 sagftségével
A felh2=dl6 ilt2J megaOoI:l aW.lolmak g)'lIkran egy adou fOlll1álumlJgn kdJ bU-lIliük. Amikor a fdhuvdlólól p8:ti1ul 32 e-mail d~k&jOk . acimet ebben a form.tb:!n kell beírni: egy vagy löbb bnú vagy súm, a kubc jel ( e). wn& egy vagy tObb bnú \';lgy ulm, egy ponl , llletve alegfel!i6 szinhI unorNn~ (com. O<:'I,~, «lu. U$, uk, fr stb.)

A Vdida t ionControlT.nBed . u px oldalon a társadalomb1zwslwi n:imot kérjük , amely 32 EgyesOh ÁII:uooktxrn kileoc sz:imjeg)'b6I ill, és iluliban igy ~k­
ltXX - XlHOODt

Ha bIztositani ~, hogy egy k2taklm.tnc egy bizonyos form.trumot kOvessen, a Regu13rExpra.sIonValidatOf ,~Zérl6I hastnaJhatjuk. Et a ,~egy szab4lyor .wfojc:.tés~el Allapitja mrg. bogy a bemenet íllenkedik--e a megadoa mintán. A Wlbilyos klfefezés egy olyan kankterlAnc. Imely kan luereket és k\llOnlege5 jeleket Illl'!lllmaZ. és egy tlwinOlll mindI hadroz meg. Szerencsére ahhoz. hogy hannJlla$wk a RegularExp!"e5$lonVaJkbtOl' vez!rl6l, nem kelJ tOk~lete5en jAnasnlk lenn(lnk a n:lb::l.. Iyos kifcjezbek nyelVlllruoban.

SlabiIYOS killljlzHtkll lZámOS PrOWarnINn ~ tm!rt t./I'lIIRl ~
• hHm6l.tI*;.t Á térnl! b6vebb kilejtHe azonban sajnos ~ ~önyvünk ket'''IIt, m6r Clak aMI: is, m8fl • Visual web [)eyeloper sz6rnol bHpltltt szaMlyos kiI.jmsstl rendlllkelik, ..-netv-ktt nlOl h~al\ri; I Regul.· ExpressionVliOator YI~ hogy b6rmit il tudNnk • szabáIy1Is kifejtmet
1TI8~

mIllOd6dr6l.
lia meg SlIIlb • • IIr'IlR. SabítYOI kiIejeliSel hasznMaút, OIVISSUII; ti IZAn Imuduction tf1 ~ E.q;wessiollS !http,. 1....,.,. 4guy,trcarolla.".,./ web .. ech/ 0901 99· 1 • ,ht.ao.l ), ilelW • Cor,.,IOII ~ CI RegUI4r &preniDM !h .. tp,llwww . 4wuy.froarol1a . eom/webtech/120400- 1 . lhtml )clmú eikbktL ElItI kMlI. http, Ilwww. r~upli b .".,.1 elmen a;v kiter)tdt ~ lyoskifeilál·gyújtlrMnyi is Idatunk. ihtve o/vasgllthat~ I közösMg levtltit. Adiunk tehá, egy RegularExpre5SiooValidator vez&l61 U ASP.NEr oldalunkho.z, amely gondoe:kodik róla . hOSY a WsldaJombiztosítbi sUm a megfelel6 f~1Um6 legyen. Hllzzuk a veúrl6t a Toolbox p:ilJemról a lerw!z6ilbbk ba, & helyeuük e l köZ\'etlenQI at . .n sw.-egmeUi mlIgÖn (1J.Sd a 12.18. ~lril) .

.

- -

.- --~ ..
""".t

12.18. an ..u ASP.NEr OJd(Jl tg)' Rtfj"InrE.-.pN!SS/o"lalidtlror ~ /rorrdlJdtbll "111M
Ez utin a vez6i6 Contro l 'l'ova lic1llta Nlaldorui8~1 u BBn b1! kre. a hlb:lQ· pedis legyen Your .ecid lecurity n~r be in the fe .... t xxx- xx -xxxx (A Úl'$adalornbiz106ltbi sUmot XXX·XX·XXX:< formiban keH mep;Ini).
~lIítsuk

reneI ( Irre rKeaaa ga)

284 111. rá.z • flllM:znM6i ldItOk ~ " feIdoIp&'
Az emIf1ett kft tu13jdonság megad'isa ulin .mr csak a ValidationExpression tulaj~gOI

kdJ bciJJítani: ez ha(~rozza meg aZ! a szabáJyoskifejczés-mintit, amelyre a bevin ~cbln:lk ilJcszkednie kelL K,mintsunk a Val iclationExp.reasion tulajdonsigm, hogy ~ jobb oIdal~n megjelenjen a három ponto( taJUllnuzó gomb, amelyre kattintVlI megjeleníthel.jOk a Regular ~ÍOI'1 Editor p1~bl3kOl 02, 19. ~) .
....'" ""."~' ".,., 1"1 ,;;

12.19. '*n
A RPgu/ar Exptes</o" Ed/mr

""

II

<-I

párl>i=h/abl<1/tbo" _ ""'8"doIl .mbiiJy><Jd.fr}eU$-"",,1d1l ~iJ
,"tl/aut Mtu "Ir

II Regul~r Expression Editor ~rbeszédablakban szab:1lyos kifejeztseket tal~lunk.

amelyek közOl v~lasZlIt.3(unk, de saj;\t kifejezést is beírhalunk aValidltion Expression (ellen6rl<'.i kifejezés) mezőbe. Mjyel most a tirsadalombiztosítási számot szeretnénk ellen6rizni. götgessiink a U.S. Social Security Number lehel.őséghez. Ennek a lehet:65tgnek a kiválasztása uún a szabáJy06kifejezés-mirua megjelenik a V.. lidation Expressioo mez<'.iben. Kanin~unk az OK gombra, hogy végJegesí!5Ük" RegularExpresskmValidator vezérlő Va l ida t ionExprenion tulajdon$ág:inak be:íUíIásit. Miután ezzel v~geztank. né1.zOk meg a VaUdationControlTeatBed .aspx oklah a börtg6z6ben. Megflgyelhetjiik. hogy ha:l. úoodalombiZ!osítási s;.jmQI nem megfelelő (teh~t nem három s;.jmjegy. kÖl6jel. két sz:;Imjegy. kötőjel. n~8Y száml"8Y) forndban aditJk meg, hibaüzenet jelenik meg. f:n'ényes ú=dalombiztoo>itási sd.m lehet pél,jjul ~ kövctkem 123-45-6789.

Az. ellen6rz6 vezérl6k esztétikai tulajdonságai
Ahogy a Jcck~ben többször IS l~ttuk. amikor a felhaszmll6 tl'\61)llelen ~r1~kct ír oc, a megfelel~ ellt'nőrz6 vezérlő Er rorMesg"lIe rulajdons:lg:\lxm megadott hiooilzenet jelenik meg. Ez az ilzenet minden eddigi péld!iban piros be«l'kkel jelem meg, de 32 ellen6rz6' vezérlo%: esztétikai tulajdonsigait bcillic\'a ezen \o'iltoZ!atharunk.
Az. ellen&z6 vezérlo%: is ugyaruzokkal az e.Zt~;kai tulajdons!igokkal (B<lckColor.
5Qf:I

BorderColor. BorderStyle. font stb) bírnak, mint 3 többi 1;\-"ebes vezérlő. de ezek kieghzOl a Dhplay tulajdon.'i:iggal. ~mely ~ZI. h:lt~roz.za meg, hogy mikbIt jelenJ"ll meg az SHorMeGug" hibaüzenet. A Diaplay rulajdons:1g a kÖ\'etkez6 h1rom ~"~k egyikét kaphatja,

N::me

• •

Static (ez az aI3r*nelme1.é!I) Dyn&nlic

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~,
A Static 61 Oynamic bdWt:1sok közOOi külOnl>stg nemltllet1's&e hozzunk létre egy Új ASP "-'ET oldalt DynamicVBStatlc ....... px néven. és hdyezzilnk el r:ljta eg-,'fIÚ,S alat! ké! TextDox vcztrl6l. Mindké! nóvegllle~6 nlÖgé Irjuk a 'l'hh text "w-u rlght ... fter a text box (Ez II szöo,'cg köZ"etLenOJ egy SZÖ\'egmez6 mögOct talllh:u6) :JZÖ\'egeI. A 12.20, ~lrin láthatJUk. hogyan kell ekkor kir1hnle,. Vlsu:il Web De-.·~mek .

,..-_.......""'-_ .......-.
-- -

,'-

_ _._, .•.
,.,.,1rlfiI ad/lmJt az oklaJQ

- =--tI

12.20. 1i1n
JI
u·"u~o5bc"

lilit TI'XIlJax

Következ6lépbkf:nt II TCXlDox "eúrl6k é!I a Rö\'I:'gek kIkt lriizzunk egy-qn' RcqUlredF'oekI\':didator vezbi6t. és :1llitsuk:azok ,'>IIt ~olToVelldate tubjdon$1pt a megfd~SZÖ\~z6 alOl"lO!SÍt6jU3,:l2 Erro~Me..a9<' tubJdons1S &téke pedig 1eg-,'eIl "MIls desoonBtnte. the difference. between StaUc and OynaJIUc Dhplay {A 5I:Inkus és dirumiku5 megjdenilé!l kÖZÖltl kOIlln~ szcmléltetbe}. Ez utJn :1l1itsuk az egyIk RequiredFleldValldlltor Dhpl .. .,. tul3fdon.s:lg:1t Dynamic-r:l. " mbiké! pedig hagyll'k a Static énékcn

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/

Most néuOk meg a DynMUc:VsStat ic ...... px oIddl a böngész6nkben. M.egfIgyt'lhe!jGk, hogy az a Requill.'dFiddValid:uor vezérl6. amelynek 3 Display tulajdo~t Stat ic ~Mken ~'tUk. a sz.ö,.'egmez6t6l. 11vol jeleníti meg a This Ilppeara rig-ht a ft .. r II t.xt tox szóvegeI. A kimatlldó hely a vererl6 hib;t(1zenel&;ek helye. A oynami c megjodenítési bdllítisű R""luill.'dFíeldV:alídnor ve~r16 :aronOan kooe!lenGl:a 5~'·egme· ~ után jeleníti meg azemlile!l ~lŐ'\.eget. A:l. okblt a böngt:;Wben a 12.22. ~bra mutatja.
~._.

,.,

..

~

""-_ ...
n. _ _ ....... _

12.22. ~
Az ares IenIW CIIIr.:I " RequlnldAddI'alld"lOr..,,-hI6; ,,1tU'I)~.n Dfsp/IJy mJajdonsOg<ll

St,,{k·,.,. állflonult
MOiSI kattintsunk:a webold:alon eJhel}'t'ttll gombtll. anélkGl. hogy Mm!it is ifJúnk

a szövegmez6kbe. Ezzel megjelenítjolk mindkét Requill.'dFieldValid:ator hibaüzenetét. Az eredmfnyt:a 12.23. ~b~n 1~l.h:atÍ"k: aZ:a ReoquiredfieldValidnor vezérió. ame lynek :a Di s"I IlY ruLajdons;\g;il:a Dynlllllic én:ékre AlJjtonuk. dinamikw.an jO/.>br.I CSÚ5l:l:atj:a a Thh appea rs d (,lht a ft e r a t."t bo" uövcgel, hogy helye! csin!iJjon 3 hibaÜtt·
netnek

12." 0.'"

iMI!i ..... ' ••

',, 1 287

.._-_._--_ ....... -•
12.23.6In
Az oItJJú a gombro IIa,IU,/ds ut,j"

_ _ .. _ _ u. .. _ u. .. _

... ...

lU U", ,'lz,IIo ..6ra6 ' u"". . . ,,,,, ...,,..'J'

q'

hogy a

I"OGI

tub)dons;;ignak

!oZ.in a \'ŰfÜ!o.)

Egyéb

ellenőrző

vezérl6k

AZ ebben az Odban •.1IlO.. h négy ellcn6rz6 vezé16 rN'Ueu ~ két ellen6n:6 vez61(l lo!1elJk Az. e!,;6 a CwromYahdllor(egyéni eUen6n6), amely _ mini ~ neve is mulat",1:8)' I~IÓ "ezbI6. ts a.nelJyel ~ bemut:ItOIt~' ellen6rUi 'ezérl6l:~ eltm:! módon \'Iag;l11wo1Iuk a fell=zniló álul beviu adawb.. .szerint azonban rilk::ín ' .. n szuk>L'I! ~ Cu5tOm\"abdalor \ezél16 h:1.51.nálalJra: a bemutatou ,.egy vezél16 ~Ital!ioon elegend6nek biWflyul Ha mé~ a C\l~om\'alidator képe55<..:geire lenne .szilks(:gQnk. olva5~tlk el a Using Ihe Cuswm\ aJ1d:Itor Conlrol cimú cikket a http, 'aapnllt. 'lIuyafromrolla., """
an '3102-1.lIlIpxcimen
Tap':IS:culal~im

amdlyd nem FogblkoZlunk. a Valid:,tjonSumnu.ry. amely klÍna n w.zei oly.ln. a ",'clx!ldalon nerepló ellenónó ve~rló Rrr orM eSSal:le tulaidons:1.8~t. amely (:n-énytelen bemene'le'l jele?.
A ValidatKll1Summary veléri6ról a ht t p , ! / ."."., ... 311ch 001 s _c om! aspnet /

A rnas.ik

ell~ő vezérlő,

contro l_vali da tion9.",....,ry .aep címet! olvashatunk b6vllbben.

Ö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)
A felha~zn:jI6i adatok megfdelő Fom1litum1in:>k bittosí1li"" a bemenelel!en6r-zb. Az ol)"'ln koribbi lechnológl.'ikoon, mint ~1. ASI' b a PHP, a bcmeUel "Il~ nem voü egyw:ríl; a fqleszt6knek Sól~1t kódot kellen lmiuk elTe a cél",_ Az ASP.t\'ET-ben azool:>an a külÖflböző ellenőrz6 ve~rl6knek ~hc:t6en nundez már a múlté_ Ebben a leckében ~gy ilyen \"ezé-rl6vel i.-;rnerkedhcttOnk meg: a RequiredfieldValidator, a CompareVal;dator. a Rangc\'~lidalor b a RegularExpre..sionValidatCJr vezérl6\"eI

Ez a f<'i<'zet aZ utolsó volt azokruk a leckéknek J soclban. amclydcbcn a (cllU5Z.nálói adatok összegyűjtésévd foglalkoztunk. A köve'lkt"ZŐ 6r:1.tóJ kezel .... fi8)'elmünket az adatbál.isokkal \';116 munlcirJ forditjuk. IMir ncm 5:7.entelünk több ór.'it a rdl~1ói ~datok összc~1T~ésének. a könr... 11litrJ.le..-6 részét)!..." SZCft--plő pl'ldik oi'melyike ig~nyd Felhasználói tJevitell, ezért famos, hogy m,,~k a tanultabt.

Kérdezz-felelek
K: Jll)isplay tulajdQ"uis",.k IlÓrom bcál/ítá.Ulle!tct ["olie. Sltlllc és Vpuwric_

v:

.II Sltlllc 6" DJ7ramic bcQllr"rásoJl L"llágo.klk, de ml szrlks<'ge lehet Wirld"ck is a Nolle énéltrc? ~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 rogl~JkOZlunk r6z/ete;en dlbm 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. Brror1ol ... S4lJe a VahdotlonSunulIary-b<: k.·ru) Ola n oJcbion 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<lgg;.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? 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.

'.In

v:

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, Static 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 jeleket 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 ÚThadaIombizl05íl!isi sUinúl kell beimia, ~Iszertl egyszerre igénybe "cnni cgy RegularExpressionValidator 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
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érl6kkel. amelrek biztosítj;1k. hogya fclh:lSzn:\.1ó legalább a levélcímét rnegadj~. és

l. KbzjlS(lnk egy

egys~

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 szerkesztő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 14.6ft

Bevezetés az adatMrisok ~ Adatok . . ! az_dOflás·~

15. óra 16. 6rI
11.601

Adatokmewele Adatok tö!Ié:s8.

Adalhpcso/t Ianyi.\ . . rilISlI6gombok és

beslírisa"

ít6se.webes~keI

~

18. 61',

j.lüló"'g'fzetek Al adalkapcsolú 65 IMa, IldatoUtl '-ipCsoIatos témát.

13. ÓRA
Bevezetés az adatbázisok világába
A k<t;1Il' larfal..wbóL

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 Joz. ASP~ET egyik \qtI=znoos:Ibb és Iegh:ltaon)'lIllIl s.wI~l!aUsa. hogy az ASP ''ET ,,'ebokbbk k~ az ad:llbóm-keze!6 ~kkcl való :eökken6merues qn.lImmlködésre Az adatl»zisok. ahogy ehbm II fejCZClbt,n IjlnJ fOSJuk. oIpn sroftvcr.dk;ilma.
Ú~.

ameirekel acblok hatékony tároUsil':l len'ellek

III ad:l.lok:u. Röo.id=

leckében all "'15g1ljuk. hogy mik azok az ad:uIA1JSOk. és hogyan Ilrol~k ~(Ink nHt.1nY:;1I II legnéP5ZerObb kereskedelmi és 1rl8)'ene5 lKblW~ kOzOJ is. de d5&arb:an II MICTOIOI't SQL ~,.. er 2005 Ex~ ..

E~ II

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

Az ~<blb;ózisok Jd.,lOkJlt~roIn3k. 6 ""gy mll,'elet ~égrehajúsJt cng..:ddyez,k r.l.ltuk; .lZ ",<bIOk lek"'rUo:l""''t ~"'gy kinyer60:.'t. ~UJlOk ~ur:isJl. adalok .n6<.kl!>Íthit. é5 az a<b,ok I~ , Az. ... Ua,b4zisok:ll a Ieg&)"JkrJbb;.in Adr beszílrt ad.otok km}Clé ;Ó., h;uználjuk. czo!"rl \'zsg:i16dá9.lnk t:il}O-a t'I..&aIban u ... dllak IekoYdc~ IC"IZ-

M,e/6u azonban bes2\lr;i)l. (ris5it6l. ,ÓrIé<t vagy It.-k~ hartllóltn.lnk 'égre t'g}' aWIb;ózi5b:an. d6:>zór tdepilmOnk kdlu ~d:lM.u.-kezeló .sroft"'_'fI, Il'tre kell hoznunk n adatbhls!ljlt. és meg kdlll.~IJn')Znunk a benne lárolt adnak szerkezetL't, 1J)/)CIl az 6,-jj);ln elősZÖr at adatbázis..kcz<!lé\ ~lapfogalmai, li~>;t;i:zzuk. nMjJ n ....g;,;rn"r· kl-dünk a Microsoft SQL Scrv.,,-lQ05 Expl"l-"'SS Edition 11:15....,álat!h."l. amely "SY oIpn illJO'ene5 adat~ZIS·kl'Zclő. amt'lyCl a \'i.wJI ~'eb OeIdopem:l t'8}iln ldepill'tlilnk aZ I 6dban.

Al. tdltbirtriat löbbflllallippen illi6rhet;;*. dll az ölbilis~ ~ bato$~ vNrrilyen ~1. .,1eIyeI ao;bItMnrial oomaln "Ire, I.tvv adat<*1t 4metiri. el, WhatIri: bt, loröIlttilnk v.gy lris$fltletiri.. VllS(I6Iód6suok szempontjából az a legfontosabb. hOQ'1 az ASP.NEl wffilldalllkról i$ elértltllünlc Idatb6D~8t. Ez azt IIIlen1i.1logy Iftreholhatunk.gy olyan ASP.NET oldalt, ametv képes egy adatbázisbóllldaloltll kiolvlSlll, 'I megJeleníleru IlObI az oldalláto~tóinak. Ezt sznos 1é1el'Ó v.ebhe~en ~tiI*: pékIíuI __ or az Amazatl.com v.ebhe!'Pn kertsiinlc.. 8 kefllS60ldal egy adatbM.t.óI olvassa kl • kertsáre iII0edCí rlIkordDllI, .. ,wlyetel ..Mf\ii I IÍI azlNdnMnyoklabL A kÖV'elkel6 ""*'v lackében ali ~p., hOgYIIl Jelllódetiri. mtg adatokat ew IdatMmból az ASP.NEl oldalakon.
Mlutin megismertük ~t ad:lll:x!zisok kgfontO<:klhh jellenu6it. figyelmünk ...'t uoknak at ul.:isltásoknak al ~l;t.k~l":I fordítjuk. amelyekkel :lduoka' ny",h... 'tOnk k,. :lZunulunk be. r""""tllelünk ''''gy IÓfÓUlClilnk lIZ adatbizisokban. AZ CTre ~wIg:1ló nydv ~ 'ilmcllm.'rI Qlwry' lOltga''Rt'(!AAlklurilt 1ekérdc7.6f1rch'l. riMd.,n az SQL :lmt'ltrd ~ a kő­ \"elke7.Ó ft'jezetben fogialkcnunk

l l. 6rI •
adat:llJuk elí:'1'6ére &. megjeleníl<.'sére 1U.';zn~1J1.~t6 ASP./'.'ET-,·e1hl6kkel ~'fkedilnk meg. A 14 fejezetben padlul az ASP./'.'ET DataSoun;;e

Ezt kÖ\'el6en n

ad:llbá~i$Ok

vezbl6it mut~tjl.lk be. ~mdyek oI~'~n webes vezbl6k, amelyekkelad:noot ké1dezhe«Jnk le, szUrlwunk be. fri.ssíthctonk vagy törölhctilnk. a IS. &. 16. fejezetben Litni fOSl'uk, milyen körm)'Ú adatok:u megjeleníteni és ,n6dosil:ini a Grid\íew és lXüilsVoew vez(,r\<'ik scgílS(~'eI, a 17. lcrl:e 1~f11..1iát pedig 3 Ien}iI6liscik, v:llam6gornbok ('5 jelölooégyzetek adatbázjsb61 S7J.muzó adatokkal ~"316 feltöJtboe adja. tA l\. fejezetb61 emI<'kezhe· tünk r:í. hogy a DropDownÜ5t, RadioBunon éi CheckBox vczl'f"l6k a TeXlBox v('z616höz h~>Onl6an fclhaszn:lJói adatok Ö65Zl.'gYIJJlés&e szoIg:\I6 v(.'z&l6k.)

A jelenleg használatos adatbázisrendszerek
Rengeteg kereskedelm, és ,ng)'enes ad:ubáz,srendszer létezik. amelyek" legkülönfeJébb platformokon k~k futni. A legnépszeru"bb aduWzis-kezd6k a következ6k;
.\IIcrosoft SQL !x!n'l!r- http://www .... icrosoft.cOIIIfaql/ Omcle_ http://www.or .. cl ... COIII/ {RIf D82- hHp: /lwww-).iboo.cO<II/aoftware/dltta/db21 • .lllcrosoft Access- http,llwww.olÍcrosoft.cOOl/office/acee.... • 18.11 Illformix - http://www·).lbm . com/ .. oftware/dltta/ infoonix/ • • •

Ezeket a tcnnékckct" n~8Jl mcnnyl<égú "datul doll,'WÓ ""geknek készítik, és ~ magas SZUlla szoIgihatjSl13k bimny megkbik <IZ ~r:ít _ ;lid. több tízezczer dollán. S,z"""ocsl:re nekünk, am.ltör fejlO"SZtdknek. $Z:I.b:ldon h()v.áf~fhel6 adatbázisrcndszcrek i~ a rendel· kezésfinkre jllrok Ezek sincsenek hlPn az iOlpon~16 szoIgiluW;olmak. de bizonros képcMégek, amelyek II kereskeddmi rendsu'l'Ckben lTX'8'annak. hjjnyolnak bel6Iük, éi II tel;e:Jtnl{'flyiik is nl'mile8 elmarJd ~zuk(1ól. Mi"d 2zonoon mi c;..1k ~rrn fogjuk hasznjlni 3z ad;lIbázi.';okm. hogy klpr6b:iljuk az ASP.~Er oIdalaink:lt. tudisuk ~ elegend6II"SZ 3 stámunkra. A legn(opIóZ<.1iJbb ingyenes ad.ltbJztS--kerel6k az aLibbiak,
• • • Pos/greSQL- ht-tp, //www.post!jresql.c<>ntl ,I(I'SQL- httptl/ ......... mysql.cOIfI/ .Iffcrruoft SQL Scnw.lOO5 Express EdiliQn (II1SDE)http:/twww.microaoft.eom/.ql/expr.... /

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ífjteménye. lImetycht I"'lfkonpn &het:ünk cl ts m6d05rth3runk. Az ad:Itb:1nso1c az lIdaIOlat 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

Hogy lisrubban 1~$:Iunk. képleljil k el , hogy "8Y atblbh:isban ,-isárl6kr61 nen.1J>énk adatokat l!irolni. MJ\'cl :uLII.b:\zi.sUbI1tnkoon v1~rl6k 3d!.!:!. il szeretoénk tárolni. ~djuk a LlblI""k" CU.t~ra (\-:isirlók) ne'o't't. Ahhm. hogy eldönthesMlk. l-.ogr n áro/juk .. eu;krt:u; ad:l.loot."~ meg kell h:odroznunk, hogy melyek azok II jdlemz&. amd}~k k~k a:;ron(lO:lit:oni f'gY ,~ri6L TqJ)'Uk (ri, hogy II \'i.dr!6 ""'~. teIefOnStimit és irinyftÖQJm,1l kdllirolnunk, ,o.bnunr. an a dllumot. amikor az illel6 ek'i5zlrJr vh:irolt ktpzddbdi ctgünkt61. lU cmlitt'tt jeU~~ fogjlk adni II CUU"..u !libia ~It. A tfibb kt:p i jbr.\zo/js;i( II 131 ~brln lalhlllluk

.' •

fl

... Cl_ "d' "''' ...../tfMii " .okdrló~ wrolJ<t4'

13.1. "

Mf.32\·\U4

,...

lU'-'
.~

---

--

-~

- - N'.
11"12).4)21
IllGl

"

"

"

"

_'a._
_ 2 1. 1001

~-

... 1101_
11 ....."'1

•••

_.

",-n,l.

,

..m

115f.I\oIoQ41

N'.

_:'.lOOO

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 :

• Jisun 1.=. 8)8.321-12}4, 92109,January 27,2001.
Yates. 619-123-4321. 92101, October 10. 2000. • Todd Calli.s!er, 6.30-555-9898. 60126, August 27, 1989. • Marie Vogan, 314-555-1111. 65401, September 8, 1997. • !\atc W,,;eman. 858-555-<1343. 92108. November 24.2000.
• Da\-C

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.okterlá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.

1.. "". .4 • ,., .... , ... 'p '1, .. .. _

nM •

.

3(1)

III nu • MIri:a ecWbi'

u'"

Arrukor a f~zrt kés6bbi ré.«zébm ld.rcllozunk eg}' ad3tb::izist;íblit, Litni fOSJl.lk. l-.ag} ~ II I t;iliIiz':l.lb:m frlsoroh..:okon ki.iil 5Z.:ÍmQ!. má;§ OISZIoptípus IS léteZIk. de uck a leS8yakonbb:U<. Az. SQL Se,..-", ~ :od:Iuipus""",k teljes Il.>clj:ll ll1cgt.:oUI,uk .:o hllP', .lIÚc~O" ,tt.< ./llbT.ry/e -ul 'taqlrefl1:B_""·db_7_w. "Bp

,..,<In

cimL'Il.

Amikor adatbánstMll1it honri: "Ifil. nzrevehetiink néhány, az nv .. rch&r adattl· pushoz hasonló nevú tf!>ust: az nchu·t ft varch .. d, iIetv. I char·l Az nvarchar b az nehar, illetve ft v .. rchar H' ChaT tlpus korolt az I különbs,ég. hogy azok I típusok. ~ • I\IIWben I Viii $.lÓ uerepel, vüOld (v.illble) hol'511'15igú kllllkt .. OIIIopot. VIV'fIS evv nvuchu I t\PU$Ú oRlop aUf SO kinktert is ~ de csat Im'(i helyet foglal el, .:nemyi • ~. MIt UrakrM'llk mm... Az '.... rVIiIJ'f oha.r-I!;! ~ 0$lI0P0k ezzel kMllben mindig 50 knltel't lO{IIIInek ti. függetlenül attól. hogy 1 VIiIJ'f 50 knl· tamyi .ml tlllflhltó trennük. Az lHIIIl kezdr\d6 n8VÚ lIIIattIPUd UntC:OdIt ka-lirlerebt tá-ONk. A lheode kflt, tertn:ISt il ka-ilkl" '" lIB!I'fObb ~ k~ ibrw.,1gy II ilyen UPI,lS(i os.6opoknak IeheIM lesZ!, hogy WrmeIV "*:6 wlirteRÍt tíroli'k. A var 'hal és char tipusok uzellIlIImben lOkbI ki$ebb kill'lirlelt.8slIettel rlll'ldebznlk, és csat • szabvllnyos IIOQOI 6b6d betiilt kiplselt tírolni. Mlod&gyik k8l'1lkterlénc~ttlpusntk migvlllll maga fel\aszrlélúj teriiktlil, de IZ nvarcha.r·1 használják a Ie{Iszlilnebb körben, és ebben I kOOYVben is eml I tIpussaI fogjuk üron a tAblák szfwlgeS adatait
Az. "WIJ»zi.5ok oszklp:IJ" h:ann:ilt aebu'pu~61 függetfenii113rtaJm.:ozhalnak egy külön· leges ~n"ket is, a ,\ ',.111, :Imely ISmeretlen entkct,aez. Teg}iik fel ~kliul, h08Yegy

t.:1bJ.ib.:ln a ,-h.iri6k ol)'lIn aebtalt l'ÖgZill\ik. mint a no!v, a sz!imlb2si dm, 61 igy lodbb 11.:0 egy ,~sjrl6rurk p8dául nem tudjuk a leJcfooszlmal. ebbt,.~ o.szlopbor :-;ull tntket irh:llunk_ Amikor mcgh,.t.:í.rozunk egy 06V0P0I, ,. neve 6\ n :ubtúpus:o mellett nt is meg:ldh:lljuk. hogy dZ t:lrtalmazhal~ :-.'ull 6t~ko:t. Egyn ~ekben elófordulh;u. hogy egy oszlopban nem ki\'1njuk megengedni az ismerrtlen ~ntkekct: ekkor al 057.lopol úgy kell bclllrunuflk, hogy ne ens~'<l(,lr" ue a Null l'n~ k.,k beir:iS'lI

omor

Els6d1eges kulcs OSlIopok
egy eMl. tipuw oWop. kalönJeges fclz6kkcl lAZ Admbfl..."""1SIiíbIQlt /élf't'hoz<iw rinltl rb;{ben J~lnr fOlJlUk. hog)= adllalUnk els6:Jle.. gc:> kulcs oszlopot egy úblihoz.) Az. ~ kulcsktnl megreIöIl O5ZIopokb,m mioo.m rd<ordhoz egy ('g)OOI ért<*,,,*(a~6nak) keU l;inozrn:o. "úri al II)'"",
Al. adaiokai drol6 o.nlopok meU~11 3z aoolblimUbl;; k 8)':lkr.In l;irtalmaznak

/etIt'S Imks oszIcpoI.s, amcly ~ltaUb:.n CS)' i I t

oezlopok ",",'e ilul.:iban,. 'I'''bld<fvll f()l'Tfloll kÖ<-·eti.

At i n t tipusii els6dJeges kulcs OI<llopok bdllith~t6k mllmnal!lt/IS JOISUlmozi1m_!1II (aulo-increme"t) is. AUIOffillhkus .5OI"StlmowfLIlll7. el5Őd1eges kulo 0iSU0P önmi"lkl'>dc5en növekvő $On;Úmokk:l.l Utja el ~ 1.11>1,. rekordjail. Vltgyis amikor egy új rekordot adunk,. t:ibl:l.hol, ennek al. oszlopna k nlo"!T1 ~dhalJuk meg az értéké!.. '1ll.'11 n ,.utomat;ku ... ",. sorlxIn kö\'etkez6 sunlOt k:l.pj:I.
A fenud< szemltlle\é:!;(-re lérj\lnk VISI<VI a CUsto.er ; ~bUnkhoz. és ~djunk hozz;t egy el~ kulcs OIZlopD( cunomerI D nb·en. A úbb ilyelé-nképpnl m6d05itQlt 5l'erkezetét ~ 13.3. ~br.l." láth:lljuk .

"
13.3. "

.,, :

...

-

:";

,-

,

,

$'

_

"""

C

?

A CW.<IOmen tJdsIbthlsuIt!W 1'J)'...t.W' l":I hdu ~ IrottdoilAsa II,á ..

l b ~ kor.ibbo!.n emlitett öt rekordot most adn.1nk a úbUho,t, a ~ 5Qf:I.ib:l.n a 13.4 ;lbrin ~th:nó adnak v.erepclnének. FI8)'C'I;Uk ml""8 al. aUlom:mkU$ son;z.:ÍmoÚ5ú els6dI~ kulCl O5Zlopl»n IllUIIUl6 értékeket, m,r.dt.n !lOf!lOl "'1D· .. érték tartOzik. és a rdi ~m .'lOItlI1kl:n\ n6. Al.I .... és7.n. ehetjűk. llOgy az adatok b,.. .... 'SZÚr'.tS:Ikor nem ml :.dIUk meg a CU Bt o.er I D (/57Jop 61dél: azt az ,.d:ltbllzi.s .. kc7.I.'1 illesni be helyettünk. 6

",

• I II
etil

,

, ,
• •
13.4."
rl/im/{.'l,

-- - .,. -- -- .,. .. -.,. -orr
t li

\I

I II

,

,

,

-~

_,m

.-ru.men
_ t a . ZIJ1II

;'''1l3-132t

'ltDt

~-

..... u.t_

li f.M!o.l1 ti


$' ,

..t.l
1I, :rtDI

B~

$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.

Az6ItaI, hogy az IdaIbázrsoWlk IZ """.....Jat.. könyvár.lele~"" meg, rerd.JVíj ~ egy _tVeZnII ASP.NET4111maás ~ .~egy'>lil~gl"", ~ kl!.' oIQNót'rL Csak.myrt kellennIInk. hoqv az ASP.NET .. et M' OkUl együtt /reIt6hji& III App....o-u t~ js • klpCtol6d6 adatbÚlSf6jlokhl.

"*

A \"su:l1 Wd> [)eo,~loperben ugy Il(lzh;uunk I~re ad>tb1zi5l. hogy el6stör létrehozunk eg)' uj webheJ)'d az ASP VET Web Sli", .sablon aIaPi~n, Emlékezhetünk r.1, I\og)" ez :ol sablon többek kÖWll egy AIlP_o".t. mappál ad a webhe1yhez. (lb:ol ,,"cbhdy(lnknck 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 ....
lelUt az SQL Database Idx:t&éget. k a flóan1o;" mez6ben \<'illOZl2!iSUk n adnbbw: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;>).
nl~SI0lk

!:m

lUh
,1,. uj ado/bázis ~"k az .<llJPj)<ua .....pptj/)(!"
A:lujonn:1n lárehozotl adatbi<:isf;ljk:12 AwJlota kOnY'1aron kÍ\-ill a [)'U:lba5C r .... pIorer IAWlhi7.15--laJI6W) :lbbk [}J\;I Con~ 'lId:ukJ!X'5OI~lok) ro!:szében i!; Ulnunk kdl II OaI.oOOse F.XPIOrer ala~1.él o;zcnlll közó:.;m h35VU1 egy abbkbbllt a SullItKln
Ex~I. ~ lu II D~ubasoe EXPIOrCn nem l:ítjuk II ké'pemy(!n. k:IIUrllsunk a nlenti D:n:lba5Oe Explon. pontFil1I_ ...
\'Í\"W

A Daul:we Explorer rt'szle\~hb ~1:<-'Wt :Id az adnb:1Zi!oOk elemeir61. nunl II S,olu!J()O Expk>rtT Ahog)':I 1;1.7. Jhl"J is mU!.1!p., II Visual Wd) fkvdoperben az :ld:llb:tzl~ ~l.:1111O$ e1cmtl rtlÓdo:l5íthatjuk. Igy II di:lgr.Lmolm. II t:iI>lJlk~l. II n(::zetckct, a eirol! clj;ir.lsokat, k

Igy tmibh

ll.Um
Az fUla/bdrts """"'-"I
Q Orllmx.w E.~" Mlholjt,1I

II ktlnyv adat\-'ezereII p&iliNn az rgydlen ada~ :lmeUyel fogblkozni fogunk_ II l:ibb, II kÓ'.. etke~ ré$2ben rnegneU'Ük. hog)-::un hoz/utunk ~ és haúfUlh:lrunk l1lI1I adath1:ust.1b1ibt. =)(1 azt unull'-'k meg. hog)- nukmt tölthetJÜk fel II Úbl.ilt:al :tdatokkal a \'L$Wl ~Cb DeI.-eIopt.'Iben

A fejlenebb lIdalVmre~ webalkalmazások gy.ran haszn6lnak néreteket •• l.oIt eljirásokat, de erek tMgyalésa kivül esik k/inyYiinll. kerelslII. Ha tőbbel Sl8f.tOOt Iu!ii ~ O/YamJk" az SOL Server Views Ihttp://odetocode.cCIaII Anicleall99 .upx l. lelVe I wribng I Stortd l'I oceckn lnnp: i_. 4guy.fr.,.,...olla. e"'.II_btech/1l14'9-1. • -U CIn..:i c:ikketet

Adatbázistáblák létrehozása
MOS!. hogy van egy aclalblizisunk. ktszen ~Uunk am. hogy lé1rehouuk els6 adatbázis. t:íbl:1nk.at. A (ábl~k 1l1rehozásakor semmilyen adatot nem adunk meg, csak alábia ~zerkere\éI {:.tz osz)opaiÚ h:.t1rozzuk !ll<."g. Tehát egy ój (:ibla Iétrehoz~sakOT 3 [jbla
"",,'k. iU("{\e '" t~bJa oszlopainak fle\'ét 6; !i~t kell megadnunk

Az adatU1z,súbl:1k Ifuehoúsa a Visual Web De-veloperben ",eglehet66en egyszeru. A D"~tabase Explorerl><"fl (lj.7. ~br~) ndnden ad:nW-zishoz ulálunk egy T3bles (T:ibl:1k) neVU mapl':ll; erre kell az egér jobb gambiá",,1 kallintanunk. majd aZ AdU a i"cw Tabi" (Új tábla hozzáadása) leM~get v:ila.o;uanunk. Ekkor megjelenik aZ au:uw'zist:lbbszerkeszt6. amelynek ablakában megadhatjuk az új \.ibia 05zJopainak nevét és típusj(. II képernyo: egy új t:1b1a hozza:íd:lsa m!in úgy kell hogy fessen, mim a 13.8. ~brJ
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

ViZ-sgiljuk meg kÖ1.clcl>hről az 3dalbáZJ.Stibl~k =keZ<'li'nek megh3t!irozá~hoz szOksége5lépl=h-t! Épltsilnk fel <"gy <"gys;eeru adatbAtist:lblát, amelyben egy könyvgyi1jteményről t:!rolhalunk adatokat. Az ad;.t.bázlst~bljk elkkntbekor lényeg"",,, hogy kdl6 időt szinjunk az 3dalWzisban tárolni ki,,:!.nl jeUenudk rncgllllt~rm1~rJ. ;unelyeknek =Jd ~ tíibb o:s:1.lopal fognak megfelelni. Könyv"",, péld1nkb;;m teg)'I1k fel , hogya köve.kez6 adatok,." \':In s:r.UkségOnk • A könyv cime • A könyv szel'l:6je • A könyv kia<bsAn.k tve • A könyv á,." • A könyv utol:s6ol~~n3k d;ttUrllJ • A könyv oldalainak száma

Most, hogy meglllltíiroztuk, mil~'CI1 infonn:id6kat szerl:tnénk rögzíteni. a következő lépés az, hogy eZekt1 oszlopolud alakílSuk n ad;.tbázist:lbl~ban. Egyet.len. 900ks (Könyvek) nevil táblAt fogunk hasmjlni, amely a fenti lilit adatot lilit megfe1e16Iipu~ú oszlopban tárolja maid.

13. 6ta • 8t';wlii ll· ... ' ... ·

+tR'"" t :115

~ cl6ször ell)· Tl to le (am) rlC\-U 05ZIUP0I, amelynek típusa nvar :har IlSO), és nem engedi nq a ~ull énB<ek h:l~\a[;jl. Ehhez írjuk be II Column /\:111"-' (QWopnév) mcz.őbe at ój O/izlop nevét (TI tle), matd:l Data Type (AdaurpuS) Icnyfló 1!~.1b61 Yálasszuk az nvarchn 11S0) elemet, .~Ol pedig kapaoljuk kj az AJlow NuUs (l\uJl eng~lycl6;e) jelOl6rlég)'zCleI. Az cmJiIClI I~k ,·~h:lll~sa uún a ktpemyoo oIpsmit kelllltnunk. IllInt:l 1.~ 9 Jbrln.

Hozzunk

n_~_

-"'-....._ . . _.. . _<---- ... ...... . -_-- _.- -... - ---- . . . . . . . ._ • • • • _ . _
~~

~.,.

u • -.-,.

lU. !!tn
JI ltÜJla lIK'/I/ratdroz4saiKu"

hozrliadmlf Q 1I11f1 ou/opof

.... _---".....
,. .
oI "~

"

-

-- • ---- - -- . ....- - • ...-...- . -..• • ---.--------.0; .. . .- . . -.e-

_--- ...
••

1..

..

u

• •

g

~ __ -

~-

....(1

"'·" t

-

13.10. !!tn
.~

fábIa mos: hol ouloptJl

",,,,umaz

• "'''thor - tipus;! nvan "uor 1501. a Hull fttade nem megengcdcitek • V_rPubI iahed - hpusa Int. a Hull fttfkd<...-ro megengcdenek • prlca - típusa KlflIIIY. a Hu I I fne,kek nem rneg<"Tlgcdcilek • L tReadOn - tipuS:.l datet i ..... a Hull fn~kck meg<."flgedettek ... • PalIeCount - LÍpU.<.:l int. II Null fnékck no:m mo:gengcdenek
A h:u O$zJup hozzáadása a 13, IQ, ~bd.n.
M<w ment.Wk a I1ibU.I
ut~n

ellene;riuilk. 1\Ogy azt

I~tl"k...,

a kfperny6n. mim

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

Amikor :.Id.alvez.:..reIt alk"Jlrru;d~:u q,inlnk, ~l. mia/bázis meg/en~kiemelt fontOl!sigü, A:z adatb::lzis.tervezl:$ az adatl;4;d" uerlcezet/;\ rneghal1in;>z6 dönté5ek $QI"();e:lt.ibó! ~II el kel l dÖmenQnk. hogy nlllyen t.:Ibl1kra lest :;zOk~nk. azok mil)'eIl oszlopokból foy,nak ~lIn;, l:$ hogy a tlbl~k kÖZÖlt milyen k3f'C'iOIal:\.1I fenn Ha rossruller"\.'ell11 ad.:nb::lziS<:l ~IQnk egy 31k1lm:1z:1~, elOre nem 1~lh:u6 probl&n.1klxl é-s korl:1toktXl Qlkö;dlelllnk II fejles;tt6 során M~ kbl,'jlJb bukkanunk ""Iamil}"ttl hilny<)6sigr:l, annillöbb ~ és o:nergi.1\ kdl Inóljd fonJiununk a hllxl kija,"~"'. o:ttn. ctlncnl kelk:5 .Me =inni az adatok megfe1e16 modelle~,
Sajn06
Il.lId:ub::lzis.len"e~ ebnflClo!'\-d & ~,..-J ebben a koo)...tlrn ...-m III módunklxln kunerit6en fogblkozni, de a ~nak mi5OIr::: leljel köteleim ~~rueltek. Mmdazon.ilt:>.1 néh:iny fogalm:lt netll ~n IblUznunk, nudo5n to\'~~

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).

.. ....

--- - -. .. -....... -._ ""

"". '....

...,,,,,;;,_,,,,,,,,0, "~_;';'"U
~-

,,",.-_ ........

.,.._ ....

-

...

"

"

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
Gpkorthktppen adtunk "'8)' automatikus 5OI1lZ;imo~5Ú elsődleges kula 06ZI0P0t II Ek> lk"~ L:lbI.1hm./u oszlop ne\<e ~ BooklD. lIWtltipu.sa int. ~ ne~ a Null tnékek..,. JelölJuk ki az 0If.l:1opo<. él az eszkölUr els6dl<"gt-'":§ 1mb ikOllJln laltmt." te-gy\lk J ubb eb6dJcges kuk:sá.'l'j,

mes

A táblaRMtaw6 ~1I~ ~ beSlimtllllk uj ~l Ehhel cs. &! egér jobb gombjív~ I klvánl OSZIOPnt keH ka«intanunk. majd &! Insert Column I~ beslírisa) Iehet6segllt vál~ HI • 8ook! D-t például • 161111 itIS6 OUIOPM ~ 1t!WIi, katmls\ri. • jOI)tI Ti t le OtlIOPnI IwneIy IZ tISi5 I bdblnl, v6'"Sl" &! Insttt COUnn pwarlCS(Il és nOOI meajllenik -vv iHS IOIIl .........tllat~ iIhOVj ~ I SooklO OS2lop lIdItart..

"gomObII •

308 j II. réIr • MriaDtb'risokko!
Következő It'pbkbu aUlomatikus wrszámoúsúd kell lennünk az új O!;Uopunkal. Ehhez jelöljük ki Q BOOklO O/illopo!, hogy belöh.silk a lulaidons;\g.1il a képernyő alján Ulhl1l6 Column Properties (0S7Joptula~gok) ~,bl:tkba. maid görgessúnk aZ Idemi!)' SpeciI1cauon lulajdonsjghoz, an>elynek jelenleg No az .:'néke, és m6d0sitsuk:l.z ént'kel Yes-re (Usd a 1}.12, ~br:il) .

.... __ ,... _.... • • ..,.;,0 . u - .._- --..... ,-- -- --

_ --

_----_ ...

o o o o
"

~

Ekkor a IIookIP aUlomaukus sorsúmozású els6dJcga kulq; oszIopp.1 \'~hk, Kattintsunk a &I\'t: goml:>r.1 az eszköl.úrb~n, hogy mentl;fik a tibia m6d0sít1sai1.

._.----

- - -•
• •

--~

., -''''

,"

• • ,

.,- -

--

13,12. 6bra
" lJQcJdD ,mtornallln«
~n=ánl d.<ótJ~

Inde< ou/o{l

EIlV rendszer logikai elemeinek modellezése kapcsolt táblákkal
Amikor arról döntiInk, hogl' milyen tibl1kal tanaimauon aZ ad:ub:izisunk, 1hal~l:xIn azt szeretnénk, hogy minden tábla a rend'iZCl' egy-egy logikai elem<'( ko.pviselje. A könyvgytljteményt leíro adalb,ilisunkoon erek a logikai elemek a következ6k lehetnek: • Könyvek • Szerz6k

• Maf:l.jok • Kiadók

Ha letuil "8)' olyan renclszen szeretnt'nk fel~íleru. amt'ly a könyvek S7~, mafaját és 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 meghaL;Í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
ki:>~t is

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.:!.. AZ ~Uatb5.ZisoI< ide:1lis .~:tbcn rninden Iogika.[ elemet egy·egr c~blávaI1bri7,(>llUk, amel)'ek közö« ponlo:s;ln rneghatlro.wo ka.pcsob!oIi; lllouk fam, II kOn)'v ptldllOUk c~'fl:iZOllb;on ~lntihU..~ adatbbisoklc:al dolgozunk lu ad:itok~, d(~, be:mlris3, fri.ssil.~ ~ tOrlke Í8)' 50kkaJ qo~), de ez csak I:lJlUlisl relokat szulg;iJ -,. g)~n nem j;lV;UO& lel"':'ezéSl rneg:kÖzdlléo;
~!

Ha az Ildatb411Hervezáf6l1öbbet Slefitnénk tudri, ~ MIChael Hemandez kiv6J6 k6nyW~ amelynek elme D4f/tbau {)wgfl for Mere MOItI/$ (ISBN: 0201752840; maovarul AdatbMS . tMWZb: A ~ adMbázJ$Ok l18pj&róI f6Idi hallIfIdóknM cllMIIll jelent meg a KisklpU Kiadó opvtorádban, 2004 .. ban; ISBN: 9639301752),

ai6nIlat,..

Adatok hozzáadása a Books táblához
Eddig cet~c ~ hollunk eg) ~(Lu~ZIS( .. 15 benne .. Ik >k, úbUI. A úbl:;ioon ~zonlY~n mtg semmilyen .. dll ~ L1.l.ilhaIÓ, Nén,. követke~ It<pts k....rnt'szetesen az, hogy a t:ibl.11 felt/)It..ruk ..dl.\okk .. 1 En .. Vi5lJ.;l.] Web Developerben b ~ ASP,NEl' old:iloo kereszliII i>' mo:.'gIehetjilk Ebben ~ ledctben ~ \",sual Web I)ew-!oper segi~el adunk rekon:lok2c u ad:il~ushoz, az ASP_ "ET oldalról eI\'tgzecl ,.daúellóllc!5.sel ,. 16, fqezctben foglalkownk rniljd. A \"1SU:i11l'.-b o.,.,'eIoperboen lU ,.d:ilok szerkenlé:sére, Il~re ~ hozZ:bdi!ólt3 II rnlal»~ Explorer w:>Ig,iJ ln bOnlsuk ki a Tablö 1ll3-pp;lI, .. melyben az ,.(\acbb.LS úbUhuk I~ja uWlwUó, rniljd kanmlSUnk az eg<.'r jObb gombja\"al arra a bbUrJ, amelp.ck .. z adat3'I $~erke<;7.lenl slert.""I.nénk, b VJlll$l;zuk a Show T3bl~ Da!;, (Tl1.>l~ adat~in:ok megje!enlt~) Ich<'16stget, Euelmcgjelcnlljük a kiJelölt lábi .. lJrtalnúl. ahogy ~ ]3, H . ábr.1n il>lo'itha1luk Az á!rin mcgf'gydlt«j\lk. hOSY jelenleg nint:!lmck rekordok:l Book. ú1.>l~ban, Ahhoz. Iw:lg)' fel"'együnk egy n:kordol;;1 úbUlJg. egr<;;z~en c5:lk .. Bo< < I D oszlop :W.lli SZŐ\egmeza~ kell kallIlllllnunk. Az egyes mez6k Ic~ .. TAS bollentyúvd rnozogh:I.tunlr., és a bollent}'Üzl"U'6I irttalJUk be;l Ili\'~m acbtok:u

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 megpr6b: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).
Ne aggódjunk, ha véletlenül 6rvénytele!1 értéket Inri. ba egy új rekOfd esetében.

Az adatbázis adatai ilyerokor nem vesznek et sól haszoos hi~ kaPIri, amely lelria. mi volt 8 gond.
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).

.

""~--

... ... ,
....

,

-_--- -- - - - - - - - o ••
0-

_ __ ... .__ ...

13.6nI • E\eYIZIléS IZ 8dMMMok YiI6gjM 1311

-•
13.1 •• 6bnI
El$5

_..
.,~

-

0'

""._1

-,

"")'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 figyelmeztet, 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.

A fentiek clv(,gzése ucln ~ \'örös felIW1l6jelek eltünnek, és ~ BookID ~-ellába aut<>m~lik\~'<an egy énék kerűl (1~5d ... 13. l S, ~I)r:lt) Emléke1.Z11nk viss?.:!. hogy ~ IIoOk ID automatikus sor.;;ziJl"l()Zjf>Ö oozlop. VJgyi5 aZ értéktt n adatblzis-keleló szurj:l be. lIa a tábl~hoz egy úpbb rekOfd<:>{ adunk, ann~k BooklD oszlopában a 2 bt(ok fog 5Zerepdni.
G)'3korl~sk"ppen ~djunk

néhány rekordot a Books t~bl~hoz:

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" o

o•

- ....._ . -..,,- ..0-·.- ... _
~•• o

..

o>;.=:_~

o

~.

_

13.15.~ JI BOOItS l4bIa

.. "
,

"

•.'2)'

-

" --' " ' " , "

o

uj rr:IIOnl horrtiadAstJ lIUJ"

• • ' • • .-, --"""-'-'

..

, .. --..-- -- -,- - - --- -- - - -- ..·-- - ----,-- - · ..... --.. -- - - -- - .."'--. -..- _ -•

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_

A Visual wiib ~ oom tuk új rekOfdokat vehetünk fel egysrenlen II téblákba, lIanem a mM megleY1l adatokat is ugyanazon a feliileten keresztül sze~eszthetjiik, Ha egy rekord tartalmát meg szeretnénk v;tttollatn~ IlJVSZ8rUen kattintsunk a megfelel6 SOf megfelel6 mez6jébe, és hajtsiJ:. viQl'e II kivánt módosltásL
Az óra elejér61 cmlékczlte\unk rIi, hogy az ~d1tb.i7jS :llruklUr!H1 adatok g)'lTJleménye, amelyeket ha!('konyan l"!'helunk el és ITIÓdOIillh~tunk. MQ6I mjr !.inuk, hog)'an ho.cllatjuk leu.,:u inform:1ci6k.:n tároló szerkezetet (az ud:ttb.izisclbl~k;I\), és aZl i5 megtanulruk, hogyan v(']>C\ünk rel acL1tokat ~ t.~bUkha, Az ad:t.lb.izisok legfontOS:lbb swlw1lt:ttá", azonm.n ull'g hátravan: az ad:ttbhi5b:m tárolt ad:ttok h:nékony eI&ése. Ez lesz a kÖ'o'etkezó ón té.mja

Összefoglalás
Ebb"" a leckében megtanultuk. hogy az adatb.i~ olyan .-zoftverrendsrerek. amelyeket 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.
Az oszlopok mellett az ~datlAziSl.iblák somicH is t."1!t1lnuznak; ezek L\rolják II IlIbia

adatait. A 13,\6. ábr:in péld:lul aZl I~uuk. hogy a Bookl tábl~nak öl sora van, ' .. gyis a t~bla öl: köoyyr61 tárol tnformációkal. Az ad.1tb.iZJ.stáWk tart3lm~t ~ Visual \X'eb l)eveloperbcn úgy Ickinthctjilk mcg, illetve szerkC5Z1hc1jük, hogy:lZ egér iObb gombj~­ val ~ tibia ne,·&.. lumin!unk, maid ~ Show Table lfJta leh .. '\.~gct ,'iI'l$Zljuk. Ugpflllt nyllik alkalmunk új rekordok felvételére is. M05I. hogy meglSrrtenük n adatlA1.;sok S7.erkczet<'t. illetve megtantJlttJk. hog)'an hozhatunk l&re ~datb.izisobt és ~datb;izist:\bl~kat, készen állunk arr.., hogya IlIWkból adatokat olvassunk ki - a kövctlu.-z6 6r11nn aZ adatb.izisolr. adataínak clér6tre :QOlgiló lekérde1.6nrelwel ismerkedünk meg.

314 11. r6R - hbU*'

1

f'

"kol

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' 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,

v:

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 dbl: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;tziskezdő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 ,,:illowihoz 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$ ~
kula

UO qo'e.!; $OI'Ok egredi aZOflO5it'isj(! 5. J.tU1den ~lQIt ad:nh:br<libUrulk oszIopp;al" 19u >agy hanus?

~Ikeznie

kell

~

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
dófordul. hogy az adatbb.isb61 kinyt'fl mformkiókat egy ASP.NIT w~>boIdaJon m:reménk megjl'leníu·ni. Ahhoz. hogy erre k~ dljunk. meg keU tanulnunk, hogyan oIva.~hatunk ki adatok:ot egy adat~zisb6I Az ASP_NIT úg}'nevezeu admfom1svezérlői pont~n ev a célt swJgjJFlk. Scgíl>kgllkkel az ad.ltbázisok adatainak kiolV"Js;\$! csupán annyib6l áU. hos>' egy yezér\6I az ASP.K"-'· okL11rn húzunk. 6;; egy v:U:áz,JÓI követve loc'gadjuk. hogy melyik ad;uhu.1S meJy adal!l.ir~ van .szilksé'g\1nk. felszín mOgött:u: adatf<.>fT"oÍS--\·ez&\()k olpn p;it':mcsolm küldenek az adatbá1.isnak, amelyek nyelve aZ SQL (StnJ<.1Ured Query 1..:lflgtJage, vagyis Slt\Jktur:llt lekéTdeWnyelv). AZ adnok k!nye~ minden modern ad1\bázis~er:u: SQL nyel\'et ha5Z.n~lia. ezén az ASP.I'iET adalforr:ts-wzér\6inek ismettelbén kivül a leckében sDnunk némi időt az SQL nycl\1arclnak bemutatá.<J:ra is.
A
G)"dkr~n

Adatforrás-vezérl6k
Az ASP.NIT webes \'"l'1'rI6k széles vilas7.1ék11 tart.1lmaWl. amelyeke! a korábbi leckékben 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).

"'~

Sil." .,._S ..
14.1. itbnt
A \

. ..,......... . - -......... ......... ..' .-- ....
$
1

,60

,,..16.

J~~

,

",tul Web Der.o:/op<:'r T<>Oibo.>: palcttdja

gAlliO<

adaifomls-<-'CZérlót wrtallll=

Az adaúorr:ts-\'ezerm rl...'61 az adatbázisok adatainak elérése csup:1.n annyiból ~1I, hogy a megfelelő vez(:rl& az ASP,NIl, oldalrJ húzzuk. a program k{'résére tTlegadjuk az ad;Hh1ziSl, amelyhez kapcsolódni akarunk. m..jd aZ ad:'tok~l. amelyekhez hom

$Zeretnénk férni. Mlrldezt anélkültehetlük meg az ASP,NIl, old~1 o...."ign n"'Ze'lé{x,n, hogy egyetk'n sor kódot kellene [munk,

14.6n·AdIIo\:;.I,h lIladlcb,"; f16tbl ! 319

Az IldetlOfT6s-veztn6k eI4lP6n hkltérll SZOIgjInIIt az ASP.NET oldal " az ldatMm; között, VaqYII • 'o'elér16 csak kioIvil$$B • k*t adatoUt az adatbál'lsból, lM 118m k6pes azok ~t'w. az oldalon. Ehhez eov úJabb webts vezérl6re lisz ~,
például Igy OropDownlist, Igy GndV_, Igy Dtttailllist, 1'lY ChedBoXUlt vagy eov eMeZ hesonl6 vezér16re. Ebben Bfej8le1ben az .&itoknak az adatlO/Tn-Wlzért6k segí~ IOrtW ~ Ö$$ZpOntosltook,. ulyen adatok ~ az ASP.NET OIdeIOn . kOvttbz6 ón """'" lisz.
A7. ASP.:-''ET-hez /'ll :Kbúomb-\'NérIót lapunk, ;l.rneI}"kt1;1. ,,, l :1lrln Uth.:nunk \1mdeg)'íknek DarnSoul"ClMll C:Kbúorrb) vtgzólbk;l. neve: SqID"1t;r,'iglrce. AtteI5Dat.source stb. A7. Cg)-e!I ~datflJlT:b-\"ererl6k<.1 kOlönböz(llipusú forn'isokbt .... tó munldra tCIVCzt<'k. A7. SqID:lt:lSource pé-tdíul atblok ~d;lLt:.Iw.bóIv~ló kiol\"J"jSlra \":1)6,

XmtDacSource XMLfiljloMlldarnin:ok k;n}"~re, ~ Sile.'>{apDarnSource po.odlg qn" .. -ebIIl.'I)1érl«"'p lekl'ttk:zbl-re b ;l. webhely sa.,.kckttnek V~l"d , ~mely.:t llldll qn"Tree\~1eW (faOl!'<:et.l \'lIgY Menu ( II>enÜ) V1:zM6ben jelenitherünk meg

a~

....,...-

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 T HCIt 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!rké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

Az SqlOataSource vezír1cl hasmálata
Az SqIDJ~,~ lla.WÚbtinak gl'ak~~ ~nk Ie:sz ~ adatt:.lZlS5:aI reodcIke7.Ó ASP.:':er .....-ebheI}"'" I-Iojo' ne kell"", rgy 1ii .....-ebheIy 13 qn":KbtbW$
Ittre~,..t

b:l.jódnunk.

~

l i fqezerben dkCszilen wcbhdr« ts ~1.ISl fogjUk

I\a$ZlÚLni.
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

..--., • .• '--

,."' ... >lJ •. ;;J.

.......

. _ _ _ ....

.,.

_---_ ...
• "

';J.." ..~
.

-

I-~"

_.-

.... ,

••

• • •

=

-

-, -

-

.

...

14.2. ibn

A $zOrke t"'gLabpon kiviila képern)'Ón egy úgyr>eveZett o.ws cfmkél is Uthatunk. amely az adon webe:;; veZérl6n v"'grehajth:n6Ieggyakoribb mű,·elctekt.1 sorolja fel. Az :J.datfom'is-vez~':;k e5e1ében az oko:; cimke kezdetben t'gyedcn k-h~16ségc."'I tanalmaz. ~ Configure Data Source (Ada\forr:is bclll1ti:lól) nevűt. lia erre a hi"atkoz~srn bUinlunk, elindul a Con/igure Dma Source ",,!"ázsió, amelybcn megadhatjuk, milyen ad.1tokat szeretnénk kinyerni az adalb:lzisb61 Ahhoz, hogy egy adatb:ll.is ,,(l11aival dolgozlwsunk. az SqIDat;>Source n::té1"i6oek két dolgot kelJ ludnia, • • Hogy:.n kapc:!Ol6djon "Z 3001hhishoz? Milyen lekí:rdCzt:Sl kell kiadni" n ~dalb:lZl5 felé'

Az SqIDataSouree \"ezérl6 '":Ir:í;r.,;16j:;o ennek a kéllokfon(~gIi ,nformki6nak a megadását kéri, m,<,ghoUá igencsak fejleszt6barlt módon. Ismerkedjünk is meg az SqlDataSource , ... zérl.:; ,,,,!"á7.516jh":ll - vagyis kauintsunk ll"lO>.l a Configurc Inta Source hivatkozásra

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:dzisrtak. 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

=

A /(!II,f/(J II.<I<JI>6I ,<111..,..,,,11
I> M!'Ftfllf)alubQs.,

miiIaJmbtt::ul

AJ. d&hCt6 adath1iliok 1!SUj:!. ablt a Connection 5I11n8 (Kapcsolati br~kterl~nc)
fdir~tOl látJuk, b mellette egy pluSZjeJt.'l. Ib. ~ plu'Il:lClre ummunk. tith:otjuk az ~wt· hbJS ~wulll3k elé-ri.·~·hez IuSVlá.lt kapnc/ari kamkIerl4nco1. A kapcwbtJ brolkler1Jn.: ol)'an ,,1~~yszmll1lJ\form!ició. ~mely az adalbilJ.wIOZ ,,,16 k:a~lJ.shm szt.i~ ~eteket adja nq az ASP.I'o'ET-nek Ax ASp.NET kClriibbi ~llo%:lt~l!»n II k:.JX....tati k~roIktcrbllCO( magunknak kellen összdlliununk,;1 Visual vr"h De\'el~ lIlonb;)n" lenyíl6 hstálJ6l klv;llas7.tOlI adathizis "lapjin eZl el"~gZi helyettünk

Ha nem III aI6ld ~~ IIIlr1hozott lldatbmstm, hanem IllY máikhoz _tb • • csadakoznt. ~. New Come<:uon gomtn, Az tmek hatáúrlII\llQjll1ll6 ~"'" lI'IIPd\Itr.Il miIYWI típusú tCIItI:tiZJShOl szmtn6nl:: ~ IllY Jnésik lIbIekban ptdig ~IJI* • ~..SOJat részle1ert.
Ha az ad~!b:1zi.shoz el6:szOr lcipoolódunk egy 3Wlforr.b-veztrl6 qit.<;tg.:wl, II progr:l1n feb~nlja " k:ipcsolat adatainak mcnttsét ~ wl'balkltlm.azás bejllit6(j,ljjb.! (l~sd a 14,4, jbr:lt), \ ' Ivel ~Z ASP.NET-nck uükM!gc van ~ k~poo::..oIat.i klt",klerljr..;r~ ~Z adatb:i1J.S,j::J.) való kapcsobu:mhhoz. ennek aZ irúon~eión:lk valam.lyen fonná!»n QefqX'lnie kdl az ASP okbl k6djloon. Il~ ugy dönlünk, hogy a bpcsolatJ k:....... kterU.noot ~ webalk:lJnuu~ br:1lli16fájlját:.. mentJÜk (~m. melegen ajinlott), 11 f~6köm)'-ezet aulOlll3ukus>n besn'lr ~ _b., ,,,riO f~jIt:.. egy ú,Ix-.lJlitlsl, amel)' összekapcsolj:!." mepiOIl ne'oet a Iapcsol3ti karolkterUnccal Ax adatbiZ151 h:asznJló ASI'!\'ET oldalaklUk ezutln nem kell megadniuk 3 Iape$Ol3u karnkt.,.-t;inrot . d~ lu anIUk a web. contill f:ljloon szcrepl6 ncvm hi,,,,koznak

"I;,

A IapcsolJti karnktcrl~nc be:1lhl6fJjlba membtnel< dooy/:, hogy kÖZ\etettclJbé leszi az alkalfT1llZÍ5l.. igy 3Z könnyebben JUd alkalmukodnl 3 v;lltorlsokhru.. Tegyük fl"! pékUut. hogy ,,,gy egy weil ASP,;..TI oldallal ~Ikel;ilnk. amelyek a Hyf'int DIltab...... mdf adatbá1J:st lu.szrdljlk. ri"d:i5'd ezt az infonnkX:t nem mentettük

a web.ccnfig fljlba. Ekkor az "d:ltI)jzis kapcsolati brJklcrlincll mind II 12 ASI'.I\'ET old:llnak t:lrtalmaznia keU. Mi törté-nik, ha" kap:solali karakl('rl~nco! módosítani kell. po'Id1ul ~n álI1l'vl'Zlük" ffill, vagy a f6nökünk új aduw'zisl kbzíleu, <'s all sz~, h", in!clbb azl 1~11L1nk? A bpcoolati brala.,,-lfncot mind a 12 ASI',!'o.'lo"T oIdalb:! belck6dollUk. vagyis mindegyik C5f1l'bcn n>eg kell nyilnunk n adalfoJT.15<vezl'rI6 varnMI6j:lI, b frissílcn; n infoml!ici6t. I[~ a bpcsobll br~k1CTUnco! a web, contig fljlb:! menle\tük volna. a módc'i!iitisc OI:Ik egye\k-n helyen kellene elv~1.nünk - a ...eb. centig ta]lban .

..l:, _ . . __ .... -

--__-- _._...-..__. _.. - ..... . . _= . __ . .
. . -.. __ ... 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áncbeá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.

2. lépés: A SELECT utasftás meghatáozása
:\liután megadl.llk a kívánt ad::ltb:á2LSt, ts szük!;ég ~tbl elraktJ.roztllk" bpcsolati karalaerl10C01 a web;tlkalmJz1is be~Uít6fáil~oon, .. követkcz6ltpts az. hogy rnegh.wí· rozzllk, milyen adatokal szcrelnhlk kinyerni az adatbán.sb6l. Az Sq!DlItaSourre vadzs< lóban kétfeleké-ppcn v:ilaSZ!hatjllk ki az eI~mi kiv:int adatokat, • az ~datb:izjstábia ts a viS5Z:dkapni kI'''nt os.zlopok • egy SELECT SQL·leIl(mI(:zésst'i
meghat~roz.i5ával,

illetve

A IlaSudh megközelitbt61 fliggedenill aZ etedmény azonos, az SqI[MaSourre vczbUI dMllit valamilyen SQl-lltasitiisl, amelyet elkilld az ad~t~>:1Snak, hogy kiny.,.;e II kiv~nt adatokal, Amint .n említettük, az SQL u II nrelv. <lmel)lCl minden modern adltWU$-rendszer h3Sl.ll~] a lek("fdezésekhez.

tb az ds(! mepd15 mcllClt dOntünk. a var1zs16ban kiv~J:t5ZIhatjuk ~ I1bI.1t, illet,,,,, mc8"dl~tlUk a kiol\':l§fti ki~~nl os:zIopokat A rnh<xbk mcgolcü.s r5c1:ébm ,i.!.wnt meg k~ll adnunk 3 pontos SQL·leMrdezftl. la. SQL wppiról a fe;eze.:ben kb(lbb
qtOnk ~OI. úgyhogy ~g)~ 1T\:Ir-.tdjunk az eIS6 ......-gokllsrdJ 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

kijelölése Lj!Jlaból vagy

k,tt'lOIni. dbsszuk a Specify ooIulTU'I$ from a uhle or view (Oszlopok ~zedl6l) Iehet~1 (115<1 ~ 14,5.lbclt).

--............._ __ ..... _-. -._-_ _.- , ,- ,.
-,-14.5.6br1
I "d/t:uuu • .... 1Abklt, .. ~
<IZ aJajilll ., ~....

011_1

la. ad:llWzisban talj!ható tibl~kat a IcnyJIóllr.Uban taUllUk. ~ kiJelölI t1b1a ~zlop;tiruk
fdsorot1~1 pedig a lenyíl61iSla alan. M",~l ad:ttb~zisunkb:m CSlk egyetlen tjbLa ''''n (Sonka). a len~1Ió list1b:on e1l3~ egy lehet~get I~WtlUk_ A~ :dalulC"611lt'76ben IJiwlók:oz 0ISZI0P0k (lIookID, Tit le. Au' ll"". Y... ~Pub, ",",oo;;!. Prt Wo" ~ és p.,y"cQunt). iIIe{ve eg)' • elem. 12 ulÓbbi az dssus oszlopot ;elöb.
J~löli'lk

be awkn:ok az O5Zl0p0knak a négyzetetI. amclyt"k~1 ki nereut';nk oJv-dsni a IIOQU ~bI;\b6L lia minden 05zlopértékre 'RÜ~nk "an, jelOljUk be a ·letlet6ségrt '":Igy egyenk!nt az Ö6SZeS oszlop négyzetét. '\étu azonhm CSlk :oz 0ISZI0P0k egy része

érdekes a snmunkr:o, I*k"ul ru. egy oI)":In ASP_-':ET okblunk amely CSiltk a kön}'\-ck dmc,1 ~ja rel. Egy ilyen okbl e:;ctében eleg. I~ aZ ad:I1~l1S-lekt'rden'$ Q.1k ~ Ti t l Itt osllop élték.::;! lIdj:l vis.sza. l'aclJinkban nont.xm IlUf1Id;o.,nk aZ o:sszes O'\ZIOP ViSS1.a~cIJi~rdJ. és jdI}ljilk be ~ • jelOl6négyzet~.
A • ~'ttI ~1ÖIfSe

'.m.

utin qy SELECT k-kbdezés jdenik meg a

~bbk ~tFin.

3 kÖ\-'etkez6 funn:ihan

f.1l az u!:l5itht hí"ják SELECT Ick&dt:z6nck, és ez a7. az utasitás. amelyet az SQL-ben adatok kioh~s1ír:J haszroln;lk. A SELECT lek&de?ks több rtlirlx5! ~lIhat, amelyek közül néhJlny~t a f<.;ezct kb6bbi részében ~rgy:llunk. mO:SI azonoon nem kell agg6dnunk amL1u.lu nem ismcrjük pontosan az SQL nyel\1:lnál. ÓSSZpont05í1SUnk arra, hogy:in kell kijelölnünk a ~bIaadatokat n SqIDataSource vezérlő \":Irizsl6i:ioon

Most. hogy megadmk. milrcn ad:nolut SZCretnl:nk kioh":lsni II IIooks tibiából. kani ntsunk a Next gomb.-a. hogy elérkezzIInk a v-ar.íz.sl6 utolsó ablalclhoz.

3. lépés: A Iel<érdezés ~próbélésa
Az SqID:mSource vor:íl5ló utolsó abbka a TeSI Query (I.ek&dezés kjpr6W.I~S:I), arnetyb61 elindíthatjuk :I lekérdez6;I, hogy lá;;suk. milyen adatokat ad lissz..l Amim II 14.6. ~br~ mUlatp, a SELECT' FROM IlIooksl lekl:rdez(~ ",i.u/ell rekordot viSSZ:lad II 1Iool<s tibiiból, 6; minden ",kordban IIlCrepcl II tábla 6s.ttefos21opa .

.....
~

...

-'.

."

.1, --

___ """"""",_",,__ ,.--,,-,,0-

14.6.

jin
",Ind<~,

II k/d'rdah
mi",,,",,

sor

o<rlq>6' 'U:u:amJjd

Ha azt az eredményt kaptuk. amire számllOl1unk. kanlnlSUnk a Fini5h gombra a l'afiz.sl6b61 való kiléptshez Ha nlamí nem tcuzik, a Previous gombra kaUintvo vissz:llépheIOnk. és szOksé-g szennt m6d0>;íthatjuk ~ lekl:rdezbl.

ÉSlIwehetjiik, hogy amikor aIN libIát választunk ki magjele!lltésre, 8 tábla összes rlIkordjAt Yissakapjuk, méQptldig a Bo< kW oszlop tiftékei szerint rendezve. ASEL&CT SOl·utasltésban azonb(lf1 &gyszenlen korlátolhatjuk a vissza!ldon rekOfoobt - például megjelenlthetjiik csak azokat a kiiny.oeket, amefyaknak III ilta kevesebb volt 20 doIIknál-. és III eredményt egy !Idon oszlop szelint rlInOelve is
kérhetjük. Al IIlIdmény smrhsére és rendulhsl\ra használlató SOl~tasltAsokat 8 fejezatbart flamafosao t6rgyaljuk, mIg Illó!, hogy ezeket 8 be/illftásokat hogyan juttathatjull; éMÍnyre III SqlDataSource·variilslón hrllSlliik. a IeckébMI később ejliri. ~t.

IQ. SqlDataSOIKCe . _ kódja
1\ \rlllual Web Devdoper "8ys~en1v~ Leszi a WL~ \'cztrl6knek. Wetve:l. SULiku5

tHwlomnak az okblhoz ada.~L a le.vero nt1.Clhcn, dc eIn",,,"'1 nundig meg]ni:roc!ik :l. rnoegfelri6 kód, amelyet J fOl'Tis ntzctben ~Lh:OLU"k \;~z(lk il;; meg. milyen kódot ~J~IOII d6 aZ Sqllht:iSoun:e luér16 '"2r:I.z.J6j:l.1 Mouun a \'~Jizs16 finWl goml""r~ kauHllouunk ••-::il"'-Lnk a Souftt bpra:u ASPSE'T okbJ I rrML-k6djinaJc mcgtekinLo!'lEhel.- Al: SqIInUSouroe .'C'ZtrlÖ megh:ItJrozh;I ,-"bhog)' igy r~:
<up, sq l o.taSo\l~ce ID "Iq loa, .'·'<>Urcel' r"Mt.· HO'",r· Conn",, ~ I enSt d "'10-.1 $ C'ü"""ct lonSt r i nll5 ,(:Onll*CtlonSt r Inll b '
"l""'tC~nd~·S~L~

• FROM IlIOok.)" ..

• f,8p,SqlDmraSoutce.

.0 _ Ez a [ut..~g:KIj:;l
a~16

meg az :u;btfomis-velérl6t az okblon ~~llqJ
rlC\'c:t

...... ..1. Az abptnelme:wn "'

{SqlDataSOUreel) b<iU'lln

mI'xlosilhaLJUk '':Ibm; IleSZéde:.ebbre, pfldlul a lIc~k.Dat. nho:. onnection5t r I ng _ ~:Z a rulajdoru:lg ruu.11'1')U:1 meg az adaLboizlShoz VJl6 o;albko~ h.aszn.1land6 k:!pcs<.>larJ karJklcn;inrot. Ha úgy dömött!lnk, hogy a kapc.ot,(j karaklcrlll>OO1 a w'cl>alkalmatls bd!!il6f1jlj:li» n>eTltj\1k, ~ TU13~g 6l<'ke II wab.(,>n!l\1 r,i~ban SZerePI6 ~paolahk:tr"Jktcrlánc-bclIHtlJ llC\'e lesz. A <\$ """"801 <or I K.t r.k. "r1 áncNl§v b fQI'TII:ijú "taSd~ azt mOnUj:l az atbúor· rb-ve7.léri6nek.l'Iog)' al alkalmad5 kapaol;iti kalllktcrlioco.i kO«lu kdl kere.o;nie " $ZiI~ inforrtdöut H:a" k:.paoI;ill hrJktcrUnrot na11 mentdtok a web.eonfi'l f~jll",." fenti kód hdyén a tdICS lapcsobti Iclraluettinc~. • ;elotetCOIIIUInd - Ez a tulajdonság haUroua m.:g al: aWt~k kuldOtL SELECT lekhde:té:st, F.gyeljOk meg. hog)' a L"laitJons-lg értéke mcgcgyelJk a \"Jr:lx.s16b:1II IJLh:uó lJU.1':CT ulasít.i",...1

M. SqIOauSource kód!" ..-ddlg el<'g egyszenl. hl5zen QUIlJn hi"",,) t"lajdoM;igénékb61 ji] Ahogy "zonb<an egyre bonyolultabb példtk"t 1;Ílunk majd. '..neJyekbl.'T1 imenlniv szíJrk. fM5Ílb. ~~ ~ ~ is szerepel. az SqllhaSource k6djol ~"('II1I;;In nO\'ekedboek ,nduL A Itnyeg. hogy az SqIOaaSource-'.. r.I.~ két módo;oo segit bennilnket: elkesz;l, " megfoelel6 SQl-ut:l5ithok:ll. igy "robI na11 magunlmilk kell betrn"nk, v:damlfll megk.Ln>él a vezérk5 fOl'Tis.1ru.k f~llIds:igos begépeI&l'I6I

320

Az adatbázisok nyelve: az SQl
Ahhoz. hogy az SqlDaI:lSource \'('zérl6 kl:pes 1egy~'Il ~d:>lolqu kinyerni egy adatbbL'Ih6I, kl1 WOl1l1áci6ra van szOlc,(-ge':lZ adllWzi5 kapcsolati ka"Jkter1áncir~, lIlet\,,, a~ ~datW· ZlSl1ak elkűklend6lek("fderesre. A11OK)' az el6z6 részben emJilcuilk. a leko!nlezésnek oI)'"m nyelven keU tr6dni:<. amelye! az adatbázis meg&t. A modem adatb:\zisn:ndszerek kÖZÖ/; nye!>"" az SQL(Slructured Qut."!)' unguage),
ligy adaili'i7j~ n SQl. SELEC'l' utMtású..aJoIva$lLltunk ki adnQbL A SELECT trulsiw a Iegegyszen1bb furmáj:Uxm au adja meg, hogy melyik adatbáv5lábliból szen:.1.""nk adatokat kinyerni. illetve hom- mell' ad:u0<5dopokra vagyunk kí\·~ocsiak. H.1 példlul a Books t!ibl:llian s~ könyvek eimét ~r...lnl·nk rudni,:12 alflbbi SQl'Ula»Í1hl alkalmazhatjuk:

IUl' a l SQL-t els&orb:in az ad:>lok kiolvas:ls:\ra hasznilj~k , új adatok beszúrása. illewe már lélel.6 adalOk frissítése vagy IÖrl& is clvé"ezhel6 II scgitség{·vel. Az. ad>\rllÓdo6itls aZ lNSRRT (beszúr.i5), UPDATE (frissítés) l!s DELETE (törlés) ulasitásokkal hajlhat.6 vtgre

Ebben a lejezelbefl kizárillag aual logIalkolook, hogy mikoot lehet adatolr;a! kiOIVa~ III SIll segitségével. A 16. órától kezdve azonban az i!datbáziso~ &ó&tainak tör1ése és s.zerkewse is terftékre kerűl.

Az SQl SElECT utasftása részletesen
Al. SQL SELEC"r uta.'iítis.1t arra 1\3~ználluk. hogy éntkekel ol\'~n k ki egy biwnyOll awtlXlzistábla <.>Wopaib6l. mtgpedig az ~I:íbbi formáVan' SELECT &-zl<>pl, o,.zlop2. _. OtJzlopN
!'ROlI T~bl"Név

Al. OIIz1opJ_O;ozlcpNérttkek a Tllbl"Név ad~tlXíl.istlbla <.>Wopa;t jelölik. Ha például a Book,. tábla Titl!! és Author osoopaib61 S'l.Cretnénk aclltokat kinyemi, n alábbi SQL-utasíúsl hasmálhatluk:

SELECT TItl", AuthQr
FI!OM BookB

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.

ASELECT zátadék 8 \'.eresen oSllopolo:. veS$ZÓkk.e1 elvAIaSlIon listá}ét larullmazza. Ha egy adon tábla minden oszlopának értéké! ki szeretnénk ~mi, nem keU
beírnunk III összes oszlop nevftt; el~Q. ha • csilIIIg (. ) jellelllefyenesítjiik 8ZtIkat.

Az SQL~ekérdezések eredményének megteijntése 8 Visual Web Developerben
Amikor az SQL haszn:IJactt tanulju k, nem:lrt, ll:! v:.n egy ad;It~ZlSUnk. amelyen Icfun~t· h:lrill k a Jek':-rdezéseket, hogy ~ssuk, mi lyen eredmén}' adrulk vissza Szerenc:o;ére a \ rl$Ual \\~eb Devdoper megJehet6sen egynenJvé leszi eZl a feladalOt, 561 rnl:g rTl:IgJlrok az SQL·lckérdczésnck ~ felépítésél>en is segit. Ahogy aZ el6z6leckl'ben 1.'ilhaUllk, a llitabase Explorer alJlak az a hely, ahol mcgte· klnthe!lu k az C:ppen megnyilotl ASPS ET webhely adarJ:;Q1.is:til, A O:uabase Explore1'ben k:mimsll nk az egér jobb gOfllbj;h.,d a kÍ\~nl adatw,z,s ne,'ére, ts a helyi menüb6] \':lIa.sszuk a New Query (Új lekérdezés) Iehct6ségct. Ekkor megjelenik a lek~rdez6 ablak, amely el6$zör arra k~r, hogy jelöljü k ki a lekérdezni ki\':lnl c\bl~k.:il . Mivel adatbizÍSIln knak csa k. egy tlbl!ij:l ~.,m (eooks ). a Ilo;!.'ioon ez aZ eg)'~'tlen elem szerepel ( lis<! a 14.7, :ibr:!.l).
•• , ... ~

-

.-_-,...... II
t"

., 'IC

14.1. libni
II "'"
1,,1.=•.11 .iri "
J~1Iérrtezn1

Mto:l" l UibM(Iul}t

I.
Jelöljük ki

a SookB

!ábl~l, 6;

IcaUinl5Unk az Add gombrn. al\>cU)'el" L1bl1\ a lekérde-

zéshcz adhaljuk. A IIook~ tábla felvl'l.ele utin zárjuk be a p~rbcszédablakot a 005(> gombbaL A képem~'Ófl ekkor oIpsmit kdllálounk. mim" 14.8. ábr.in.
D

'" " •

••••••••

~,.,..,.

-.._--._~ ~ . ~ -

..... _... _... ----.- ...
"'"fl. '"" ,..
!'tl~'"

.-"

.. -''''''

."

-:..,,--.----"'-''--''-, -- --

'

..

..-........ 0'_

....-

--...

-14.8.
jin

lcI.h-tlem I<'t.-..Jro%dsa hfwtaltbtl a leltén/t>W obklkból

A lekérdező ablak alap:HlapotOOn nlógy reszrc o$1Jik

3bbkúbl~j:I, a

DIt/Hmm ab{{lkláb/a- EIJben az 3b1ak~bI:\b:ln. ~mely a lek&de~ ablak legfel!;/5 lekérdo:zéshez adou tábl:1bt Ilthatluk az OI>lloplilkkal együn. Crilmil ab/lIktáb/a_ E2: a r3cs. amely a Diagram ablaktábla alau u111ha16.
Icktrdc:z(:~ ~1\:lJ ,~~:tdoI1

Q:>7Jopokal sorolja fel,,, r.ljuk vonatkozó csctlegcs felt(~elekkel (rendezés. szűrés stb) együn • SQL ablakláb/ll- Ez al; ablakl1bb "CIlleri.a (Feltételek) mcs alan a \"égrchajti'>ro váró SQL-!eké1"dezé.!ol mutatja • Res,;/rs (l/J/(lktábkl- Az ablak leg,lsó abl3ktábl:lpban (Results, \t'J.gYis Eredmény) ~ lekérde<:é$ \'~I!JCI.a~js:l utini (:redmény lekinthct6 meg, a
Al el5Ő h.:írom ablaktibIa bizonyos szempontból egyQnmúködik. lIa kijelOljük al oszlopok egy részét a SOoks tibia o.agrdm ablakwblabdi álrlzol:lsiban, majd \'tgrehajljuk 3. lektrdezés!, a Crilena r:ks ts az SQl. ablaktib1a Ctlnek megfelel6en fris6(}1. Ugyanígy, ha $:Ijii! kt>zffie8 úunk be egy SQI.-lektrdczbl3l SQL abbktibl:1ba, k "égrehajljuk aZ!, a diagmmablak k 3. fdtéotdr:ks frissítéstre kerűl sor. Az en.><lml:nyablak ezzel szemben CSlk a \'tgrehajlO(( lektrdcz6 eredményét mULilja. függetlenül anól, hogy melyik abbkúbl:ílYdn határoztuk meg a leko!'nlezbl.

A lekérdező abbk tetejl:n egy sor kO~ ~ ikont (gombot) találunk (I~ ~ 14.9 :fur.Il) A bal ~zéJen levő négy ikonn~1 az egyes ablakt~blákat bpc;olhatjuk be 6; ki, igy a nem haszn§lt ablakoku elrcjlhetjOk. (Én szen~1y szerim saját ke7.l11eg ~zeretem mcgfmi az SQL-k·kl-rdezésekt"l. ezén Itik.,~ II diagr~m:lblakOl él; II fc!t("tc!r.'iC'lOl.) A kövtc"lkeu$ ikon 3 sorban a Change Type (TIpus rn6dosítá,;.a). amelyre bnimva mcgadhatjuk, hogy milyen típusú lekérdezés! (SE:LEC'l'. INSERT, UPIlATE V"J.gy DEt.F:n:) szerelnénk fUUatni. Ezt egy vörös ft'llOOlt6jt.-1 követi: em: az ikonra kanint...:! hajthaljuk ,.,gre ~ Iekffilfozésl {os jeleníl.het:fOk!T><"g:lZ crreményt aZ el'l.'dmtnYl'blakban. A kÖV<.'lk<. ~ z6 ikon 3~ SQlrlekérdezé:i formai hd}'~k ellen6rzl-s<,re szolgál. Ha II progrnm biffililyen nyekuni hibát taU! a Jektrdczésben . .,nesit minket. A többi ikOfl ol)"'ln szol_ gáluW;okllOz kapc;olódik , amclyck<."l ..>bben a könyvben nem tárgyalunk.

l U.

jin

A k?lib<Wz6 aM.k az eu.lod%tdr fé:Jllja/nu 'l!$freszllbh","

Grakorolluk egy kksit a Ick~z6 ablak haszn~Jatál! Írjuk be az al~bbí lekérdezést n SQL ablaktábl:l:ba:
SELECT • FROM Sooka

Ez után k:luinlSUnk az eszkőztárl».n a vörös felki:l:!tójeJre. hogy v..';grehaj\I;Uk a lekérdezésl A diagr:Hn.1blaknak és a felu:"'telrácsnak ekkor frissülnie keU. hogy tOkrözzl!k az SQL abbktábl!iba bein lelléTdcz6l, az eredmén)'Tlck pedig meg kell jelennie az eredmérl}"ablakban. A )l"kérdez6 ~blakOl II fenti SELECT ut:l~iW; ~'égrelJ;>j[jsa után a 14.10. ~brn mlll:llja.

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.
McgjcKYZt'"nd6. hoJP' a lekérdeu$rnotor id6nkér"Jt átirja al. SQL-Iekérdez~lOkCl. Az imént például aZ!. inuk be, hogy SELECT - I'ROM Booka. 3 'égrehajtOlI lekl'rdt'"zb mégi$ a kŐ\'Clkero fonnit őltÖl1l":
Sn.EC!" IlookID, Titl'l. Author, Ye"rPubliahed, Price, t...ulleadOn, PalIeCount !'ROM Ik>c li: 8

.....

~---,...-_

OP

... _-,.~ _

0:::'= ...- - - - -

- _. - - •• - _. - - - _. - -- ----- - - ---- -- - .- --- -- -.- -..-~~
,~

_,_o,

•• •• •• ••

,

••

14.10. Mn
Az ~ crn1""",~

...,

~)'llblnJJ;"... Ji'knj/f

""w

Tefl1'Jbwcsen ez h ~ nu lek<:...dezksünk Ugy.lrIólll az eredmbJ~1. adia AZ! ls megfl8)'eIhet jük. hogy az eredmény:.blakban Uma!ó eredmény megegre:/.:ik ~lit:ll. ~mil az SqIDatlSoufCt' vez!rl6 v;orizsl6j;irlólk Te! Quef}' abla Idban 1~!lUnk ( I ~, 6, ~br.a).
f'róbIIIJlInk: ki c:g)" rrds.k s~ ul1'iiWll M6dc:ltIiuuk a Iekkdezésl az SQL ablakúb-

IJban SUAiC'r • miti Iol>Its_róI

~

1'_

SItI.Il:C'I' Thi .. , Au' BOOk.

r

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

A visszaadott sorok. mmának korlátozása a WHERE záradékkal
A SELECT u!asitis, ~mikor C$lk a SEI.ECT és FROM uradékokból ~ll, ~ rncg~dou ..wtboi;ciIclbIa miT")",, 501':1! v~d"", A 14,10. és 14 II ;lblikon búlut6 SQL-lekérdc:ztsek ptldáui" !l<>k. Obi:! &szes ood! rnegjdeníuk .• kt'U6 C5lIpan abban kOl6nbözJk. hogy

az crednlálybm 'neJy osdopok

~n

jelennek meg

I. . .. • ....
~

........ _ .......
~~"

..

•• ~ ~ ..... ~. I

-.-....--~-_.

1.,lI, 11m

------ ..- --- ... --- _... . . o ~.

~::.~~=d:= _/:.-

--- -.- -- ••,. ---....-·..-·.-...- ... _...... - ......
,,-"

.-

4.~.

"l.JI ....

. ...

••

,..-

·.·...-

.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)'\~
A SELI'!CT jJUJ vLssz:udoll $OtOk korUIOÚS1r.J a Wllli'IIE zjr.>da:OI: h2s=;JJu\JIlk Ebben • z1radtkban adlJ;lljuk meg uok:u II fel!~kel, amel),..,knek egy ~k meg kell feleln,e. hogya SELI'!CT en.'lInlény8>e bekcrilljön. A kÖ'o,etkcz<'l SEL1':CT utasit.h példiul C5;jk arokat a K>/'Ob.\ adja Viss7.:1, :l.melyekben :I. Tit l" oszlop i'rt(:kc The Number:

,....... .

"" >Ill 8ook. WIlDE "lU.

·Tt

_r'

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

hogy I Th. Number k... aktertitncol .gvszvres idéz6jeIK wszik töriil • WHERE ~ HI Wletl&núl kttt6s ~,. ..1t.tI1runk be" Tnt Query gOmbnI QninMl. kOvetbzd Iib·-,nnetet bpr.a: lnv.hd OUery: !nveHd, ,1..mig,

FiQyvIjük

.,.... ''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'1tműveleti jelével. Ezen kivIlI tcmtbze\e;en más oozch.asoolíló műveletek (például <, <~.
>, >~) is t~lha1Ók.

amelyeket II
:ldm tri'

I~.l.

táblizatoon foglalwnk &SZe.

14.1. "".

A

,,~",

t

.,'fIIIJó 1NÜI'fIIldriI

Muvaleli jel Pálda
Title . ' The NUmber'

Lelrás
Kél. &tt'ket hasonlít össze. b Tr1.Ie-t ad vissza.

,
ha II bal oldólli tn"'k kisebb, num a jobb okI:l~.
>
>-

Pdce> 14.9S
Pri~ .. >~

14.95

vagy ~'Cfl16 3zz:11. K~ &tl!h'l hasonlit ö:!.sze. és '!'nI&-{ ad ,-issZ3, hll a lxii oldali énék nagyobb. minI II jobb oldali. K& értéket hasonlít &sze, és TnJe-t ad ViSS7..a. ha II b:l1 oldali ért(,k nagyobb. mim a jobb oldJli. vag)' eg;...ru6 3ZZ:11.
mű"elelekel

Az ~ehaiiQnlit6 miiveletekeo kivül logikai
Ö5SXefűzzOnk

is alkalmazhatunk. hogy

több logika, kifejezt'.5l_ Ezek a nnIveletek az AND b az OR. amelyek

uonos jelentésIIck a Visual Basic And és Or kulc\6z.:IV~\'aL Az alábbi SEL€C"I' llta5ith pékl:lul azoknak a kÖflyvdmek II Title, Author és Price 05Z1op;'i1 adja vi=,

amelrek 'i..."rPublished oszIop;'ilxln a 2004 (price) It"gfdjebb 20.00 dom, _-olt
SELECT Titl". Author,
FROM Boolt~ WHERE 'iearPubH"hed
pri~"

~n~k

szert'pel, vagy amelyeknek n

iir~

~004

OR Prlc" ~. ~O.OO
l (",rDu~1

A renl,

Ickérde~és

Idrom köny" ..... ad V'SSUl' Crea/('

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

MI történik. ha jelen van a WHERE dradéIc.?
A MIKRE Z:ir.KIfk haszn:lbl;lkor ~ ~ ~ kö\'eu..cz6 ~Jé;c:k '~~f1I kcn11 ~ ~ kiS1Jll&'í16 eI6QOr SÚmb... ,'eSIi ~ ~ L:;\bb ~ ,,-kordjlt, majd ll'Undeg)-ik rekon:lrdl mcll'~Zl, hogy:IJ: nqfdd~ ... MlEfUI z;:irw;l(;kllll" ~ rdtftelndc, ''fg01

pedis ha 3 feltl':ld True eredmén), ad, a rckon:\o( bdefogl:llp a kIlTleocd.-.e, nd!! esetben pedig ch-C!i azt.

. F:"I!CT TiUe, Au_her

""'.>11
WIII!II.J:

IIooks

Title o

"".. Number' >.NIl

.10

<~

!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"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,

"r!

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

Al eredmény _ . az ORDER BY _kkal
hogy ~~ eddig megl'izss~h SQl-l<'kérd"dsck ert.-dményd ~ 800klD oszlop trttke szennl rendczulk (Lapouunk vis.!;u" 1410. Jbd.hoz, amely" :iELECT • FROM Book. lek&dezé< credm61)"CI muUlja.) Mi ~ helyzet :lZonOOn akkor. ha:lZ ered--nlé'n)' eg)' nW.lk oszlop szerim ~l\"C.sze-retnmk fIl"10deníleni, mondJUk ~~­ rertd>en fcboroh.. a koop'címeket? szolgál a SELECT Ui:lsítá5 nm! kÖlc1e:t6 ORDER BY Z:ir~dNu, amelyben nM.'jyIdh:lijuk, hogy melyik oszlop szerin! ki~-:1njuk n:ndel.11i az crednlétlyt. Ib azt szen.'tntnk, hogy a kI.Irty'·ek CÚTIeI:!:~'r"Idben jelenjenek meg,:IJ: aUbbi <iELECT lekmie~
f:rr(o

t:.z~eheuUk,

1I1k"~lmazhatJ.1k

334 I l l r6I.Z • ,.... _'h'tieokkel

,= .
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
Az OItD&K Br zJl':ldék abphtclmezés !IZenot n6\oo"6 (el6re lubdó)

som:ndbe ~

az eredmbl}1, de eZ:l ot:.. módosíl6val megfordíthat6:
IIU,lER BY ,"..,lopN"-"
-Je

Ha:lZ ell."dtllén~1~' olyan

O:<ZIOP szennl rendo:zzük 06\'00"6 5Of"I"efIdbe. amelyben

az ibrc .. belai nerepclr"K'k. llZ a~nek mq:fcld6en rendezell nedlMn}1 kapunk Ih a OE. kulcsn6l alhlmazzuk. a sorrend ezzel ellemete:s les~

Adatok SZlÍrése és rendezése az SqlDataSource vezérlő varázslójában
Az Sqlo..~Soun:e "czé-M 1l:15Z1l.ll~láltjr8yJJÓ részben lanuk, hogyan lu.szn;jlha!(uk az Sqlo..uSource \·ezi.orlc'l \":Ir.iz.slój:il arr~. 1108)' !TUJIden rekordot: meg.b.pjunk egy adott t.iblib61. AlJ azonb:ln akkor nem \~ltuk. mikén!. WJrhetfllk vag)' rentIo:-zht'l:jük az eredmén}' M061I, hogy mir többet rudunk az SQL SELEI"l' ulasiUsir61. l&,ünk \issz;l ehh..z a \-~r1~hoz, hogy nM"glsmerkedjGnk a szCIrés &:il rend<.~ m6dji'-Jl

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.
Az aWlokat 1I106t m1ir Q.:Ik:il SlÜk5égle\elOk nenrv. szumi

ts reOOeVli kell

1\ Configure Ihe sekoa Staternent ablak jobb oldal1n "gy '«'ImRE és egy ORDER BY

f.. Jj ..~tú gombOl l~lhatUflk, t'lt'kkt'1 nylUt3tluk rllC'g azokat a p:itbeszedabbkokat. amelyekben rneg;WhatJUk ~ IBLItCT Ul:l.5l\J.5 WlIEIU: ts OItDfl' 8"1' dr:u;l.;bil

Az SqlDataSource vezérl6 adatainak SlIlrése
Jelen ~n;\S szefinllehál minden rekordol meg;elení!Ünk a Books tib/ából Tegyük fel

azonoon, hogy cs:.k azokal a rekordokat 5zeretnénk látni. amelyek SooklD értéke kisebb 3-nál, és ~melyck olyan kőnyvekl1C'z tartoznak. amelyeket 2005 után adtak ki Az ehhez szOkséges WHERE szl1r6kt1 az SqIO:lIaSource v('z~rl6 varnzslójjnak 'Il. HERE 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.
7

,,~". w

_---... -_.......... -_._--.-_.
... __ .. _.
-._-~~--~-_
~

, •

=
14.13. "
Az erre1mb!)' szií,.:w llZ tldd WI/ERE Ck",.." p6rbesz&mb/.akb(1II

A sziIr6k homadása az Add WHERE ClauS<' plí!'be5zédablakOOn.öbb lépésb6l áll, ki kell v:\lasztanunk pHillu!. hogy melyik oszlopot !eMnjuk szIlmi, illet\'c meg keU adnunk a sziIr6múvelele, és a SZIlm ~Iul haszru\Jt btéket. Ih a szilr6kifejczésl a BooklD oszlopra szerelnénk alkalmami, hajtsuk végre az alábbi Il'pbeket:

l. Jelöljük ki a szúrni kívánt oszlopol Mivel ez az oszlop most a IlOOkID, d.!.aSQuk cn a Column [enyíló Hsúb61. 2. VJlas,Quk ki 3 S2úromúvdetel az 0f>i'r~tor li.'ll!iból. AZt akarjuk. hogy csak azok a könyvek jelen!"nck meg, amel)",knek a Bookro értéke legfdjd>b 3, ezén v~lasszuk a <, (kisebb \"Jgy egyenl6) nuJvelelel J. Adjuk meg a szúróénék fomós:'h a Source (Forrás) lenynóli:óla segí~gévd, amely azokal 3 l"hetséges helyekel sorolja fd. ahonnan a szűr6(.,,~k kiolvaslut6. LdJel&éget t"renllhetünk ~Idául :IITa. hogy 3 webhd,ilnkre liitogat6 felhasználó adia n>eg ~ BOOkIO énéket - ebben al octben a Sou= li5úból a Control! kell ,-;ilasZlanunk. M051 azonban egy rögzrl<.11 énéket O> akarunk megadni. ezén a fomht jllítsuk a None (Nincs) értékre.

-_.__..__ . ._-. -. __ . . __ . -•

4. Miután a None Ie~get v;\\aszto((uk, a ]':lr:lIncter Properties (Paraméter lulajdonsigai) keretlxn mC:'gjelenik egy Value (Énl:k) feliMú szövegmez6. In adhatjuk meg" kív;\m éftl:ket. vag}'l$" 3-mat.. CA ]4.14. ~brl.n az Add WHERE C1au5e p!irbeszéd:lblak Lilh.'l.l6, miu(;in végrell:ljtotluk Cll" léJb.) 5. A swrőkifejez& fehéleléhez.'l. WHERE záradl'kba kall1n~nk az Add gombra

_~--_.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<~

Gr.llulálunk - rnegJm.irO/:tuk első WHERE zár:ldékunkat U SqIDalaSour~varn:z.~16 segít.ség:bel! MIvel nonban aLI W!1"(.'lnénk. hogya lck&dezésiinkben kél WHERE-kifejczés szerepcJ;en. a munldval cs;.k rtlhg '·~llí\nk. 15mé1.eljoJk meg a fenti lépéseket, de ezútI,,1 egy ol~';1n kifejez6/. '~"ÍÍnk fel a tiradékba. amely a YearPubliShed oszlopo!: ,"ZIlri a 20056tH alapján . />irudn mindkél SZö"r6kif,*"l6! megadtuk, n OK gornbra kanllll\";! térjünk vissza a Conftgure the Select SUtement ablakba. Az ablak aljin ~t1l:ltjuk 3 \'Jr.ilsló ~JtaJ elkkzíleli j"kérde2éS1:
SELECT ' FROM ISoo ksl WHER.!! « IBookID] ,,_ fBooklD) AND ~ (!YearPubll alled l ~ iYearPubli8h~)

Az Add WHERE Cianse párbeSlidablak tökéletesen miiködik, ha csak ew sziir6kifejezést akMunk ~, vagv 112 összes sziifÓkifllje.n\st 112 AND múwlettel kapcsoljuk MSle, ele ha DR-rol öwekapcso/t kifajezéSl:lket szeretnénk megadni. péld6u1 azokat a könyvNet keressiil, Bmelyekllek 112 azol1Os~6száma NliIfeljebb 3 YIIg)' 2OOS-ben lIdták ki öket. 112 SQl--lll8Sftást magunknak klllmeg/munk. El lill jelenti, hogy 8 Configure tha Selllct Slatement ablakban a Specify a Custom SQl Statement or Stored Procetktre !fQYini SQl-lltasltlis vagv tárolt eljárás meghatározása) válilSZlógombot kellbejelölnlinlr., majd be kel fmunk I pontos SQl-lekérdezést.

338 1111, ráz • MriI adltb'ritnkkel

A:z SqlDataSource vezér16 adatainak rendezése
Eddig ké! 5zarökifejezést adtunk 3 Wllf.l!E úrnd('khoz, de n éll'dmén~1 még mindig a BookrD abwn rendezo,"., bpjuk meg. Ehelyet! rendeuünk al M ~<:rin! (P~i"l! oszlOp). mégpedig cs6kkenó~rrendlx:n (vagyis a l"gdrig~bb kön}"'I6I a legolcs6bb felH AZOnOS b ~én az érintett könyvckt.1 t"'gyuk ;1.bécésom:ndbe a címük (Titla)
szerint.

A femlck nk>ga<i.hJhoz el6:.zör kaUinlSUnk az ORDER BY gombrd, 3[T1('1).'('1 a WI [ERE gombalau találunk a Configure th.. Seloo St.1lemem abl.1kban, Ekkor megjelenik aZ Add ORDIiR BY Clause (ORDIiR ilY zk~dék hOZ2.:1ád:ls:.) ~IDeszfdabbk, ahollegfd;ebb t~rolll O<Izlopol adh':l1unk meg, amdyek alapján ri'fl<lezzük az """'mo!~nJII. A mhodik k harmadik ()I;Z\OP aml 5ZOIgál. hogy eldöntse a $OITeOOct. ha aZ eIsI5. illetve 3 m:'iS<Xlik oszlopban aZOl106 érték 13I:11h,u6 ('"-Igyis ha az.,ls6 OSUOP abpj.'m a sorrend nem döm. hctó el. a lekérdezés megviug:ilj:l a mi.ooikkém lIIegadou o:szJopo!; h.. pedig ablxln is ugy,mn n érték sz<--repel. a harmadik alapján rendezi n eredmen}1),
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.

... OKI'""'''....
-.

_.-

_...- ...- ....- ..

?"rI

"""""""'_1 _ _ " __ 1fI'W'_ o(] - _ " " " " .. tpoul u:o:. 1TtIO]

14.15. 6bnt
AZ' erfflmén)f dr $2""'"
"cfmllJlSzcrlm s:croIjuk re

",,-azo..", "n,

~,r6 K!rn"uJ~

"""tk='lk.
pedig

1o:l")~t'4<I

Ahogy 3 ]~ .15. ~br:in l~th:I!6, n ORDER BY lJmdék hoZZliad1.S:.I ...~rerl6nk \"égs6 SQL-Ut:.o.s1t.1S3 így fog festem:

ut~n

aZ

Sqll>~lJlSou!U'

SELECT ' FROM [Booksl WHKRE «( [BookrD ] ~ . IlBooklDJ .>.NO _ I [YeuPublhhedl UYMrPubli " hedll ORDER BY [Price] DESC.

[ Tit le l

14.6n • AdIIak ... , 1" IZ idrrCb,& \ 4 11tU1 1339

A WHERE _kkal ellátott lekérdozésok kiprúb6lása
megadluk u DRDE~ BY úrJtltkOl is, az OK gombr:l kauIOwa ll:rjOnk \'ÍS$.U a Conflgure!he Select 'lIalemenI ablakhoz. Az SQL-kkl:rdczésünk mosl ndr kl:szen ill minden 200S-ben ki:adott ~ ~rI:iJ nem n:l.g)vbb :l.zonosil6;ú könyv összes 06Z~t \bsz:Iadp.:I. aooks t.:IbUbóI. ~ az:ir S2:erinl OOkkcn05 ~ re1'>Ikli "ZQlaI. illet\'e :l.Z "r0n05 iru kÖrl}...~et dm 'IZen'" oí.bécérentbe leszi, A kkmlezb kiprót4Usihoz :I. l"el[[ gotnbballép;llnk " Tt'SI Qucoy abbklxI ,
Miu'~",

Ha olyan kktrocd31 próbilunk ki . amelybm WHfFl! úr:ldl:k ~I, a Te:\!. Query gombrJ katllm~skor a r ,IC!lzct'!kOrnyef.et :l.fT'~ k(:r mmkl1. hogy adjuk n1<.1I a WHERE .. úr~dék i\Zo.lr6kifcjez(:stdben haszn:'ilandó én'::kek<.1 PNd1"klx".. ezeket n l:n(:keket a lk> ,kIn fs a vearPubl iahed ~kr.t ,-onalkoma" kell megadnunk (lbd a 14 ]6. ábr.it). Tcnnd~ meglugyltal]uk az alap&telrnezt'lt btékl'kel B ~ 200S), 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 urulmazniIIa(: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 2OOSben :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

a I bllal St.,aiQ

UfJUk be:iZ SqlDataSOun:e \'eztri6 \_r.'i7~~ a finbh go<nbhIl. ]13 nq g)"korolni szeretnénk~' kicsit 32 Add WIlERE 03use ~ Add ORDER BY Q3U5e ~rbesz«b\)' I:lkok ha,wrlbt!il, a I'rcvioos jjO<lIbm kartinn-a térhetOnk \'w.z:, :I. eonrtgUre [he Sdect SCllctnenl ~bl:i.khm..

-'

....... _ --..-......

_--~--

..

---._-.

14.11. AIn
It ~ tUJ .'i.<n<>

WI , .... <lot
MbJdMl

n

~

f>J. SqlDataSource vBZérl6 kódje
MlUlin bdUitouuk U SqIl>.II<lSouttt 'ez~ hc:>g)' WREIU: es -:>ROD ilY z:indék is s1rI"q)C'1,en !>elln<", wnJUnk '"SY perrel ri. llOtO' !lw!g.oiv;giIIUk II "ez"rIo'> k6d!'ÍL
3

fon:15

n~l.1..,ben;

~,,"p,:'qlo..taS<

.re. ID- 'SqlDatasource2' rI."u."_rvClr"

'L lonStrinll' • S COMe<;t 1<mS' fing. ,Conn"ct i "OS! r II,,, h· "c_ruh"SE!.EC':'· JRQM (I1ook.1 WIfI[JIE "(IIél"UDI co 'lI<>CokIDl _ ANr !lYearPllb • • hadl • l'ie.orPubl1.-ho1~· OIIDER BY [I cel DESC

<,

-"'l elO> cSele<:tPa.-e., ." <... p,p"..-_~ ... o..huhValu"" "l' ~·_tlD' Typ •• "!ntl2" f,.. <... p, " .. r_ter I»hul tVslu..,. ·20('~· tI __ "Y"arPubll.hOld" Type-·lnt3." I~

<, •• p,8qlo. •• ~
Az
b;l'

<11.I.ctP"r~ter.'
e~

nn'ct; ",.string tula,clons.lgnk mir i.SmefÓSoek lemtnek: még az ro
kl~

elej6l iSmetkedlilnk meg ,-duk. A Sele<-tí, _fid azooban

O5su1:euebb(: '-lit.

men rno.;l m:lr t-"gy WHEkE ~ egy [lRDER BY z.:irnd{,kOl i< Lan~lmu rlgycljük meg. hogy nem t~rlolik érték a szOn'ikifl,cz6;ckhez, p<,<:hg konkrét énékek..1 " dlUnk meg n Add WJ-tERE CJ~u~ p:lrbes2éd1bl~kb:1Il - ehely ..'u pa rmnbcrczdllc!l!b'tlez<!slö111~,

A paroméfi.'regy 01)'110 helyór1JL5 az SQl-utuitlsokban. amelynek az abk", ,par .ti. ·'rli-fv. Ide keril.1 om,J a li:'nyleges SQl-UI:.lSiw. nuel6tt a lekérdez61 dkül~nk 3z adall»Zl5Nk Az Sq!DauSou~ \'eHrl6 a ,·leetC..... nd p;lr:II~erell a <S<tlecl P.. raMteu~ elemben wn.>ljol rel. Ez<'1l 3z elemen belül ké'! <up, P.r"""'t .. r~ elem 121.1lh.n6: egy a flBookl0 és egy ~ iY"arPubll~hed paraméter $úo\,lr~, I'.zeknek a rögzlte'll Méké'!a Oef.1I1tValuelubjdons;ig adja meg

Atrukor a Iltog:.lt6 bct6Iti az ASP l\U oldalt, az SqIDaIllSOuI'Cl:' ,'/'lhI6 fogj:! ezekr! a p;ll2mélettnékekCl. b bes~(jr;a uokat" SEL8C'T Iekb'tJc~ megfelelő helyene. rnicl6u a Iekoirtlezésl elkOldcné az adatWzisrok I'.z fele_leg<:'! körnek t(Jnll('l. hiSZl.'n ~1. énék~ket .bedJ'ÓlOltu k". a ha~zna alOl'lOO n rögtön nyildn,,,Im.·~ v:llik, h;i II par.tméterek érték':'; II felllli7.nil6 ~dlut", meg. ~ag)' mis kOI56 forrisb61 olvassuk be nobt. A felhaszn~16 ;ilt.. 1 megadott p:>1'1In*terén(:kek~ b6\'ebben a 17. feJ!'zelben lx'szfIOnk ~jd.

Összefoglalás
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, ~pc:MJI6d:.Is hog)' ada,oIut n}'mleSl>Cn ki eg)' adat~ az atbtbómhoz 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
~:bben

,,,ló

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

SELECT OszJapJ.
l'ltOII T,fbl"I,,<v

ltId~,

. , ..

;""JapN

WMEP:8

_r~F"lt"t.l.k

)RDU ilY OIOzlopN.!'v

A WHElIE és ORDER BY

~r~~kok

ncm kÖlelez6ek:

Szerencsére ahhoz, hogy <"g)' ASPJ\U ,,'ebokbJon acbwbt oI~n11 ki eg)' ~tbtbillmU6l. nem ken SQl-gul\ln:lk lennfink. Az SqIDaUSOurre ".,lhI6 \'aliz..l6p 1dle(6),'é teszi. hogy a ldénlelC5eket egy könnyen hasvÚlh;i1Ó grafikus fdOlelen kC'A."'lztill ~e5:izOk meg
MosI. hogy I~truk, hogy~n nyerhetOnk ki ~d:uok~t Cll)' adatb1Z1Sb61 az ASP.C\1IT SqlDaIllSOun: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
v:
K: Az SQL wg;tS<!stfr.,l'/ ®~.,..,..,
lőbb adatbáz;st(iblá!Jól ls kioll.rummmk a.kllfk//? 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
SELECT AlbuloID, Name. Artiot. fl'.or. Al""Dotel'u~ctw.Bed

n ad110kac adja vISSza?

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 ....

2. A következő SQl-1ck<::rdczés megfelelo
SE!.EC'l' ..... tht. N........ o...tePurchaaed fROM "l """'" ORDER BY Art1&t

3. A kÖ... etkező SQl...!ekérdezés megfeleL
SEJ.ECT _

FROM Albwlls Wllf:RE "rtist ' Ntrvana' ORDER BY DatltPUrehued DES<;

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 adalbjlisr: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.VeIlenOI 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.

• A webe:s ad:I!\'"z~rh5k Osszekapcsollsa a:.r. adatfoms--vez&l6kkel
• A GridVrew 6 [)et:IilsYiew vezérl& haszn:!lata

• A Grid\"lcw t!; IktailsView vezérlók mcgjelenbtnek leSlresutb:isa • Rbzhalmawk megtelenitése aZ ad:l.lforris oszlopaiból a webes ~datvcz(irl6kbcn
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 teW vezérl6 pl~dA,,1 az adatokat egy clcsban jeleniti meg, amelynek eg)'miSl61 A Grid\r 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.

Webes adatvezérlók - áttekintés
Az ASP.l'.'IIT sz:Imos

wet>e5 vczérl6t tanaln\;lz. ~melyek egyetlen feladata. hogy adatokat

jeknitsenek meg egy adatf0rrá5-'·clérl6b6l. Ezeket:il. ,..,zérl6ket. amelyek:il. TooIbo:< JYJk1ta [)ata rekesreben, az ad:nforr1s-vezér16k feletI találhatók, h,,'Q(ll ét1 ucl>cf (ulnt_ L'I'z<'l16kndt. Ahogya IS.I. ~bcln lithatjuk. öt ",ebe!; adatvez&ló van, :il. GridVIe'" (rncsn(,zt"!),:iI. O:l!allst (adat1~'ila). a [)eIail5Vicw (ri'$zletes nézet). a FOffIlView Itlrbpnézet) és:il. Repeater {isrnétl6J. Ebben a leckében kelló"el foglalkozunk kOzűl(\k; n Grid\"..,..,· és:il. Detai!,Vi<.'W vCl.érl6kkel.

r

- - ........

... ' .........
15.1.6brII " flWcs ,,,I«It,,,,,érióIr,, Ilf",,1

.-_ 4-·
J __ #
....

.;

-~

...

\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-

___> .

15.Z .... .

,.,,1 _ _"

:--,

~ _ .....

~~.~
~ ~ ~ ~

~_,·_t"":; -·- "-~

........
~ ~ ~ ~ ~ ~ ~ ~

----

.~-­

-_...."
rnok~nl

.

._. ...

til' oJJi,l "IV' GridI '/eu'

,,,,,,,hi4 lIouámlásd Illá"

;elenlk meg 3 len'ez6 ~ZI'Iben. o/y:ln ;tluUnos mez6nevekkd. ntinl II CoIumnO. CoIumnl él CoIumn2. A \"1SWo1 Web Do:-'t'lopuben IdUl eZl UllUk, h.. II \~ ~g nem I:1mtOllunk atbúom!5L

A Gri<l\it.·" .. alapé-nelmcZi..Os ~erim öt."OQI'O!;

AJ. O:ZIOP (eoloowtt N6 ~ liIYart okOlhat. hit \IdatbálISt;\blákhl is ráesn6ze.. tekbllS dOIPtri:. mert mlncl::en6 l8ftIImal 0SlI0p0':,at. Jvy ~iim;en r~eMthet· jUk. melyikr61 is '0'lI'l Sl'Ó. Ezért amikor • GndView vel6rl6 oszlopaIfa golldoUlk. a mez6 szót loglU~ 1laSmáIrOt. mIg III adatbÜlslébl'k esat.tben maradunk IZ 0SlI0P killljezéSlllll.
,u ad:itf<ll"ds ÖMzekapool;\sa a Grid\".e.... \'eztr1Ol'el qo-uenl. ,u okos cimk!ben ~lJ,lunk qy choo:se I)1~ Sou~ (Adalfords kl\";1b~ ) neW febdalOl. amelynek 1en)i16 hsúja az okblon 1ev6 a<btf~vettrl6k.,.. ~rt:dnul.Z:l \'~bsszuk kl Innen

azt az adatfomis-vczniÖl, a~ly;knek a tanalmit meg szeretnénk jeleníteni a rlcsnézetben, és a v~!a>;Ztás .'égrclt:ljtása ul.ln nyomban frusol ;5 a GridVit.'W mez&zerkcZCle, hogy n1kröz.ze a kiválasztott ad:llroms oszIop:lil,
V~Ia5SZ\lk mo& az SqID:uaSourcel vezl:rl6l a GridV'JeW aclotfon:isak<'nt _ a tervez6 nézet· ben miris m\.'sjdennek aZ SqID:ltaSourcel jjJtaJ visszaacIolI 05ZI0P0k (Ihd a 15.], ábrát) .

........ _a ... • "
\

'--..
~

_----_--. ... . ."

..

,

,

.

~

~~

~~ ~

,

,

'- 15.3.6In

_. _.

"

.-

--, ..... ..
I L!L

ti Gridi 'It!u, Ie::b1óh6z adalforrroloi'm .. z Sq/Dauú(mru 1 • ..,zh1ól knpc.rvllllll

Ha az adatfonás kiválasztásakor csak il ries melÓtejlécei váltoll'lak meg ICotumnO, CoIumn1 é$ Column2-röl Dalaboond CoIO, Oatabound Coll és Databound toI2·ra), kattintsunk, Relresh Schama (Sltma frissítástt) hiYiIIkozáslll az okos clmkébeo. Ez frisslti a GndView megielellllsát, és lámat6vá taszi az adatfooás·yezérkj által visszaadott oszIopokaL

....... '-""'" .~ ~,~ ~
~

, , '0_ ,.. • "", .... ...... """,_,m' ,"".....
o. ... y . . _ . _ .... _

.- 1-___

,- e
..... .....".,...,..... .-...,. .... "'" .. ><_'v.-,1<II...., .,.
y,~-


--

"-.,,....,_... .
"'<'gjclc>,íl''''

15.4.6bra ti BOOI« lábk. lIIr1tJlm .. "KI' ilSP.Nf.T o/Jak",

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).

Ha az előtt töltjük be az ASP.NEl oldalt, miel6tt meghatáromáok a G lidVlIIW adatforrásá!, csak egy ures ol!!ah fogunk látni, és ugyaoozt tapasztaljuk ekkor IS, lia I GridView-ooz u;yan holllikapcsoltur1/!: egy adatloms·yozérl6t, tie az nem ad vissza egyetlen rekordot sem !J>éIdáuI mert ft lekérdezett táblának nincsenek r&kardjai. vagy meft It WHERE záradék mindet kWrje). A GridView vezé!16 teM! csak akkor hOlIoltre rácsot, ha hozzákapcsolllri egy ildatfomis·yezérló!, és az adatlooiH'ezM6 le\j8lább egy rekordot visszaad.
A 15A. oibr.1n 11tható kimenet rnessze \'an az ide.11 i51ó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.

Adatok megjelenftése a GridView vemrlcl sogltségóvel
Amikor adatQk:lt jcknítünk mcg egy webold.,!on, gyakran minden rekordot látni szeretnénk esy 3do([ lek~rdezl'Sb6l. A lckt'rdez61ehet sWikus, amilyen a SELECT • fROM [Bookal, vagy dinamikus. a fdhaszn§16 jltal megadott adalokoo alapuló szúr6kif,*z6ekkel Ha minden ere<lm"nyt egy>olcrre szeretnénk 1ll<.'gJClcníteni. a Ickércleres típusától lUggcdenu! célSttf1J a GridView \~u:,rteSt ig~nybe venniInk.
Az adaúorrl s-vczM6 által visszaadott rckordokon ki\-'Űl a GridView alapértelmcres

szerint <'SY !"j/{>csort;s megjelenít, anJelyben a nJegjelenített mez6k neve látll:lt6. AI:op:lllajXl1oon ~ Grid\'iew 3J: adaúorrls-'"eJ:érlo; minden osUop:lho? t:trsít egy-.egy mcJ:6t, de eZ. ahogy hamarosan I~tni fogjuk, mcg\-:i1t0(l3th:uó, 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 dolgoztunk, 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üv6dlk. 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.

l, <asp,GridView Io. "GridViewl " runatc " ~rver" AutoGener.teCo lumna ." Y.lae" o.t.Key~8' "SookIO" 2, o.taSoutcel~"SqlO&taSourcel"> J, <ColWIDB> 4, <a8p,lIOundFleld O&taFleld- "tsooklD" !!eaderText. "500ktO" _ InaertVi.lble1'Fal •• " ~ .... OCInly>"TnJ. ' 5, SOrtExpte•• ion."aookIO' I> 6, <aap,BoundField DataF,eld,'Titl@" HeaderText."Titl@ " • Sort~xpresBion""Title" I> 7, <aap'SOunc!Fleld PataFleld="Author" Head@rT~xt= " Author" _ SOrtExpre•• ion. "Au t hor" I~ 8: <aup,BoundFleld DatoFIeid "YeorPubliohed" _ !!@.derText."YearPubll.hed' SortExpre•• ion,"YearPubllshed" I> 9, <o8p,BoundField oatofleld="Prlce' !!eoderText."Prlc~ " _ SortExpr"ssion""Pric@" /> IQ, <asp,BoundFleld DataFleldo"La8tReadOn" _ H@~d~rTe ~ t1"LaBt~eadOn" SortExpre.alon_'LaBtR.~dOn' I> ll: <a61l' BoIlnc!Fleld DataFleld, "PageCount" HeaderTexto "P"l1eCount" _ SortExpt""don."Pag~ount· I> U, <'col"'..-..I> lJ, <la.p:ClridVlew>

15. 6n' .fOdIIG:

35'

- f,);" tubjdons:ig ~d,.. mcg. hogy ~ Grid\~oew ~ mez6it II.Z ~d:ltfornh 0I<1Jop:ura alapoua. vagy ~wht ml h:uárou:uk meg" "C,'lwnna:> elernben. lü n Aut""enenteColwnna ~ "Fal .. " Ildllit:is ""dn Í!n.én}1lt'n. ~ mez6k a «:olu","a:> elemben megh.>.~roWt1 OIIz.lopokb61 jönnd. I~ • o.UKey_. - Ez ~ tul;r.pdonsig annak u O6Z\oprI;I.k l'..gy :uoknak u O$UOpoknak) a ne"!'Cl.luut0U3 meg, amel}'ik t'8)'t:di\cg azon<)6Ítp a Gn.J\',ew-hm bpoolt.'iOrOi<,;.ot ALL~dmezk nef'ifll a a:t di6dleges kuk$ oWop. Az okos címke képes ~I"'pjt:..\i az lKbú~\'ez~r16 eb6dICS"" IruJcsat. i-lI annak mcgfelel6en ~Ilitp be ezt ~ tulafdoos;igol • DataSourcelD - E:t a tulajdonsig ~ GridV,c" adatforri$,,·ere~n.:k •
~wnosit~t ~dja

"'utoGenerateColwnn~

meg.

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'.I5ostkop 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írnunk. 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~

AfeJ8ll!t kH6bbi rHlébefl mtQtanuljuk, hogyan szabhalJllk testre. GridV"_ nztétikai tulaldondgllit , ~ néltltben, NIl teitdjük azonban. hogy minde" módosítástllYfotlhelllllk .Iomísban is. hIIllUkHges. mert lTIIIode!llIIk, imrI , tefVez6 lI6Zetben t~ 'O'If1 rnegfelel6je II 6pptn $lIIIbsztett Y8ZérI6 lorriskódj6bln. A t6d tOZYetlen rn6dosftisa pwm lWfll O/YIn llY!Wl " BO'(I.lIr1l.

A GridVNIW leképemtt kódja
Am,kor egy ASP.J>.;I:oT olda lt Ick~mek egy bÖngbWn k~ztOI , az oldal ~rrML-1Í! ~I~kul. 1:o1the:t al 5Zii~, hogy n oIwlon lt:v6 "...-be.; l'cl.M6k kódját az értelmez(! HTMl-l~ fordits:llt'_ A Grid\',t."'" \"ctérl6b(jlleképe-zbkor egy <tllble~ HTML-eIem jön I~re, ~mclynt'k nunden SOI"d «tn) n adatfOfTis...·e;zérkl egy-egy S<>r.Ínak fdd meg.. celLS, «td:» pcdtg a mez6knek (oWopokn:IkJ, A fqlk oszlopaiból úblizaúCllb::ck «tru.) jOnnt'k Iéire,

352 1111_lisz • M!rIka adMb'zjsokkal
A C.ridView HTML-kódját ~ 15.2. péld::ib:mI1tlutjuk. Amik<lr 3 böng~.$ZÓ meg\<:l.pja e7.1 a IITMI .. k6dot. ~ 15A :ibr.in Ijthat6 kimenetet ~lHt;a e16.
15.2. p6lda
JI GrldlkUl ,~",ti'rló<l<Ibk> Imn-cl< ...",jJ ~'"

t, <t .. bl~ cellapacing-m"O- rulesK -" It' bord"rA'l' id"GridVi~l' _ atyle _ 'bord .. r-collap ... , co ll"p.." ",. 2, <tn ), <th 8copa.'col'>BookID<lth><th 8c~"col'~Title<lth><th _ acop.h"cOl- ~AUthor</th,.<th 8<:ope.·<:ol·~Y .... rPubl hhed</thHth _ .. cope~""ol - ,.Pri"<></th><th scope~·cOl">La8tRe .. dOn</th><th _ 8c0p".·co1'>Pa9@Count<fth> 4, <ftn<tr~ 5, <td>I</td><td>ViBual Studio !\ackS<ltd><td>J1UM8 Avery<ltd> _ <td>~005</td><t<b' •. '.I500</td><td>~nb1lp,</td><td,.'18</td>
7,

8,
9,

10, ll,

12,

ll,
14,
1~,

<td>:2</td,.<ubCreat" '(our own web.it<l</td><td>Scott _ lIitch"ll </td><tI1>2 QQ~</td><td>19 . '.19 OO</td> _ <td>8/1/2005 12,00,00 AII<ltd,.<td>195</td> "Itr>-<tn <t<b)<ltd><td:.Th" /I'lJ.Iober</td><td,.AI"x Ber""80n<lt",. _ <td,.2001</tdHtd,.24. 9500<ltd><td>11/1414Q05 _ 12,00,00 1IM</tdHtd>214<ltd> <Itn<tn <td>4<ltd><td>Th .. C.. tch", ln thI) Rye<ftd><tcl>J_D. Salin!l .. r</td~ _ <td>1991</td~<td,.6_9500</td><td~6/1212004 .. l:,l,OO,OO AII~/td><td~2J4<ltd> </tn<tn <td>5<ltd><td>Pight Clulx/tdHtd>Chuck Psl .. hniuk</td> _ <Id> t999< I tdHtd>16 . 9500< ItdHtd,.I<nbsp; <f td Htd>187 < / td,. <ltr> </t .. ble>

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 adilb~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. A lestreSU[)jS 3 GridV_ vezér16 t'St'Iében
egys~.

A ve~r16 megjelenl'se

több ~zinlen is ~zemtlyre

~ubha{ó,

15. ... • AdItd; .... I ti l

.".,.. .......I(.u" l 353

• A nics uimjén _ Al. ezen a llIntcn \-égrelujlott \,;i.l!oztatások a ries ml,ule" ~dat:ir:a .......·én~k lesmek. • .l1,nez6k uinljl.'n - Eun a S};,nten a ries e~ nl('l.6!t szabhat juk 1<.'Sllt'. • A soruk szimpI - Ezen J szJOtcn a kOlönböZő tlpu$Íl5Of<)kat r~zhalluk A p;1ros és p:irdwn ~nak példáu! c!t6"6 háut'rszlnt adhatunk. ~ fcjl& ~b:ln pedig nagyOOb befűkct alk:llJlUzhalUnk
A fenli szinleknek .-no:gfelel6 bdUiWok:u AUlO Fonnal. dkr..., a fiekb ~rbeSZOO.. abbkokban adruu6k rmog. '"lIbm,nt a PTopenICS abbklxoIn. :>;tuük is meg, Oog)"lIn w.bh:oljuk testre a Grid\-IC"I\ kUlönhöző llIntlemek tnegJelenbét az egyes eszközök seg,L.tI!':"I"eI!

F0rmáz6s 8 properties ablakból
A ric::o.wnnl és :!IOfSZln11l f()f1t1jús kör.ctlemlla ~ ablakból ~Uittut6 be K:luuu5l.tnk a Gnd\"1C'li \-eúriOre a ten'ez<! ~lCIben. hng)' betöltsük a ,·ex..'ri(IIUIajdonsJ.gall. a Pruperues ablakb:l. AZ Appe:I.r:an«' rtszben (11.<;0;1 a 15.5. mrit) riC55Z1nttJ lulapdons:l.gokal adhatunk rmog

....... _... __ .- ...
ol • • .... ;;0

-- ...

'-- c _

••

=
\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.

S1íl~apot ~ornk

nrtptyDatllTe)(t

alk:llmazni a r.ksr:l.. Az! adja meg, hogy ~zcretntnk-e v:llamil)"en lIZCfW\et kilraml

Font Forecolor GridLinell

ShowFooter Show!!e4der

abban n esetben. ha nincsenek nK'gjelenítheu'i rekordok. Emltkezzünk vissz:•. hOgy.l GridView Ick<"pe~sl're c5:1k akkor kenJl sor, ha az ad:<tforr.\5-vezérll'.i viMZ3ad rekordokat. A dcs be1l1tipus-beáUílls:1Il adj:! meg. A Font fUlaj<kmslg rl!sztulajdon:;;igait a g. I. dbláz.atban tal~ljuk. A nks szővegslinét adja meg. A r.lcs cellJel~laS7.16 vonalainak megjelC'llését ha~TOU:l meg A lehetséges Mtkek, None (nincs). Venk/Il (oak fiigg6leges), Horizont&l (csak vízszintes) ts Both (nur>dkeu6; ez aZ alapértelmezés). Egy logikai értl'ket határoz meg, amely all jelzi, hogy meg kell-e jeleniteni l.iblkel. A2.l'rtl'ke alap.1llapotban Fill Be. Egy logikai I'rtl'ket határoz meg, amely aZl jelzi. hogy meg kell-e jeleniteni fejlik:e!. A2.l'rtéke alap.1llafx,dxIO True.

Pr6Wljunk ki n<"h1nyal a fenti me8l"lcnftki tulajdonságok közül! A 15.5. ~br.ln l~t­ haljuk, hogyan fes! a \rl!olJ<l1 Web Devdoper, miután be111ítOttunk p.1r tulajdonságOt. A m6dosll~sok köw..·n figyeljük. hogyan ~I!ozik a r1a; megjelenéoe a terveUl ni'zetben, hogy :l.utom.:nikus:m tilkrözze az üj form.1:clsi beámWok~t /I:n. is lJithaljuk, hogy az AppearanC1' rhz tulajdonsig:linak be:\.llit:l~ a le/j<~ rácsra hathsal \':ln. A Properties ~blakoon ol)':'n tula~gok:l\ is w.l~lunk, amelyekkel sorszinlŰ forncil.á.st vl'gezhetilnk. Ezeke! a lulajdoru:lgokJt a l'ropeft.oes 3b1ak Sl}'les ~ tartalmazZ3. b; a 15.2. ~bl~z.atb,m ~ltuk fel6ket.

nd: meg. ha;lZ adl.úon'b-\-ezMo'S nem;KI \'Í55Z:.l rekordobt, de bdllilouuk az App~:lJa~ rész -,tyDataText
FooterStyl .. He/I(l,erStyle Pag .. rStyle
lubJdon..ag11. A Ubl~ iSlílu~t szabilyozu. A feilb:$Qr stílus'il :>ub4lyoWl

A GM'~' bpom vczérl6inek 5líll~1 adj:!. meg. A b[lOZh:l·

meg,.

am

módunkb:m k~émi , hogy nukbu tehetjilk a Grid\'iew 99' iIO!il .ki,elöIuP A fenli tulajdoruágok mlndegy1ke több résztulajdonSJggal_ BaekColor. ForeColor.
Font, C_acl",u. Horizont",}Al ililn Slb. - is bir. Áll'lSUk !TIOSI be a RowStyh, u Alter""tlngRcntStyle ~ a H.....wrStyle ruLaldoruJgok ,>fhin)' részruLa;doos:1pl! A l'i<3 f~fI2k rnfvbsk1 ... uUn \"lIbmi o/y;lsnul ~Iharunk. mint a 1~.6. ;Wnn.

-.
15.1. "
A
~

--'- •
.~

_

c

,

".,.

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

-.. <il'

J -

...

--. . u_

<a
. . .'

, o ,_ 'o " _-

'_0
d

'"

o

... >-

:iI _ _

,~,

"' __"_d"""
.", . . "' • • 001 .. 0\;

- ......

._

-

0-

15.1. 111n
JI nll:s,""'<~ oszlo(xJmaJt

... 1(.-1

lC$ln'ttah<1<t.o a Flt>Ids

/Xl rbtuétWbI<"lhbtm
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ácsn(: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 ~zelben jel""Jeg ul!ilhaw mezók listipnak rne-gtekintbt: meUett a St-Iected Flclds (KijelölI mez6k) lisCioon a= is lehet~ kapunk, hog)' eg)'e$ mez6kt1. elt~"oIítsunk, vagy ~ mez6ket ilrendezziik a ~cl:>an. Túnle5SÜk el most példlul ~ BookID ",,,n'ir. a r:k:;OéZetb6I. mj,~ em: az infonnidóro a l:ltogat6krnlk nincs SDlkségiik. Ahhoz. hogy az említett mez6t el~i,"olí!SUk a r.icsb6l, kattintsunk a BookID nlCz6cJemru a baj al0;6 so.rokban 1ev6listlban, nujd bttinlSUnk a törl6 íkonjira (vörös X). A kÖvClk<:.'ZŐ rn6dosilis legyen az, hogy:1 Pag-..count nlI'"z(j az Author """ZŐ utin idenjen mt'g: ehhez kaltintsunk a Pag"':;:ount n,....LÓrC. majd kal1inlgassunk a felfe~ nrutaw nyílra addig. anúg a Pagecount nem lesz a hamladik IllCZŐ a Jisl!ioon.

I!gy ~do(t mez6 teslreu;ab.b;'ihoz ,dÚl el65zör mindig kl kell jelölnOnk ~ mez61 ~ li5tábóln, eud Iöltjük be ~ ,ub~8"i' ~ pirbesUdólbbk jobb okbli hstljiból A legforuosabb mez6szIOnJ tul~tdorWgobl ~ l'!d_ tibllZólwnllthollruk

11.1 tU"· A _ . ., .~_. . .
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.,

""..

~

~

tubjdonsággal n...~ mis--mis súlust :i.Uithollunk be feílk'ekben. A mt.'Z<'5 5OI'lI.inak st~us:it 11l1tj:1. be, 1b ezt ,. tul:l;donsJ8O' po!'kUul ~ '1"1 tI" nk'z6 cse!1'ben llhllUk be. elérhetjük, hogy minden könyv ci'lle dölt befúvcl jelenjen meg.

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
~'eg)'

f~zl~

a Price éri r."nReadu"

mezők

éntkeihez i5,

Ahho~

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
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ípu5okhol 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"),
fomdhol
szilkségesformtlző

mezl5bm 1ev6~mok ptnzértékek Ieg)'eodt. III !.a.. t_clOn mez6ben pedlg o:ok,. d1lumolr. jelenjenek meg, ~lIítsuk nundkét mez/! RtalEn,-, de rullll~~t Fal ...."'. matd;o o.taFonaatllt ring IUb)don~got ,. Pri :. n~z6 esetl'ben 10,el, a r."atlleadOn mező C$eI~n ped,g 10,('11 tnékre

HJ:Ill~.

hogy a

p~ice

A1. OK gomb,..! kanintva
~ tervező ~

nézetbe, ~ Pages mezó az I\utho..- mezó utin köw.'1kez,k, 3 köny'.. dmek dőI1 bellh'el jelennek meg. ~ így tovább. A fenti fllC7.6sz!fltÚ fomú;dsok v~grellllJtha uI~n a r:1csn(;zet valahogy úgy keU, hogy fessen az [ntcm.::1. I!xplorcrben, minl:< J'HI, ~brán,

be ~ Fields párbo=.("(\ahlakot. Amikor viSS1.a1éTűnk r.ksnézct fIÚr tOkrözi a m6d0silásobt a BookIP mezl'i eltúm.
z~rjuk

........
~".

-_ ...
""',
"


·.... ....,"""" E ........... ".. ..
.~.,

'", C><r_ '" .... .,..

_ .....,.", - -,,_...

'" ",
",.

"i..

-

-

.. .,..' ' .. ,onooo ,,,

.,. 'c .... .".,,,,,

, .... u /H/'OO,

15.8.

jin

" mcs"é2cct a ~
IC5IIl$:<<1bris<o ",6"

Formázás az Auto Format p6rbeszédablakban
A r;iamézet, a soruk k a mez6lo; fomúzhín \'égreha~OII m6d0siuisok biwny:\ra cliírul!:Ik, hogy nem 61 vagyok az. akit egy ~datrács fOl1llllzási\'aJ ~mes lenne megbízni. Körülbelül annyi mű\'{;szi hajt.un szorult beMm, mint egy rtpIioo. 5zereocsl're azonb:.on a Grid\r""" ve7.6i6re automatikus fOl1llllziís is alkalmazh:uó, n oko:< dmkében kattint· sunk az Au\<) Form:It hiv:uko7.ásrn, hogy megjl'k"Ilitsilk az 3ZOOOS OC\11 pá~bLIkot (15.9. iítJra l. Ebben u ~blakOOn ktsz srilusok kö:tiil vil2S;,m:u unk,

_.- -.. ,-_ _.'-_._. ---~
_ ..... r


T,U. Aulhor

Boo~1O

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

Egyszerre egy rekord megjelenftése a DetailsView vezérlő segftségével
A GridVlew eg}'szerre megjeleníti a hozzá kapc;oll adalfonás-"e?,&l6 Ö$.SZes rekordpI. El6Cordulhat azonban. hogy egyszerre CSlk egy rekOf'do( szcrelnénk 11mi - ilyenkor iöI>f'I jól a OetailsView vezérl6. A Grid\7e",·hm hasonlóan ezt a vezérl61 is egy aootforrns'\l:zér!6höz kell kÖlnOnk. Ez a szok~sos módon történik, hÚ12unk egy I)etai!sViE:'l\' \'ez~rl6I az ad:!tforr.í5-\'czl:rlŐI. t:malmaz6 01001"" majd 'lZ ok~ dmk~n ke=ztiil kapcsolluk össze a ken6t. Az aootforr:1s·\'ezérl6 hozzárendelb;e ut!in a Oetails\r",,,, egy filggg61eges lisclban megmutalja U aOOlfOf1':áol oszlop;lil. 15merkedJonk mcg közelebbr6l a Oetails"iew \'ezérl6\'eL és hozzunk létre egy új ASP.l\ liT okbh Detal.l ..Vi ....... aspx néven. Ahogy az el6z6 Óráb.:m teltük, ~djunk ehhez az okIalhoz is egy SqID:It:ISOurce \..,z&l6l. és ~JliI$Uk be úgy, hogy kiol""ssa a~ &;.szcs rekordot 6; oszlopo! a IlookB t!ibL1b61, Ez ul~n adjunk egy Oetails\1E:'1\' '·ezérlŐl. az oldalhoz. és kapcsoljuk hozzá az SqIDataSOurre vezérlŐI.. Ezekm'k a lépéseknek ~z el\'!-gzb;e ut~n a képemr6nknek úgy keH kinéznie, mim a lS.IO. ~br:ln.

...

.- .
~

.....,

..~
15. HI. 6bra

- .- ', « "' u ...
-" 1"

-

Az o/dol OXI' D"",j!sl "icw

.nNM ~ és mmall
<';10' """tft;mti5.,~t'J1:

~"Iá"

mcg az oIdah a böngész6nkben is a Dcbug mem) Start \\.í thout Dcbugging parancdl \-:iI:lSZI\'3 A l S.ll. ::íbrin ~th':lIjuk, hogyan fcsI a Deta.i l sVi_. upx u Internet ~plorerbcn . figyeljük meg, hogy az SqllhtaSOurce ~hal vWzaadou elso'i rekord jelenik meg.
r-;"~zzük

bzrevchetlük, hogy a Detail.View a13plllapo(ban nem ad l11ódO( ~rr... hogy meglekintsiik az adatforrás kővetkez<5 rekord~l, vagyis egyszerre csak egy rekordot I~tunk. de nem tudunk a kŐ'.. etkez6 rekord", It:pni. Ahho?,. hogy.,zt meglehcssü k, be kell kapcsolnunk az En .. ble Paging (LIpons cngedét~..,zése) je]ö\6n(:gyzetet a Det;.ils\r..,w

okos cimkéfébm Ezzel t'1I)' Iopozó wnadunk ~ Dcuils\/CVo' ~Ij:lhol. amdy az ~(búor· ru rekordja; kOzötti mo~8~§IlOl tanaluuz \~1i."1I6I<d A lapozó relülct Jlaptnelmeres 5Zerint oIdal>zlimoJO,t<lleni Iehe'lŐ'o-é, l><>gy <'SY ~dotl rekordru ugorluS$lJnk

15.11. 6bn
lU" ~·."",t.1oSIooll
~

rritt:ldJ<*ujj....,

fohu1.1n bekapcsoltuk n f.rublC' Paging rcl~'Ze'Ie'I. nézzük meg iSn*I ~Z ASPr,.U okbll ~ bOngokz6lx'fl \'együk ~ a részlel~ néZe'! alpn ffiC'gjClen6 öl h;\";lIkoÚSl, ~mdyekkel .. Book. Llbla III rekordj:in~k bónnC'ly.ké1 elé-rhetjOk. I... a megiddó '1.anlÚ hiv:llkozlisr:I k~lIimunk

A GridV_ is IeheIM lesD il meg,]elenlt.n.ldiitok Iapomil 's rtndezH4:L Ennek megvaIó$/t.".. I /ejelBI ká6tlOl ~ ~

A lapo2Ó felület testmmbása
A Ik'lJils"Í(,w vezl!riö lapozó $Oru a Propcnles ablakban \C'We:5ubh~IÓ, EI6s1.Ör k1lurntsunk a vezért6re a !('IVeW nézetbc:n. hogy belöI\5Ük a rula~g:1I1. majd a Pmpe~ abb.kban görgessOnk a PalPng részl)et. Jn k(>t rulajdonságo! t<tlilunk • All"",Pa",in{l - Ez a tulaJlionsig ~dp 1nC'g. hOSY WmogaIOl1-e a la~~ (u abJ*nclnlC'Ze'l1 ot;n('k a Fala .. ). H:t bHapo;olJUk az I::n;ible P;.;,ging ~g)'ZCIl:'I az okos cúnkében. a lub~g 6téke '['ru .. lesz. • Pa!lerSettinq~ - Ez a lulajdons.ig lohb rewubjdons;jgból ~1I. amel)·ekkel a lapo1.6 sor megj<:lenbét subhalJUk K"Stre. ptlíUul okttlszlimok helye\! cI6re--h:iIt:l gombokal Chiv:ukozlisokal) kM\ctiink

a p&",USetti"ll8 rulajdondgol, hogy old,.. lsdm·hivJlkoúsok hd)"etl OI},," hn,ukonsok:1I kaPl"nk. :mlC'I)·ekkel u dső, az UloI5ó. a kÓ\"dke:t<'!. illen-e az eI6W n:kordr~ ufIOOh:olunk. BoIuJk ki 3 tulaj<lons:igcx.6s kere:ssilk lllC'8 anruk Itode
,,~ltoz:t"·lJk;" rTlC'g

15,6nI • Adatok megj ilmltéle' webeI .......l(Ik kel l 361
hl egy len)'116liscit tal:IJunk, amelyben 3bp;llJapolban a Numeric \ 'jltozt:ossuk ól bcll!ítá.sl NextPreviousFirstLa&t -ra (Kőve\kc;t6EI6.z6E1$6Uto!só), k fig)'eljilk meg, hogyan vlhozúc meg II részletes nézet 3 \rlSUal Wt:!> Ikvelopcr tcrvcz6 néret&en_ A 15_1 2, :lImin I~!h:uju k. hogyan fesl. a lapou.atö DetaiLsVicw II böng&z6ben megtekJrm'c, lehe\6s<'-g V3n
ki~bsztV',j, rt:;Zlulajdoo~g:\L

,_ ~ m
----

-- -,.
,
~ T...-~Z003

,~

' .... ....--

,~OO

......

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

Alapállapotban a kÖViltk8~, elcW5, alsó ás 1II00só hivatkozások. >, <, « és » formában ;elenr.et meg (ebben a sorrendben), de ez tets.zás 5l8rint m6dosíthat6 a PagerStyle NextPageText, PreviousPageText, PirstP .. geTex t és LastPageText tulajdonságain kllfllszta. fgy fontos megjegyzés: ha < vagy > jelet SZ&retnénk mtgjeleniteni, a k8l'8kt1lf levéden HTML-megfelelőjét - , l t i ás "It: - kel IuISlIléInunk
A GridVlIW vezér16 is támogatja, Iapozást de ebben általában egy~8 l G-20 rekordot tekintünk meg, IMIm pedig evYet. A GridView lapoz6si Upességei'l~ IuImal'O$8fI rtlslIe(e$ebben is mtgismertedUnk.

A DetailsView megjelenésének testreszabésa
A DebilsView vezérl6 rneg)t'1cn6;e ugy:múgy tcMreszalthatö. nunt" G!idV,ew-;!'. k ugyanúgy tal.1lunk az egész nézel S2.U1.til'n (>,,~nycs, :l. sorukra ható ~ 3 mezőkre "-rvé.. n}'cs form:lzási luhidonságolmt. A n;;Z/:lSZJmiJ &; sor.;;z;nnl !ubjdoru;..igok:l. Prupenies ablak Appear"J.n«' és Slyles reszeil>en .1Uílhatók be, míg a mez&7jntiJ tulajdonságokat :lZ ok06 dmke Edil I'idds h;vatko~n k=ztül érhetjük el, amely - mint ahogy bizonyira kilal1)tuk -:l. Ftekls pj.Ibcszédabbkot jeleníti meg. A Dt.'UilsVl<.ow-nak is van automatikus fomli:clsi Idl<-'t6ségc, 3nIdY(,1 ugyanúgy az okos dmk"-bcn érhrtil nk el , mint a GridView e,;etében

\'ez&\6 form1zási lul:ajdons1g:11 között v':lnnak kGlOfI~k A DebiIsV~' r*ldául nem ismeri

MIg II form;izá5 l!'IIeIlete a Grid\iew ~ II DebII5\".ew eseta>en lIlO1lO11, II

k~

II .k,Jelölt:lOr" fOgillnclt, ez(," enntilI veztrl6nt1 nem találunk selected~O'o<Style tulajdons.1got_ Ezen kjVOI , ahogya kö"ctkez(lórioon látni fOSJuk, ~ Dclail,Niew ~d~lok ~datb;izi,;OO .... Ió beiz,ir.1sára is alklllnl:lS, ezén rendelkezik egy In •• nllowStyl. nev\[
lul:a~gglIl

GpkorUskfppen iglIZllSllk igénfeinkh« II DebiI5V_ meg)e~ \~u;Ok el ugy:mazok:n II m6dcosuJsoka" nun( II Gnd'~oe.o.' ~ében. ls dobjuk fcl Wnekket h csinosabb betllúpusokk:;al:lo ",-ebokblt A te..l<eSZ;lOOu lkailsView me8/"~ :10 ~ II 1$, n .illnl mucnj:l Megl'i8)-eIlICl"-, hogy ug}':l!U.l';I II me~m" fonnb~5t 1Ilkalmazcom, mim II GridVoew <:SeI(:I>e'n (a fejl&el: ~tnevencm, II Price melÓl. az Author mez"- utin ,enem, II price OSJ:lopb.:l.n le\'ő ~clmok:n p('flznemki'm for-rrdzum, éi igy lová bb),

Amiko.- bÚIftII*. Price ft I l-IoltllHdOn n-..z6 o..t"l'oTWItSlring ~ ne 1.-(t:sük8I, hogy I H' colt::n~"9de tIAjdDO$igOt alse-fl UI 6hn.ri. k~ • tonn'zts nem ~ • lIlel!5Mn.
l ,....... _

0- .

...

""--_ ...
~.,_'

....

'.

- ,.

'-.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.
A 15, II 1b!in !;ilon Oetail..,\,lew
HTMl-k~t

a 15-3, pt-I(\jl:un lilhaljuk

" n, ", u,
,",

.
,

., " " ,,

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 <td>Prlc .. <ltd><td~l •• 9500</td> </tu<u> </tr><tr>
<1d>P.~eCount<ltd><td>478</td>

U,
15,

<{tr> </tAhle>

Lapozás és rendezés a GridView segftségével
esJ'elIet, rekordol; jelenil meg ~Z acblfomb-,·e~ér· J6b6I. Ahhoz, hogy" feUwznjl6 minden rekordot megtdttlllhc::s5m. Es qn·esto.el
A Oet~iI5VICW vezérl(! al~p<ilJ<lpotblLn

\"égigJepkedhc.$5en l'lIilUk, be keUen ;illibnunk a \-e.tbl(k. hogy ~lyezz.e a bpo-

zh! Ez prn;ze igen egyW:n1."O!I; o;ak be kellen bJX$Olnunk.az EnmIe l'a8'118 ~ a ,-eúrl6 ok06 dmktjében. m.:.I,d testresubni a bpozó fcloJetet
a Proprrties ablakban . ( Ila ndr nem emIéknilnk pOnLOI!3n, hog)'3n. lapouunk vlS5Z;l A lapozd felr1/c1 ICSlfl'nl'/:Idsa dmG ~IC~,)
A GridVK-...· vczér\6 ezzcl szemben al31*"clmezés ~nt az adaúorr:1s ml"t"", rduxdj:ll . n~li. lt.:J. ÖS5ZC5 rekord n~Ú5a termbzet~ túl 50k inf~d6I ,derIlhel.,

lu. lll. ad:u/Or'ds-\l.,;zb!6 rekordolr. §Zjzait vagy ezrclt adja v~. A I S.R_ ~Idn p&l:iul IillUk, hogy a Soob tibb mind 32 &: rekordp rneg,ekruk - kqud;Uk el. ml lenne, lu. a tiblllim nem öt, hanem ötoizl~ rekord \enne! Eg). iJ~'en OkbI keulhetL'!.Im lenne, b

an

v:alószím'lleg csak elijes~ azokat, akik arra kí~ncsiak. h~' milyen kÖ<lyvel<et oIv:a!r fUnk. (Egyszet5ffiind peme imporúlna is nekik a kÖ<l}'\tlrunk mérete.) Az. inform.kió emészJ:helriJbl' té'!ew,hez dlszertJ IapoWatÓ\·j ala\ti(;;lnunk a r.ksnéz('let, hogya rekordoknak esY5lerre a<ak egy kISebb r6;~halmalit Í"leni~ meg

A h:>.szrljUwt65ághoz alapozbon kivül az is hozzjj;lrullw. ha II feUJaS.m1lók ren&zhetJk az adttobt . Az malisi i!'O<Ük Íltter\'ez6 oldalain p&lául a repúI6jegyek~'t ~I~~ljoon ~r szerint rendezik, a IegoIC!6Obt6lIulad"" a legdrá~bb fdé. de el6forduUl<lt. hogy n>ás feltételek szerint akarjuk rendezni II ji,...~tOkal, mondjuk indIIlisI ill "~gy légit~rsasig szerim. sok webOely em: 1ehet6:;fget is ad. 6$ n ASP.NET-tel ennek meg\'aJósit~sa is egyszeru. A GridV\eW vezérl6t haszn~I""" felhaszn:ll6egy adon mez6 S2CJ1nt renUezh~"ti

az

eredrnffi}1.

A kö"etkez6 két részben a GridView lapozlsi 6$ ",nderes; kt'pességdvel ismenr.edilnk meg.

A lapoli\l lIgyanilgy eng.:.-d{·lyezi1etjilk a GridView vezbl6ben. mint a DetailsViewb:m: a vezérlő okos cimkq&en kcrcWJk nK-g az Enabk: raging jelö16négyzetet, és jel6lji1k be. A l:t!XlW felOlet testresz:lbásjhoz a I>ropetties ablak Ilaging r6;zére lesz

sZilkstg, ahol •

II

Grid\!iew esetében négy tul:t;donságot

l:l1~lunk:

AllowP/1ging - Ez a tul:ti<Jons:lg adi> meg, hogy a la!Xltls t.amogatou-e (az alapértelmezett élték a F,olse). Ha bckapcwljuk az Enable '>agmg jelöl6négyzetet az okos dmk€:bcn. a tlllaidons~g €:rtlike True 10.':>2_ • P4qeIndex - Ez a lulai<Jonsig a megjelenített adatoldal sorsl~m~t tartalmalZ;l, (A sorszátnoZás 04.61 indul. tetl.~l ha ala~lI~poIb:m aZ ds6 a(blo!d:Jlt szeretnénk n....gjelenilen;, a bdlli\!i51 h~gyjllk !Hin.) • pag-erSett!ng8 - Ez a tulajdonsig több résZlula~gb61 ~1I. amelyekkel a lapozó ~ megjelenbét ~bhaljuk le5l1l:. pl!ldiul oIdalslimok helyett előre...h~t"J gombok~L (hlvatkozol$okaú kbhe!ilnk . • paqesl te - Ez a tulajdonslig az oldalanként megjelenítendő rekordok számát hat;),rou.a meg.
Az AllowPaqinq 6$ PaqerSettlnqs tubjdonsásolmak mM ismer6snek keU lenniil.k.

mi,-el ezek a Details\~_ tlllajdorlsjgai közölt is megtalálluL6k a !>:iger részben.
1\ hlle!ndex énékét \"&lószínú\eg soha nem keU ~ít:munk a Propenies ablakban,
mert az alapértelmezett O érték biztosít",. hogy a wcboldalnak a bóng{,s~ való Ix."töltésckor aZ els6 awtokbl jelenten meg. Az utolsó tulajdonság, a PageSize, az oIdalank~nt mcgjek:rutcnd6 rekOfdok wmjl lut1= meg, az al:tpl!neln"ICZn \o rekord. lia egy oldalon enn<'l lö!:b vagy kevesebb rekordot szeretnénk megjeleníteni. m6dosi"lsuk a rulajdons:lgű! aZ igényeinknek megfelelően.

15. . . • AdIIok.,.", ' "H I WlbllIIIIh ' r'&UI l l65

\"1'01'1 ~ Book~ ~bl~nkll.3k ÖS51.esen o;ak öt rekordjJ van, ha a \o tntken h~gyjuk ~ PIIgeSlze IUbjdon:5:ig«. csak egyellen old3lnyi :,d:,!0I k~punk, Állítsuk M! Ink~bI)

<,ZI

~ Nbidon~go!

2-re.

n1:lfd ~zzOk ~

az ASP,r>.1:.T <>kbh

~

böngb1.61:Jt,n Az <>kbl

..1 betölt6ekor l:ith;;n6 kl.'pet a 15.14. ~br:o mut;llp Megftgyf-"Ihctjilk. hogy a bpoW $15 relüle! :oz hbpértelmoezcu) Nwnerk lnÓdO( 1u.wUli:l ÖSS;reSen Mrom okbh k::Iptunk, és TOOI:!l az eISÓ okbh U!l\'k. K:lnlOtsunk a 3 hi'':ItkoúSn a I,.poro felOle!l'll; cz Iljr:lIö1ti :oz okbh, ~ m!bl a t\3rnud,k uu!okbh ~iu rn<'8 f!i5d II 1515, ~brill)

~"

- ---_.... --- ... --•

L

.:

-

'-e

,~.

c...r_ _ _ _ _ _

.. ..... -

"

..

~

..
"

15.14. "
M .........

OIdnkJ Q.Boo:*
wb/Q ~""

""')1.01"""

....

0 --

~---

!lI_::. -

'-e

>-....I~

:1



15.15. Mn
,tz",1moII

"".-maJ,,,

DlJiUQ

. ,_ . IZ
~eImeZett

Q.r dtdd,It és
"8)lb,-"I "IOISÓ

AO:S<,)........

Ahhoz. hogy lIpozI\IssIri.egy ~. 'I'tl6rI6 ~ kiiltitt. • w*6 DateSourc 1'1'-'<'1. ~ Date5et 6n6krt UI . . . . . . . Ez '9'I'ben
6n6k. \IIQ'YIS llaporisnlk JT1I!IitÓI" !I1ÚkÖdnII bI az OIdIIIO.Z adott SqllataSource esetében. HlI ~ az emlitett !Uajdons6Qot DataP .... O' ..... 6/lito~ 's a Gnd'f_ (vagy. OetaitsV_1 seoitsiQivaliapomt próbilunk. ,ekordot kÖl6tt. kMtel IIIp fel,
H ahhOl, hollV .lapo.!'s mtiködjön, vinu

. "".

ken 'lIlIanunk I tulajdons'oot Dataset

El I liqywImIltfIiU I GridV_ adiitainK ,~ i$ ~ .miWI ~ mn.taebbtn foglalkollri..

366 1MI, r6I.Z • MIIIU idltbfbokhll
Mi történik. amikor egy lapról egy másikra 'láttunk?
Függetlenül anól, hogy a n'iC5Ot.'zelct lapozás", :íllít(l(tuk-e, a how kapcsolt adaúorrls"ezM6 nlindig az óuzes rekordot kiolm= a megadott SQL-lektrdczL'SCn kem;ztüL II lapozhat ó GridVI<:\'.' ~z adatfomiW61 szAmuw rekordoknak lch~l csak <'gy lészh,.l!Il3zit mutatja, b al alábbi két par'Jm(:(er határozz::. meg, hogy milyen ad~tok:lt jelenit meg:

• Az okIalanktnl megjelcnilend(j rekordok n:ánu (PageSize)
• II megjelenítendő ,.datoldal (Paaelnde,,)

A képlet a kövelkezó:

StartR.. ,nIInde" • pageSize • pagern<l .." RndR<><:onUn<te" - P<og"Size • (P"qeShe ' Pa'l"lnd .. ,,'

1.

II StartRecordlnde" é'i az EndR!!(:():r(!Index aZ a<l1lfQl'T:b n"'Ridenitend(j rekordtanomány!inak kezdetét és vtgéllelölik ki. N.. adaúom.s-vel.él'i6 n "datw,mb6J kioh1lWlt minden rekortkx indexel, a IiOfSdmw.!ist ()'nál kezdve. lia tehit a GridViev.-'-nak az ds6 ilf rekordro \';in 5zOk,;ége, a O é:s 4 k6ZÖlll.'101'S7.ámú rckordoll~l km el az "datfords-,'ezérl6l6l, a kÖ'''~'1.kezó ölhöz aZ !i é:s 9 közöni sorsz:ímuakat. és így tov~bb,

Koclbbi Jll'kllnkban a PageSiz .. ('nékét 2-re ~lIitOl!uk a Propcm~'5 ablakoon. Amikor aZ oldalt bctöhjük, a Page Inde" ('néke o. ami Ut Jelenti, hogy a StartRecordInd.." l;nl;ke 0, aZ EndRecordrndex bt.,ke pedig l ll'5Z. ezért 3 Grid\íew 3Z "daúQl'T:b dr;ö két rekordjlt jeleníti n"'g (Usd a 1514, :íbclt). Amikor a feJha$Zn:i16 a 3 hiv;uko;cl~!"J kattint. hogy a hamladik adatoIcL~Ir'J ugorjon. az ASP,N!:'T oldal vir.sza~!o!:ist h:l~ vesre, A GridView <'szleli, hogy a felhasz.)jló 3 harm:Klik ad:noldalt kérte , é:s ~ PageIndex tuI3jdons:'i~n:lk ért.,két 2-re frissiti, Ekkor ujr.1sclmolódik 3 Stattl1.ecordlndex és 3Z EndRecordJ:ndex érték~, é'i 32 eredmény e7.IÍual 4. iIIet"e 5 lesz. N.. adatfomís-vezért6 n~ is I/II/1d('1' rekordot kiolva5"7. adat. bázisb6l, t's lilivel azok csak .j-ig sclmoz6dnak (m",el a Book.. l:ibUb.>n CSólk öt rekord tal:1lhaI6), 32 adarforT'is-ve1krl6 cs;Ik a 4-es ~~mÍ1 rekordo! adp ~t 05.15. :ábra).

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.

.. 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-

Amikor ~

felh",~rclIó

.

Pa~,·

,......,
megy ,égbe.
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

ErnIikaZZii:* 'ilwa. hogv • VISUII BasICben ÚOY' holhIttri.lWe ~I,
heil. ASP:NET OkiII foná nbt6re YiItVa ll. ablak lIIe-," ktjelöljiik. veMl is ll. ."ményt • bal, illetve JObb oId1111tnyf1ó fist6b61. HI fel szer,tn6nk fnssrleni lsmereleinkelll.'~ IIItrIhoús.-o!,lIIpomri vissza a 1, MJIl8Ihe.L

Rondezhet6 adatok megjetenftéso
Az adalok l:lpous:ín ki, ill ~ GridView az ,,-(titok rel1<kl.~"":''t ~, könny ...n mesokJh:nó\"l leszi. Ehhez c.... k ann)'ll kelll,.nnünk. hogy alt okos cimkclK'll bebpcsolruk az En:Ihle sorting (Remrzés eng.,délyelbe) id~gyUtet.
A rendez.:,. engedélyezi.':sé\'d a Gód\'iev. rne7ófejli!n:ihen Ie\-ó szövegek h",alkoú.\.>..i aLakuln:ok, amel)-'due kalllnl"~ .. z ASP,Nl, oldal \"iss<:acsatol;l5.;it indil)uk cl, aminek ercdmtnrekq,pen .. Grid\'1('Vo újra leken ~z adalok:ll u .. datf"m;'s-"ez('!iöblll. él; .. megfdel6 rendc:ZésI p;ar.lOCSOl alk;lJm:lU-:/; r:Iojuk.

K:tpalOlfUk ~ t,., most az F.ruhle Soning ,e~eI. ,. r:1csntzctilnkhm. és leklnMk meg az ASI"'ET oldalt .. btlngewslK'll Ahogy 3 15.l(). ;lbr.1n 1;\ll1al6, a rrnJezés eng~'" délyclé5b'd minden me1.Óf~ 1u\,:ltkoz;1,ktonl kqx:z6:hk le Ha ,,,la melYik hivalk()ÚSr.J DltJJlIUnk.:lZ ~datok;uzeOnl .. n1>tZ6 '<lC:rtnt llÖ'I'ckvt'i sorrendbe N'Odc.-Zl'5dndt. amelyik rnn.6nek:l fejk.>c.:-re Iuttmrouunk, A Gn<Me"' .. kaminYÍl N'Odc.-ÚSl ~ lámog:;n· p, ~"lIg}"'" lu a fell\:lszn;iló ow*l ug)'2nama:li mezó{ej~ lalunt. :Ii ~Ú11 ir.in~"lI me8'-,jJt07~k. ~ ~Z eredmMy ~IŐ~'fl jeleIlIk OIcg. A IS.11. olbr.1n L1lhaljuk, hogyan fest a webokbl. mJUun a I'rk-e Illelll fciléca>en 1('\.<('1 hWJlkoz:ty~ k:lrumol.lunk

Ha. ritsníz81 rendtzett,. ~ megatIOtt .nt::fI 8Y doad'tk.ll ~ hlrtott alapér!eImalRIt ,. . . 6Mnyit \/t'Slb. TtMt hall S~aSW"ee 18c ~h liIbIa 1IrtaImit. Pr. , .. 1IIdop szemt rendezve nYOO kl, de. feIt\aS.ZMI6 • 1lfI116 SlInIlt akir rendezni, , GrHMew rendezési bIMltásai hllUlblrilj"'II ldMlooás·~ bdlílÍSltl

368 111. rét.!: • MIIIkI edl'Mzirikll

Ez nem jeIeoli azt. how lia rerldezhet6 rácsnéltltet használook. akkor az adatforrásv9Zér16 )RDER B1 zátadaénak semmi llasmát nem vesszük. Eael ugyanis mapárrmmuetr 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.

,

v... --."" """"._0.... ___ ... : -

~""~ ~~

_ - .-",_t_. . ...... -- - .'-- "....
"_ ........ ....
,.,

-e

~ ~

....... """"" " ....... 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
.-.~ .~

,.- ._--

,

..._--- - " " " 0 - ...... '"_

-(>

-- -- - .--er-._"","_ . " ._ - , _ .. _
.. ,

.. •


~,

~-

---

...

."'"

__ ,"""' ... :>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""",.

A rendez6 felikt testt ",ab4$8
A GridView rendew fdij]ele 3nnyib:", te5tre'<7.abhaJ6. hogy Jeler.heljük. mdy nl<:zók lehelnek rendezl\elők (Alapértelnl<:zt5 szennt ~ ries összes meUljc ~z.) lb jelezni szc:.'Tetnénk, hogy egy ~dott mező alapján 'lt>m rendelllelÜnk, ny~llk meg,. Fields párbeszédlblakot 3 Grid\~oew vezérlő okOl> dmkéjének Edit CoIumns hivatkozá.kír:1 kattintva, At ablak bal ab6sandlxln l:l.th3tjuk,. r.'iQ mezl5inck hsclpt. Innen v:ila$$rok

15. ón! • Adatot nllQilll . . . . WebeI ~ 369
ki an:l. rneWl. amelyet nem rendezhet6vé szt'n.'Ull'nk tcnni, hogy Ix.>tölt.sük a tulapon$!iga it a jobb oIcbli li5tába. majd jobbolcktlt gő1'ge!;S(ink :lddig, amíg ri nem I:tláJunk a So~tExp~e88ion nevIT lulajdon~I"'J Töröljük ennek II tulajdons~gnak n ~ékél OJlsd a 15.18. ábcit), ezzel a mt'WI nem rendezhet6\'é lesszilk_

I

'.'"

-~

''''

--

,,,,,,,lt _ _ ..

i,=
r......

.
L>J

---_.....__
OoMIh.!IrrIL
o!

-~15.18. 6bnt
A )",'rPu/)/iSJJI:d ~SortE.~" lu/ajdfms4gál /WI5IIIJk

Megvizsgájtuk. hOg)-uJn működik alapozjs 6; a rendezés a rác:ml'zetben, de nem k~íteuünk bpozh.at6 és rendezhet6 rksntzelet. IJ.'Jr f""ldit ilyen GridView-rn nem littunk. nincs ls ri szükség. men e két képessl'g együues biZlosíl:lsa csak annyiból ~IJ. hogy beka~juk n Enablc Pagíng és az Enable Sorting jelöl6négyzetet.
lllapoclshol hasonlóan a rendezhet6 c.;zJopok fcjlb:ére kattint''a ls vÍ5Szacsatol<'lst kczdernényeZÜnk. amelynek során a GridView két esem<:n)'t v:ílt ki,

• Sorting - El; az ~ény a GridVicw rendezése d6tt megy végbe • Sorted - El; az esemény II GridView rer>dez6c uI:!n megy végbe.
A Grid\r""" vczérl6nek van egy SortExp~etl8ion nevú. csak oI~'aShatö tul:l.jdons:Iga, amely jelzi. hogy melyik rnez6 S«:rinl kelJ rendem;' A laf.'OZ'\sl e:\Cményekhez hasonl6:'n a fenti eseményekhez is írhawnk eseménykezel6ket.

Osszefoglalás
Az. d6z6 6rlban I:lttuk, hog)':ln nyeri>elilnk ki :><blOkal qr)" :Kbtbbi~ egy ASP ,\1:., SqIO::a~ ,'e1,6i6n k~ul, ebben II Ic<:kében pedig megnWOk, ffi,k...-nt ",knilheljük meg e:trket ~~ adlloot a wd>es aootvezérl6k ';I.'gitségi... d .\tmden "ebe JdI\Ve~rl6Itn)'q!(:bm ug)"llnugy m(lklktik mIUtán lloz.mdIuk 6kl1 nokIaIhoz, e}l}' adnfl>!l1b-ve;:trl6t kell oowiuk k~pooInunk, Amikoc'Jlaki dLíIOg;ltOI1 az ASI'NI:.' nklalunkrJ. az adaúoná5-\'ererl6 klol\"a_ u adotolcat az adatb:lzc'ibót a "'~~ a,lot"',· Zí:1'I6 p;..-dig n~lenílllzokal. öt wdlC:S Jdo(H,z('1i<'!I I'An, Jmel~'t:k köl.01 ól k~ le8l1y .. k·

okblon n

r:tbban JlJI>znjlt a Gnd\iew é; a 0..1.l1[" VIeW

A Cin./VICW \'C.'úrl6 a hnw kapooult ULolrU"r.l~,~znIó 6ssze'i rek~1 mcgj(knitl "S} <tAbl~> HTMl-dcmben Az. ..wrfnmb em..-s rek0rdJ3iból bblll.:usorok jOrlnek Iéu'e, az oszlopokból p«bg tál>bnlcelllk A Dft;;IIJS'~"''''- ezzel szembm eg)''>ZCfre csak rgy ",kordal jelenít meg: ez II rekord is~' <tabi.> e~6x jelenik meg. oe
J

GndVicv,'-t6! elt.:r6en in u adtÚ0fT"l5 ovJopaiból ;on ~ '"8Y.eg)' l.ihUz.u.o;or, n '"8Y~ úbl:iza1SOrOk pedig k~·k~ o.Wopoi tait;llm;lwak - az egyik n ad:uWu.

megfeld6 ~k nevl'l., ~ mislk J)C(hg al mek<:t ;emu meg.
Mind g GridVlew, mtnd a Oeta,bView m<:lItelcnésc több $~n{en i$ könnyen Itstr.::<1.;.h-

h.lló, A '-cztrlószifllű h ><lr:mnul,ulajdonsJgok ~ I'ropCI1'~ "bl,kban érhel<'lk eJ, nlig ~ mezó§zin'ű lllÓd(l5ít1i;;ok:1.[ ~ ficl<.b p.:lrbc.'.d-<.IabIJkban 'ége7.hetJük el. ~mclyhe~ az okos cimk"o/XII férhetünk hom A legjobb az e~n. hogy mmdkd vezMóhöz Ul10zik egy Auto format p:irl:.e<.z<!dlhlak, amely" ho1;2;:im lusonIóan mt1-.,~ &z,,-I! hit:ln Ie-.~k nyujt ""gy qi~

Ebben az öriban az:Kbtok mqgelL"fIIl~ ~OSÍlouunk A kovetkez6leckében azul fogblkwunk, hogy m,km, N~uUlh;l'ruk eg}"Ün az :KbáOlT~w:~et &; , ...-d>e:!; ,cbt\'ezérl6kel az adalok szerlceszt&ére, friMitésére, beszu,..l5;1r:1 és ,on~,

Kérdezz·felelek
K il Gridi ku' t's :
/1

Dell/Ils, ';(,'11' mepJci''111istt /f!t$Z/.'I&, dc IIOfVW' I/'IIC/cm 61«.1

v:

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 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 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.lCsenek, 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.

v:

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.kedhessen 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

I. AdJUk a ....~ ad:u\"ez,kl6t az oIdaJhoz. b " "~n.'rIl'l okos dmH,tbet! ~ 01005<' [bta Sounx lenyM llSÚhóI ""lasswk k. az oldalon taWh:uó ~<bÚOfr.l!>-\~zérl& k",zal ali. amely.khez a ... 'CI"", acbtveztrl6t kapcr.olni 5~nk 2, lIam;5. Az a<btfomls-ve1,ért6k cs:.k Idotva ...... ~k az adaIObI "z 3<btl»usb6t A meg)denltc5" webtos acbtve1.erl6k fdad:&!:I 3. lIamis. A .... ebe5 acbl\"~zérl6k csak megjelenítik az adatokat;,.zok luoh<los.:l~ a Idn&ben ""''6 a..búoni.sb6! az awüorr:l.5-'ezb\6k fdadl",. Al. a..büonü\'ezbl6k &;,. webe! a<.bl\"e~ teh:it egpJumaköc!nek. hogy adalokat ,..1enithe5sUnk meg

m

III lia: • Mda-hd: ,.

ö"

4. A 0et:Ws"'~ vezéft6 ~~p;lI~poIban /lem úmog;IlJ<I;I ~poU5t, \'alnl) ~nukor ;IZ okblt beIöIu:l~.:l felh;as;m:iló C!IOIk az a<búOl'ris cls6 rekonlf;,il fO(!1J btn. Ahhm, hogy \'i:gISlq,kedlleMCTl:u.:admon:i..'I \':iII:unomn)i rekotdj;ón. mgedélyeznunk kell II I;o~ Ez! ugy crtlCljük: el. ha. bebpo;olJuk aZ fll:lble »:.glllg;dűl6négyzdel a Oet:IibVicw okOiS dmktjolbw, \':iIgy ha rru"-I':I álliljuk aZ AllowPaqi"9 rul;l~gtJ( ~ Pl'OpCfties ablakban 5. A pénzénékek form:1lllmldn» a < 113 "gy ditumlidlI mc;t6nt:k (:;.;lk II U:llum r6;zéI s1...retnénk megjeleml"n;, a d fOfm"tumleirot kell alkahruznunk HJ clckl1 a formjrurnleir6kaIC"f!)' GridVit:w \':iIgy egy l)e{ail~ \.cw val:tmt:ly,k rneZ<5j&e '\leI\.-ménk alkalmazni, :il lit'" l Enc-xkl tul:ljdon.s:lgű! Fal &e-I':I kell 111 iununk. II DauFormlltS t ring lula~got prd'8 a 10' {"r••ü"", l.inil éni:kn:.

Gyakorlatok
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
~

I. Houunk

"'''''"''''.

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.
M6cIoM~k

16. ÓRA
Adatok törlése, beszúrása és szerkesztése
A lecke larta/",liból'
• Az SqIJ>.l.taSource bdlJíL'isa adatok fris.~il~<re. besz(irás.:íra
~

és törlésére

adatMzi.wk

adat~ ,f):lk

,n6dosit;ls;irJ

ha~"ZI1~laws

UPDATE, J!l;SERT (>5

DELelt: SQL-Ul:I.Síthok ha~btának ~Ilp)ai • Adatok 57.crkeszt6;e és \örlese" GridView vezérlő seg>t.Si'g~v..J • Adatok beszuclsa II Details\1ew "cz(>rl('i 5Cgil5égével
Ahogy II 15 Icxkélx:n 1.ittuk. az. ~(L1lok ,""'Sit'lenJt6c a~ ASP_~' webcs adat"OCz&i6ivel gyerck~~ték. Eg}'l;zenJen az. ASP ''ET oIdIJ", hOzunk egy Gric!View WID' Detli"'\í= veZérlŐi. b hozzá.kalX3QJunk egy megfelelően \)eállitou adatfon-.O.s-n:zérl6t. Egy adatbá zis adatainak megjelcnit6c e8) ,,'eboIdalon 11:lSl.OOS, de néha arra is szü~ van. hogy " f.. lhasználóknak lehet6vt tegyilk aZ adnb-17.i:1 unalmjnak " UXIos;lásill is. Az el62tJ 6r.iban peldiull~ttuk. hogyan iek'1'ílhClIOk 11'1('8 II Scok.a a dalMZiSOOn !:irul! könyvek listáját. de milyen j61enne. ]1>1 " I.1tog;nók ""Fit könp"e,kct is felvehctnék a t:lJ)/jha. V-.lSY megjegyzéseket: ftIzlJrolffiek egy adoll könpiJöz!

lU adatok ~k:nítbe mellett:l. Gri<Mew él D<:!atb\"lew ,-e;miök új rek<Jrrlok~­ r:is:íra, él mcgIt:..'Ő ~d:l(ok törié5tre, jllelve szerke<Zté!ere L~ h:1.v.nálll.1lók. A Icgpbb aZ egt':s7.bom, lx.gy mindezt anélkül &helJük d, IIQgy egyelkn sQfn)"i f{)(f"jslcódot kellene írnunk, A k6dcJIJlsmemes beszúcls.. frissités 6; lörl6 a wcl:Je5 ad:llvelkrl6k kqx:s,;égeinek k&tönhet6, Ahogy a~ ~dalf<xr.ís-,·e~érI6k ad,nok kinr~,Lére, úgy ezek a \'{.z&\(\k adalok ~th1ra il; ha_málh,nők. Ebben az ór.'iban nagy any:.g« veszünk. de ha \'egtgkilzdjilk magunkal a Jffken, k~p(:sek leszünk adalbizi5Qk adtuín3k rncgjcknft(;..tre. szcrkesztélé .... fris..,ílésl' ... k torie:s.:.ore egy ASI' NET oldalon kcre:>ztil.l

Adatok frissftése, törlése és beszúrása az SqlDataSource vezérl6 segftségével
A 14. fe~~ben l~tlUk. hogyan nyerlldllnk ki adatokat aZ SqJD:l1aSource vezérl6 scgftség(,vel egy SQL Sc>!'\'t'r 2005 Express Edition adatbizisb6l, az 1'1&.'1 Jeck(oben pedig megtanuJtuk, hogran h3szn~lhalJuk az ASP.N"ET ,,'ebes adat\'ezl'rl6il az adatok nl<'gjdcníl~re_ A kl'lfl'le vczérl6tipus leszi Jchct~. hogy világasan cJkil.lönítsük az adalok e~rfsét a rajtuk ví-gzctl m(ivelcteklóL
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. A beszúr:b. frissít~ ts lórl~ t.1mosaliisán~k hW.l.hdása az SqlDal:tSource \-ezé-rl6h.... z csu~n egy jdöl6re~'2'" Ilekapcsol:lsál igl'nyli. Az. c-Ijácls szeml,;!l",Nre hozzunk Iéire egy új ASP'iET weboldalt Ri e h Dll taSaurce Kx"u'llx oo·en. hÍll.lunk rá egy SqlDaraSource vererl6l. (os 11hlSUk be az adaúomiSl.. Allogy kor:\1.>OOn is t<.1tOk. dlasszuk ki a megfekl6 adatblzisl. illetve kapcsolati kar:l.kterl~nrot:o: els6l<'pésben. majd haladjunk tCW~1>b a Configure the Select St.1tcment abbk ..... 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:uaSource 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; SQLelWllit~si bcállil~sok) p~rl>es1.édablakat nyitj:!. meg (16.\ ~bral.
G~"Ől6dj(jnk

_

_ _ T•

..-n:.~DIl.CI'I

CJ_..• ..... T......T~_ ..... "

.. _ _ _ _ T• ..-Tt.... tw"TI _ _ " ' _ otW:T _ _ _ _ .. , . - , ..... _ _ ......

_....

...... _00

_ _ ","""",_.

16.1. libni
A be:<zrims. jrW(lh és lOriés /eheriiHgér

...
Ebb"n 3 p;>rbeszédablaklxlfl

II """" I

<IZ

pd~/J/tlltb<",

Adr...,ICM SQl. G<mcmNo" q,rl<"" blz/QSflh<llJ".

_ G<.,nerJtc INSERT, CPDATE. and DElETE ~!ement:s (L'JSERT. L'PDATI: ét; DEU:TE utasit."\sok Il:who7.:'lsa) é5 use optlrnisOC ronrurreocy (OpIimi5la "=engé5 hasznlllna)- taUlunk. A 1.Ieszúr1s, frissí",:" és töriés lehet&égénck blZ!osíuis;ihoz csak annyit kclltffinünk. hog)' bekapcsoljuk az el'16 ,eJöl6négyzetet. Ahogy kés6bb I~tni fogjuk, al. SQL nydv a SELEX.'l' uta;JWs lnclleu lliSERT, UPDATE és D!,;LETE utasithokat is tartalmaz. amelyekkel adatokat m:irhaturlk be. rn6dosith.llunk. il\et,..,. törölhetünk. Amikor bekapcsoljuk az emlit"'-t je~"let, az SqlDdl:1SalJrce autom11ikusarl IétrellOZZ1 ezeket al. adalmÓdollíIÓ SQI.-uus/lhobt is.

k~ je~et

A Generale INSERT, UPDATE, and DELETE statements jelöl60égyzsl csak a6:.kor émetó el, ha a Coof.gure the Selecl slaternanl ablakbi!l1 rna!lldon kltérdezés visszaadja alábia a!s6dlll\18S kulcsát. A2 SqlOataSourca v~r16 VBrélslóia cuk akkor képes automalÍku$lI!lllÍtreIlOlni \Ll INSERT. UPDATE és OELE'I'E utasIttIsokat, ha ft SELECT utasMs módot ad a wol! egyedi 8lOrtOs[it\sára. Példánkt!iIn e~ 1IlI. jelenti, hogy III oSlloplislába bela kelloglalnunk a Bookl D os.zlopot, vagy úgy, hogy a • Iehel~1 választva mtndan OSlIopol -msuadunk, vagy úgy. hogy bekapcsoijuk II: Be ~kID oszlop jelöl6négyz8tél is. Ha a BookID oszlopot eIIeWjlattiik Bso- ,kB tábla elsődleges kulcs oszlopává lermi, olvassuk al újra a Book" tábla léuehomsár61 és III els6dleges kulcs oszlo~ uer&pérÖi $lÓIÓ 1"\I$Z1 a lJ. fej(lzetben.
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:lsir~ 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 csak:lZ eb6 ",1ö16~-zet'" bpaoljuk be. ti; ~ Use optir1Ü.Slic concurrency 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.
Egyelőr" leh~t

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..

16.1 . p6lda Az SqllJu/tJSo"rcr ,'f'rbIéjorrlWltJdjn mosll(Jrlo!sJ, frW"nl fKJm'~ IS ,mMlm=
2,
~l~t..c"""""nd·_·DELETE

b<$zrirob"l 6

1: <up:Sqlo..taSO\lu<' IO··SQ1Dat"Sourcel' ru","t 'urver"

:"n"ect lonSU il><1~ .~ lS C"nnoteUQnStri fIlIB, Connect ,onSt r i ilii b"
!'ROM [Booh) WHf:RB [BooHOI • 8Bookm " _ In&ertcoar.and=· INSERT I1l'1'O lBooka J (['1'1 t l e l. I Aut!>or l • _ ('fe"rPubli.hedl, [Pdcel. lLaatRca6On), [Pag1!C"unt]1 V1o.L.UES _ (8Titl", '''-uthor, iYearPubllohe<l, IPrl<e, 'Lastll .... dOn. _ 8P"!I~ount I'

;,

SelectC~nd~'SELECT

• FROM [HOoke]"

VPdatec~nd=·UPOATE

_ _

4, 5:
~,

1, S, 9: ,0,
ll:

12, ll: 14,
l~:

_ lBooklD~ ~ iBooklD'~ <O<tl .. t .. l'iII~""",t"u~ <up,par_t"r Na"",,~'BookID' '!'ype.·tntJ.· I~ <IDeletel'dr ...... teu> <Upddt .. Panlll",t"u~ <up,par_tH N_~'Title" '!'ypeo·Stdng· !~ <aal"Pdt_ter -'·Author· 'rYpeR·Str;l>\I· i~ <up,Par"""'ter N!I..... ·Y_rJ>ublis~ed· '!'ype.·lnt32· f> <asp,Par_ter r<.' .... v·Prlc .. • Type.·Deci ..... l· <up'Par ...... ter N_2"LaltReadOn' '!'ypeo·Dat .. TI_· I> <a5p,hr....,tH _.·PagC!Count· 'l'ype."rnt32· i~ <up,p"r_tar _o·lIOOkID· '!'ype.·lnt31· h </uPdatal'ar_ter.>

{BooksJ SET [Tine] iTitle, (A"!hor] • '''uthor, (YaarPubl1ahedJ = @YearPubli.hed •. [Price] • IiIPrIce, [L.o.otll.... dOn] "' IlA~tR .. a<!On. (PageCount] _ IPallooC<:>unt WHER2

'>

16, li, 18:

<InG~rtPar_t"rB," <,,"p,Par_t~r ~.·Titla·

Type.·Strlng·

i~

U,
20,
~)

,

22,
23, 24,

<up:Par_t .. r N.m8=· ... uthor· 1'yp<>.··Stri"l)'· I> <"'1',Par_ter Nameo''l'earP\lblhh'"'' Type.·InU2· 1><as1',Paramet .. r N~.·Pr;G"· Type~·Deci ..... l· /><asp'p... a ..... t ... NlIlM.·l.utReadOn· Type,·DatWfI ..... • ',. <8$1',p ... _ t e . N~.·r.~~Jnt· TY~='lnt12' I> <lln ... rtPdr_ters~ <lft"P,SqlD.ataSourc,,>

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:1lobl 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
le"ő SelectCor.ro<ond ut:il5iláson kivill a 2. és 3. soman három tov;'ibbi parancstJt:iI5itás szerept'l: a De l .. t ..<:O<l'I!Io'lll(!, az InsertC"""",nd (mindkeu6 3. 2. soman), és az lJp<UoteC~nd U. sor). Ezek ~ pa"'ncstJla~íU5ok adj1k meg ~roka\ al. SQL-IJ13sítá5okal, amelyek .. ~I kell adni II hlucrJdnl»zisnak. anllkor aduooI szúrunk be, '! f~ítünk '""gy lÖ<lünk. A femi parancsula$i~hol néh.1ny p"",nJéter Í$ kapcsOlódik, ~melyeket a 4-23. sorOOn ulJilunk Emlékezzünk vlS5Zól. hogy az SqIDaUSoun:e vezé<"l6kben uJ:llhat6 SQi.--IJtasiWoknak pummcwretk;" lehetnek, amelyek kés6bI.J beillesztend6 értékek hel~"ÚfZ6i. A par~mélereket a p:lI':lI1CS\lt:il5ltisokb:m ~ iParalflfltlf .. IMv abkú elemek jelitik

A 3. sorOOn

A paral"tlélereket a <Delet ePanllJ>eters>. <upd"teParameters> és '<!nsertPara' ID@teT6> ~k hat~ro:a.ik meg ri:szI."ese!Jben. A DeleteCOIIZIWOnd uta<ításlxm ~kl:iul egyetlen par.unél..... U!800klO) szolgáj a törlendó sor egyedi al<>Oa§itására. a <I).. I .. t.,p"rameteu> r6z. azonban a 4.Q. SOlban egy <"$~' Par ...... ter> elemben kife~;, hogy a aooklD paraméter egy eg6<: szJm. figyeljük meg nOl1oon. hogy:l par:1Inétcrnek nincs meghatirozoo &réke. EmlékczhClilnk r:1, hogya H I«kében. ~mikor az SqJ(}J\aSource \'ezérl6 var:1zslójjnak segí~>b'eI SZIlr6lUfejezéseket hOZl\lnk llife, a WHF.RE ziradl-kba .beledr6102;l.l.lk" al. l'1"téket. és ez a~ Mék jel.,.,t meg a hozzi t:lnoz6 <asp, Parameter> elemlx:n. A <Dele .. eparaMter.>, <UpdateParollllleters> és <ln.ertParMleter8~ résL.ek <a8J): Par/llDllter~ elemei :uonoon nem t:lfulmaznak egyetlen bedr6tOZOlt &téket sem, men a pammé!erek értéké! futásid6ben fogjuk rneghatirozni. A tör16 utasi~s (oeleteC,-"d)@!:lOOkIoparnméteréncktn(>kelcMtattól fúgg majd, hogy a felh~szMl6 melyik 50ft kívánj:. toroln;. él "nnek II sorruk ~z azonosít,*, (BooklD) lesz majd ~~ emlitel.1 par:unél.er éltéke. A I«ke ké56bbi részében aZ! is megnézzük, oogy'Jn szurltalunk be. frissíthetünk h tÖ!"ÖJhetilnk adatokat a GridView és 3 Del.:I.l!sView ve:ctrl6 segn~gb·el. Akkor majd vil;'igo:;5á válik. hogyan jelezhetik a felha.o;zn!il6k. hogy melyik rekordot .szerelnék lörölni Vllgy módosítani. és hogy a ""ebe:! adatvezérl6k mik""l adják ~t eZI az infol"l1Ú· cic'x az adatfom1s-vez6i6twk.jelenJeg ~zonoon elég annyit tudnunk. hogy 11.:1 bek:tpOOluk II Generate INSERT, UPDATI. and DELJ-::re Slatements jelöl6nég}'7.etCl az Advanced SQL Generalion Options ~rbeszédablakban. aZ ~d,úorr:is-vezéfI6 létrehoua azokal a pa",no;okat t5. amelyek a varáZ516 Conllgure the Select 51aLement ablalcllx1n megadott adatok beszúr:1sához, fru.siLéséhez és törlé~hez szük""gesek.

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
Nem sziikstge5, hogy tökéictesen ~ru.ok at INSERT, UPDATE es DELETE ulasíf>lsok men at SqIl:>ataSouTC<' örömmel eh'ég7.i helyellünk a n1Unk~t - nekünk ~k :mnyi a dolgunk, hogy bekapcsoljuk a mcgfelel6 jelöl6negyzctt:!, Mlndazc,m:íllal mIemeS kgal1bb nagy ''OfW.bkban t1SZ11ban lennunk II fenu masit:ísok ielemé""vel él; nyelvtani szaMlph.. L Ha az emlilcn h:lrom SQl-Ula$íw :dapj:liv:ll LiQ1:;'iban \'lI8"f\mk, nyugodtan ugorjuk ~t a most kövmez6 rbzt, men en az SQL-ben járatlanoknak ~zán­ tuk_ Az adltok ASI'.NI:T ol<bJa kon keresztüli módo!;íLhá,.. 1 az Adn/ok szerkeszt&! és I6rlhe a Crü/ll"'i' ~'CZérl6 SC'8ftsl-gél1Ci dmú r6zbcn kezdiink foglalkozn'működkét,

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,
INSF.RT rN'lO 'TJbl~N<!YIf)ulc>pl. 0II1:1Op1. _ •. , OtIz1"f'NJ VAl.uES(QulOpltrt<!k. QuJop2tno!k . . . '. DlIJ:lopNEre<!kl

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 roglalnunk. "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
p{:I~t (~sd

a

a~ INSER'I' uosiLls ~ltaJ~nOll alakját, n"zzlInk meg egy konkré!. Az 31:\bbi lNSeRT U!;l5íbst az Sqll>JtaSource ,'ezérl6 \"Jr:íZSI6).1 ~1Ií!olta e16 16, I péld,1 2. $Or.lL),

lNTO [lIooltaJ I (Titl.,1. IAuthorl , (Y .... rPubli.hedl, (Pri",,). [1.... tR ... dOn). (Pagecount]: VAWe5 ('Tit]", eAuthor. 'YearPubl ehed. I!prlco , 'L st~aadOn. I!pagftCountl
!NS~T

_

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).

Adatok töriése • DElETE utasftás••1
A DELETE

Ulasít:i5 ;Iltaklnos fonn~;a a következő:

DELE'U I'II(;M 'l'lÍblaNév

WIlERE ""....eF.. l t4t .. l A WHERE zár.lClH nem köcelcz6, de szinte mindig szüksl'g van ci, men a DELETE utasí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
A DELETE utasítassal u.onban egyszerre többnyire egrellen rekordot ~k!Unk törölni Az Sql04tll.Source vezérl6 k6dj:iban lev6 OI!leteCoaDBnd például egr olyan WIlERE úradékkal renclclke1.ik. amely a Books tábla cl5ódJeges kulcs oS"Llopán, a IloQklD-n ala pul. (Az els6clJegl'li kulcs oszlop az, ami egyedileg azonosítja a tibia sorai!.)
DELETE !'IIOM lllooka) WHEIIE lllooklD) ~BoklD

Egyes l'SeleldJen lazítani szcretnl'nk a WHE:RE fcltéleltn, hogy a DELETE utasítlssaltöbb rekordOltörölhessilnk. ""lcUul ha az ÖS!<a'li '2OO5-ben k.i3c1otl könyvet törölni s"Lt'fCtn(-nk. en az U\a5itá51 ha5Ználhatjuk,
DELETE fROM [SOOkal W\fERE 'teuPubll, ':d

az~. Az

_o.

2005

Ez:v; utasítis lehe!. hogy egyeden könyvet

!lern töröl. leher. hogy eg)'CI, kett6t, I'agy eredmény attól fligg, m~)"en énekek ~lcrcpelnek a vellrPubl iahood

Adatok ""ri<osztése az UPOATE utasltá".1
Az lJPDATE utasítás l&ero soruk eMk<'nek megv:ihoWltás.ára sw!~1. Az utJsftásnak

megadhatjuk, me1r OIlzlopokat nul)'Cn (-nékre szen."\nl-nk m6d0síl:ini, a frissíll-s hat6köré1 ug}':1nu.gy egy WHEIIE Zkddék adp meg. mint a DI!LE'I'E ut:lSitis es<.-teben. Az UPDATE utasítás tehát ~íthal egy<:den ~ (leggyakrdtmn igy l=~l",k), de cgy rekordhalmazt is,

Az UPDATE ulas1t.h ~1!JI~n05 fOJm~ia 3 következ<'l:

UPDATE Tilt>I"N<!Iv
0.."1",,1 •

SET

o..%l""lilrték.,
)ul"'f'li1rt<!lk.,

oul0p2 -

OUl""N " Os1!lopNtrc<!lk.,
WIJERE ...ller"l'eH<!Itel

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.

A 16.1. ""Ida~, sorl\Y.J.n szerepl/5 IJpdateCOftUand cgyetk'l'l rekord ÖMZ"" oszlopjn:.k énC,kl'!. (ri",;iu 3 BookR t~blMxm. kiv'::",e az aUlomalikus $Or.;zjmoz:bú oszlopo!:
1l1'llA'l'E

1800hl SET [Title] = 'Tit I",

IAutoorl ~ (lMthor. [YearPllbliahe6] • IIY". rPubl iabe<!. IPd~ .. ] • erde,..
[~ . tR@adOnl

• (lLastReadOn,
lilPa~ecounl

]PaQ"ocountl " WHEFr [BooklD)

lBooklD

A WHERE zjradék az eslIXllcges kulcs o:szlopon alapul, wgyis az UI.'l$Ítás aZ adnb:izisclbla egyf'llen rekord~L ,n6do:;ítja. Eddig 111.11' lálluk, hogyan á llíthaljuk be:u SqIDaI:lSource vezérlŐI il \'3rlzsl61xm az INSERT. UPDATE (os OELETE Ulasíllsok l~rchoz:is!ira, b rövid ~tt"kHllést kapcunk a kapool6dó SQl-ul3Síl:!..sokróL K<:57.en ~lIunk 31'l11. hogy bcillít5Unk egy ,,-ebes adm..::zérl61 az ad1tok bes7.úr:lso1ra. fm.sílkére <:5 lörlbére, A kö,-.":k,,ző részben n[ néUiik meg, hogy:ln szerl<eszthetilnk é; tÖfÖlhetiLnk adatokat a GridView ,"e:tMő St"giL~gévc::l. el;( kffi-.,,:(Sen pt:dig >zI tanuljuk meg, hogy::tn srurhatunk be adatokal ~ Detail5View velérlő h3..mál3t!inL

Adatok szerkesztése és törlése a GridView vezérlő segftségével
Az adatok meg,i el=ítést'n k1o.1lla GridView "ezérlő arrA is alkalnus. hogy a megjelenítffi ada~okat nerl<es.s7.lIk vagy Iörölj(lk. Ehl'K'z a GridVit'W-I egy olyan adatfoml... \'e7krl6höz kell kÖlnunk. amelynek I.Jt>d.o;tecomoarul k Deletec~n6 parnnc:s:t is \!:In. EzdCel a par~nc:soK:ot azonban:l.1. SqIl)ataSource veHr/6 V::lr:lzslöja alllom:nikus:m l~rehou..
::I ~nlunkra,

amikor els6dkoge.. kulcC5'd n:ndclke7.6 adalbázisL;íblából olvasunk ki

adatokal.

IH 9'
'" 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\~_ ,,-wl6ncl<, 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,

( 381

Adatok t _ k engeCIéIY.mS. • felhasználóknak
It. GnJ\"~ \ezérl6t tciw

bcll!ilh:lllUk úgy, 00g)' 11 fcllIa5ználók ..... k lIlblOk 1000bét IS ~n.gedé/)'eue, mégpc<.hll cgyS.le1"Je qy rekordot II törlé5/ megenge&.'5 r.icsntzcthen elO' Delele gorlloolw VJH)' hlV"Jtko1.bolw I,HUlma:w me7.6t tal:llunk. Ahhoz, holO' ~gy adott ~ lÖröljOnk. D:lk II sor Delete gonlbJ.ir~ kell katllfllllnunk. A gC>llllJD k:lnJnw ut~n lIZ ASP,NIT 01<1:01 viss.zac:salolio;l kezdoemo.:"Tl)Tz. m;l.to:!" Grld\"1CW feltölti

tnékekkc! az lIdJlfomis--\'ezeri6 póll"llmáeml. ~ meghívja az ad:otfomi~ \'~~ Dld .. teC"""",,,nd póI,..,ncs;lI, It. póll"llnc5 ki:ldis:lr utin ~ GridV~' Úl"" 1uoI\'lIS-Sa k tilrll mcgre!eniu n lIlbiok;u az adaúorr.is-vel,(T!6b.'!$. A fclJ.:;oS>;n.1]ó rrundebbo5t C$lk ann~'11 W, hogy" Dekle som9..,.. k~l1ml\";I1IZ adott sor elnlnik
A (~"Tlli Onmúköd6 djoili.'i eg)'ollla$jn nem ~enI. elé" ~ abposabban ls meg\-'Iz.s.. IPln? Mic16u awnoon beleml.'liilntnk a részletekbe, k67jl';ílnk egy mOköd6k~pc!l. törll"Sl 1TII::g..'Ilged6 r:1Oi1WZCleI: I\ezdjlik =1. hog)·ll'trehozunk egy új ASP.r.:",' oldalt Delete& ,·)k. asp>< néven. Ammt:u kit:lWhatÓ. ~Z az oldal a Ilo ,ob tlbIJoon ta111J\;IIÓ \';IWncnn)i könY'·et feOOrolj;l, k egy-egy De\ete gombot helyez meI\éjük. Ua az okbJI

ll. megfelelő

mr.'glitog:l.ló fe\h;oszN?ó I<\rölru Delete gombra keD k.ut1l1t1ni:l
lU okbl ktrehozá"",
UI~n

SlIm:tne

egy

kön)~ ~

wbUból. csak a kön)"'Itö.z tlrtolO

tCf"\c.zO" nézetbcn hlÍuunk t.1I}' <;qllntaSource vezérIOt ~z 01<1:01,.." b illítsuk be úgy, 1K'IIl';o kki.'rdezes mmo.'n rekordol t:s oszlopo! H<lSU' ~dtOl1 ~ 800ks t.:IbI~b6I , ~ v;t F.l7.s16 pedIg álli[.'<;I el6 at J NSEI!T, UPOATE (,s OIU.ET! ut;'~II:lsokh(),l. szük~gd ~rJncsolt;u IS. (A Use optinu5l;k coocurreney jelölool·gyzetl.1 ne k:.pcsoI!Uk be.)

n,mIó! n okIalhQZ. b ...btfambakém atJ,uk meg:lZ im&Il f~\'eu ~I):n~'iauftt \.",~ H:a az ad!úam:st hel)'Ol'Il ;ilhtoauk br. a Cnd\-"",,· <.>kas rimkL"';-bom ">eF1nuk az Enable DeIrUng /T~ engo:dfly«~) i~öI6negrzt':t. K..apc$)/juk be Cll ~ lehet~ A2 Enabk odeung ~ bebpo;aláso fm6itJ a tCTWlŐ n<:lCICI. & mqOeIerUk a Delcte Iu\·~tkousok meu'lje (Ibe! a 16.2. ibrát.l Gr~tuWunk - k:treho2tunk töri6t engeddlc7.6 r..a""7.ctL11PróWljllk ki az okblt ~ DebuS tnL'flO ~rt Without Dd>Ilggms I""'l11oc",\,,1 Ha a bön~ cg)" ~dott 50f Dek.1e h",ukozhjm k~tlintllnk. ~ rt:korool lürüllilk. és n hu.<;a! - dulnik.
tU ad.:Ilfonú bciIIítis> udn adrunk qy CndVIC"o

'*'"

~"
.~

...

•••

- -_. -- -- • e-.- •• 4

__ .........
__

"_0
_,~-_

..
• ... '

."

-'"""'.! • ••

• • • • • • •

• ••

--- .---_ .. - -. --.- ----•
_ ....... i ,,· Iii.

--"- _ - - - . ~-

• ....

.~

(..ridt·i<~,'

mAr II I6rl.!sIIS

1" >nC(I<I1}n

A Delete mező abpjU~potb:an .Dele«:· fdir<llu 1"\70tkoúsoll: O$ZIop:tként jelenik meg A rMZŐ azonban t~IÓO meg',-lltomthalfuk a tu\"tkazáoJ ~~. '''SY h;'""3I' kQZ:,ks heI)"e\l gombol: '''SY k~ ,.,Ieníthetünk meg. Ebhe2 keressok meg a Gnd\,"" ok05 dl\lk~;t:br" az Edll CoIumns hi\-alkw..:i.M, hogy megnpsliuk a Ftekb ptrl;>e;;~"<J­ abbkOll (lhd a 163_ Mril). 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 ~ fejlent6kOrnj'czeI ~u\()JJUtikusan:t \"ezérl6hö z ad .• mikor hekapcsoljuk az Enable 0ek1m8 jelölő­ ~"lc:tet a GfKl\1ew okas cimkl:jj!ben,

lb kt!döljlik

~

Ddete pólfancsmc.oz6l; ~ bal abó sarokban. mqgdennek ~nn;lk tulajdon·

s.lgai a jobb okblon. Az Appe;lrlll"la'.-ez el56 tulajdonsiga a Bu ttQDType I-tJOIlIbt,pu~), eZ h:lUrou:. meg a Delete mező n-.quc:Ic,1bt1 Jelcnkg az abpblelmezeu Link (hi\'3Ikoti$) &ta"", ill, elM a nK'z6ben hi\.."tko:thük I;ithat6k. A rubjdon$:lgot But tOl> (gomb) '708)" r..ge (kt'-p) &t~kre "o6cIa$ithat;uk

.-mo_
ll'

.~ -

..~::.

... "'
-

""
\J

. - -...-- .. _ __ ..........
"
'

,

,"

.

_,,,,

r......... "

r

16.3."
tU
~

[<W-J[ '._

!,WbIe Dr*I'''I;ri6I61J1i&yv:1 , 't'cdttrr:d lIII0' ~_11 poml/Ul SI <..mlrtltjel

lb a gombtipus Linll: , .. ~- Nt ton. a tu",tkoz:ols \otg)" gOrOO ft:!ir,u:ÍI a n.l.teText

tu""jdons;1.gb;rn módosithatJ\lk lla kepet haszn1lunk ..l r.o.let:er..>geUrl tub~gban adll:lljuk meg ann.:lk a képnek a:t l 'Rt-jét. "mely..... ,nt'g ~rcménk jelenilCfU
A 16.4 1bcln Iltll:lt)uk. hogyom f~ a ráa;ntZd a VISual Web I)eo.-doper Ift."e1.<'l ntwd>en, miutin a Dclete mt'Z6t (Igy 1lli1ottuk!xo. hogy gomhobt ,,*"i~'CI'l ~ a .[klde Book" ( KOn)'v Wf1~) .uo.'~.

", __ , .......

......

. u.·_· __ .... .-.._-----. "'..
,~

.

i

* ••
...... tI

'. . '-311>1 . . .·' ... _ . . . . ...

16.4.Mn
A nia "'I..... sombAon "10" ~

......

l!~~~~:~~:~:*~~.~ ~:.~.~~::

__ ;u_:__:__-"

I

_ , . _ ....

.1

800It JitI"..",
~

/(lIA/u "It

A Oek!t, mIIllI m&gjeleMse _ háttéfslint. betúdpuu, ~tAsil stb. - I FitIds ~lIbIak SIyIe r'Sléban található tlMjdonúgok.kal tovább fioomlthat6. A GridV_ VeZ6!I6 lll8l6Qk testrewb"6róI. 15. ~1Mn beSáItíri. részle. Lhen.

A töriés beIS6 mlIkiidése
Dc m' is lÖltfnik >':l16jM>an, amikor a fe-lhasmi16 a Delet.. gombrJ kattint? A felhaszrcll6 anny'l !:il, hogy az old:!l felvillan, ~ a rekord. amelynek tör16 gombj:i"" kmintou. eltúnik Dc Illi z:.jhk a ~nf:d"k mögött?

Amikor a felhasr.ná16 a Delete goIl,\)rJ bninl. ~i=acsaloláSl"J kerül ~_ Ekkor a GridVIeW'~ észJell. hogy az egyik sor Delete goml>j:irJ kauimouak. és ,-ila!;7.keppen ki1ri.ltj:l a RowDelf'ting e;eményt. A GridV.ew ez UI~n fogja a sort egyedileg aZOI'IOSíl6 '!'n'!'k~ (3 BookID '!'nHéÜ. a~ ad:!úorris-vezér\6 <Deh.teParameterB> eleml:nek 'BookIO par:lJnketéhez rendeli azt. maid megh''1'l a OeleteCOIIIDIlfId parancsot. Az ad:!tforris-vezk16 eZl követ6en kiadja a D!':LETE ulasic:\st az OlduNzisnak. behd}"~·tt..... sitve a iBookID paraméter fn.':;kk. A GrXl\"oew. miuún az aooúllIl"'1s-vczéTh:'ín h'1l.~ZI(l1 t6r6he a rekordot, ki~ltj:l a RowDeleted cscml'fl)-t.

Ha progrill!lOOkban m6d0sÍliIIIÍ Sl8relllénk a törlési folyilmiltot. 9Saménykezelőt Ilolhau.,k létra a RO"'Oelet in\j ás ROWDeI eted eseményekhez. A RowOel et ing esernínykerel6jét példái! am hasmátlatjuk, hogy a programból YisSlilVOOjuk a tO!lést Ha IlleIhaslnliló például egy otyan könyvet WIreIne tiiriilni, Im&lyoek a Wll'lIlje Scott Mitchell, ~ megak&détyOlhetluk a törlés\. Al. ÓfII rigén ~lható gyakorlatok lehetőséget adnak arra, hogy gyakowhok a törlés progranmott visslavombát.
Tegyük fel például, hogy 3 felhaS2nál6 betölti a DeleteBook.d!lpX olOOI!. &s a The Nr""be,-címü könyv [)etete- gombjára kattint. 12 visszacs:l!oUst indít el, 6; a GriúVk'w \lezM6 bzl(.~i, hogya ham13dik sor Dek1e gomhJ!ira kanintOlt~k. A vez~rl<'l ez utin meg~lJ;lpilja, hogy a harmadik sor awnos1tója (BookIP) .3. ez1 aZ ~rtékel hoz~rendeli a how kapcsoll ad;uforr'<s·v.,zérl6 91loo~ID par:nnéteréhez, ma;cl megh1vja" DIIleteCOIIIMnd parancsot. Az aootforr.b.. vezérl6 be-hclyettesíti 'Ikez6 a 3 M,!,ket a iBookto JYdraméler helyére 3 DEL"E u!asítii.b:m, &S:l kö .... Ulasíl:i5t küldi el n adatbázisnak,
WHERE

DELET!: I'ROH [8001<&I lBookIOt 3

Ez lermészetesen a The Numbercímü könyvet lOrIi az ad:ubazisb6l.

A fenli u1asitás "~grehajtisa uc:\n a Gri<lView úira kioh....ssa aZ arutokat al adatfomi .. velérl~b6L MivellIlOSl rn:ir csak nt,g)' könyv >':ln, 3 dcsn~letben csak négy sor jelenik meg, igy" felhasw~16 csak n<'gy kooy\"e!.lát a 8001< .. úbljban.
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,)

tM!yeges, hogy GndV_ OIttaKeyN......· ~ tartan.m. I hittilrllln lrI6 .datbBzistMIII Ms6tys bb ~ Ha I ~Idg Wtékll ~ I o.te gombIe UttflM ..... llIIC. .\I:II6$ra $of keN, dl. rekord nem lOri05dik. Ha. o.ü ~ uttJnllri. " II OICIaI VihOZatIM mnd. gy6z6djilrt meg r6II. hogy I DIIt .. l<.eyN..... IlAIJdons'goI beMitottt.t.

Szer1<oszthet6 nlcsnézot létnohoms.
II 10t\l$ mcllett:l. Grid\~rw ~e~ atr:l is k<'pe$. hogy ~z ad:I1Ok::i1 szerkeszlhetőo,'c teg)'e ~ felhoasmil6knak. Ib ~ GridV;e....'-ban bdcop<XllJUk:l. ,szerlu::5'nb timog;oú:!.;il, nunden JO'ba ~ Edd (Szerl<e5ZIes) fdullfÚ gomb kerül, lia a r~16 az Edit gornhra k.oltint, :ll. adon,.". su,IIes:uIu'wuj\-;lhJc. .mti azt;elmli, hogy :l.l:Ipfndmezés $Hrinl a $Zft\(e5ZI' hel6 meuSí ~vegme~k ... \'oiluwu.k,:ll. Edil hel>'lTC pro.g kél új gomb - {'pdate ( F'lÍ>.Sitbl és Can<:el (..\I~) - kertll 1\ fclhasmáló e7.Utln úl énékekd IrtJat a rekord ~egmez6ibe, és az Update gomhra kanintVlI mentheti a rn6dosítlsolc~t, ""gy a ('''''nI.<.'I gombol: \'lilasztva ~ \'alto=d!<>k !l1<.'1It<:se !létkai \'~t&l1(1 a r.ks szerII~és d6tti ~Ibpoúhoz. 1\ 16,6. ihdn I.llh:njuk, hogyan fest egy ~lCI6 Grid\'icw a ~ sz&en, :undyben a felhaszrúl6 a m:i5odlk sor Edit lIoml.t:I kattintoa.
1\ szerio:esnheu1 ticsnéuu:k ..... reboz1sj,n:l.k lépbei igen h:Isonlóak a töribl ÚlnOg;Itó
~zelek

lareoozásohuk 1épe.c1he~

vezérl6t az IISP,'\"1:.T oldalllOZ, és ;1illif-SUk be úgy. hogy lareho= al IN~EII'r, UPOATI;; és DE:LETE 1XIr:1r1C5Ok3t is, 2. AdjlInk egy GridVie-w vezM&;:lZ oldalhoz, & kÖ$60k houJ az l l~len l.

Adjunk~' Sqll)a~rce

fd,'eu ~datfOl'T"h-vezérl6! 3. A Gtidyie-w okOli dmk~1ében k3p<Xl1juk be:l.1. I'n:l.hle Ediung (Szerl<ewé
engedél)"f!'~) fekllőnqo'zeld

Mh .sz.a\-ak.kal, az ~-eden kOlOOl .....q; n. hojn':ll. Eru.hle l)eleting hd)-en az ENble Edltmg ,elöl6ntg}'zctet kell bekOlf'C"iOlnunk Ub oI)"n '<Zerit:<:>nhet6 tiClllÍ"zetet szerel· ~ 1~ll.'hozni, :l.mely ~ törtbt l~ Wmog;ltp, mmdktt ,eltll6rqyretet bekapaolhatruk,)
1l:ir a SW'k=,;s bmog;olt:i!.;il1;lk bek:l~..a I!1eWchet'-""'n egyszcrtl, a GridVicw ~la~l1e1meZetI szerl<ent6 fel(1lC1éf! v:W6szjmlleg fUlOmit.;ll'li szeremenL <;ze-rt'nC$t"re ez is visZonrlag köno)"Ü, b:l. Grid\'on.· nW WlIIPJt;IÚ .... IOOz haoonló:l.n m'ldszennl a~kűl valósítható meg, hog)' ellyeden sorTl}i k6dut ~. frnullk keUene

\bd6u "wnlxon bdrmmIlnenk " Grid\ 'k>\' .w:rkeszt6 fdíllo:«:nek t~bb;ob3. cl&zór g)'~koroIjuk" ~eszthet6 ~z..Idc ~~l Kezdjílk :uzaI. hogy l~",hozunk egy uj okblt Edit.!k>ok..... px n,~·.. en. és '~JlJUk" lein. l11rom 1~, >.tJWn bebpc$Oltuk:oz ENbIc EdJuns jdOI60tg)"zeu.'1" GridVocw ~.l&l6 oko.;; chnkéjébeJJ. "Visual Web Drvrioper ten'ez(! ntzet&en meg ken ;l:Iennie u Edit me~k (u.,d" 16.5 . .ilrlt)

rent

••
• ,
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

y

-,_ - .... .-- - -- _.- ~
~

... ,. J_,,_.... •
I'<

M

--~

• •

11.6. "
AfoJluuntdJ6 fl _' ......'1wI6 r6CS>OIUf _ _/tt.oorn, DII'nIM ..,.,' ............1

NIOrr/ • törIHMI, iJ9V II Idatok ~ IS 6Mnyes, hogy I

GndY_

A uerkeuf6 fe/ij« 11ISfraS.l.tMs.!i és I hwkhl UabMYO« cm:i mm.n l6tnI fOg,U:, hogpn~mIIIl~t6~ mW6DIt ~ t .'1 il, hoqv mik6m lIIIiatlDt hnn6jIt ro5n6 ~ ~ biztosltha~ hogy I meZ6bI !TlIldInUPPIn keriiji!I'! VIIemiVen ~ iIftW II Mék rnegleIaIjen • megklvMt ~.

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.

h..,,, III

.1.

A GridV_ verif16 fdi. mel6jánek kin6zete ugyM!ÍOV .estreuabll&tó, mwrt. Oelete mem, vlI\IYIS II Edit hivatkozást gornbb6 v'll'f k'w' v6ltoztllthaljuk. vallIlOOt fll6do.. SithatIl* • hivatkozá vagy gomb 11IIm6t.. Ao... nWU6VeI rnegegYV6In IZ Edit ~ be4IitiAd IS • f .... ~.. w ... bIn ICI\MJI* meg. ..-...y.t I GnN_ olas cín*6j6bIn U!IMJhItÓ Edit COUnnS ~ kItII"1MI ~ el.

A szer1<0szt6 felület tBstreszabása és •

friss~ési

SZabáIYOI<

1'T6b:lljuk rnoost ki a uerke5Z1.het6 GridVIe\\ vezM6nkctll'róWlj\lnk különféle Mtkeket íml u egyes mez6kbe. ilLetve h:lgyjunk üresen ~ nwl:Óket, hogy 115.;uk, ml történik. \"~lbizInaJeg hamar djOl'ünk, hogy elég könn~ kivetellel tllílh:l1JUk IRIgunkat szembe, amikor memm prób1Ijuk.;ll ~eSZlhel:6 ~ '-qpeh3j1on llIóclositi....,.. ~ h:l üresen h:lgyunk egy kölde1.ően döhe0d6 rnC:Zt.1I Camll}= p&UuJ a -rIt l" \':Igy az ""ther), ''liS}' ha hel)1den formitumú értt'kec írunk be (p&Uul a .hose;zU" SP a PageCount mallbeJ. A 16.7. ilbr~n láth:l.ljuk wuokJah lll: InIemel ~. ~mely .. kkor ;et...'fIik nlC8. ha a l'lsum StudiO l/rocc clm(J könyv r..stRelldOn ~~ °V"n'lrdayo_re p~lj\lk 11!otanL
A k;v~eI feU~k 00 u_ 00gY a Grid\""", vakun ~tadja a végfelhaszn.il6tól kapolt &lad az adatI"orrh-\"ezérl6nek. éli allllkor:lZ megk~i ~jt:oni az UPDATE uta.si1l5l lll: w,bb.sh"" a helyleIen \lag)' hiiIn}"ZÓ tné-kekkd.:IZ adatbcb.1$ k... ~eb ";;ill kl- ell UlhatJUk ~ 16.7. j!rin

l~

........
o ... · j

___ "

- _..
..
~

.. " .•

_""._,~

•.• , _ _

"",,._~.

__

.....

~.i1:;./-

Servar Error Ir 'jChaptllr 1f' AppIi<:.lrtOl,.L

-

---0

""''''II
~

__-_._...- .. . ------____. _---_.._-----_._---"... . -"---'-' _.--_.,_ .. ..
nr. OIrIrtjj .... not _~rnd M IlKI." o.
v~td

...

DoMToM

n..n;o ~ ~n~"" ..n _

_~._-

_ _ _ _ _ _ .... _' .. ,.. 0_'_ 0' , .. ___ ._....... __ ..... -.0--" .-" ... _,.. ...
_ OM _ ._.

16.7. "

,

,_~

fo,.",,,,,,m,' érr~"'"
<J

1/,.

IrclJWlen

prób<Jlunlo b"."wl 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).

A szerl<eszr.hető mezők fel(llet;;nek lesr:resab:iSOl meUetl arr.a is s.:ükségiink lehet, hogy fclellÜk. ha egy .. =:6nem szerkeszthet6. 1\ 16.6. ~bcln pé1dlullllh~ljuk. hogy szericeszlo!skor a BooklD mezŐ énéke nem m6d0sílh:llú szöveg rTl:U3d. A Cri<MeY.' vezér16az els6dk-ges kulai oszIopc:>kllt aUlom:uikusrn csall oI,!U$Iu;/roni teszi, miv,,", ezek azono:silj:ik egyedileg a szericesll6 alau álló Mlrt. Mis meWk csak oI\"ashatÓ\--:l. létele il; egj-·5zenl. péld:lull\3 azt s.:e/ctm:nk. hogy a felha)"Znál6k ne v:lkozl:uhaSl;ák meg a kön)'\'ek címé!. 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. II következŐ részekben a szerkesztő felület t=et;zab!lsának feni emlilet! vonatkoúsai\'al, i!1el\le az adal~Z,s frissítés; szabál}'ainak meghatátoúsá,.. l foglalkozunk

I'"
olyan mez6io:', ~meJy ~ Iduérben 1=6 atbtbizisclbb dI;6dIeges!wb CNIopifl:l.k fdel oq. C$lk OI\~. Amikor,. f~16 egy sor Edn gornbj;tra csak oM5Ilal6 mezók lO\'lbbr.l i> nem s=il:esztItet6 5ZIÖ'o'egkénl jelennek nq. (Pekbk6v. nb.zük nq,. Be ~IllD """lŐ{ II 16.6. ~brin.) Abpállapotbcln a GridYiew
~'1l

""ttJnI..,.

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 niliItdonsáp. él Tr, "..r:a :illitjuk (11<!d a 16.8. oIbcl.t).

'.....

-...-a;:
ill

"Nr'I'.

,-

..... ,

'.oL l

[--

...

-

,

-.- --• - -"'--"'-_#" -(

".

..

-..."

16.1.1itn
If.. Il Rcado..I)' lultJ"""""ifloI Tn .... ,... Milj"•. a lPHI%d" ,,,,,,, lesz ~11tt'fŐ
!lOt'

Enn)i az egbz. "'n\lkor egy mez6t C5;1k oo.-ashatókénl ",Iölunk meg, a karuruVöl :o me~ ntm szerkesztlk'l6 ~~ je'IenilC rtlqI

&lii ~rn

AJ.. eI6Z6 6r.I.oon ~IIUk, 00gY:m forrtúUl3t]uk a GndYIC90 ,'eZ.éM melOil. ~ld;íul a price pénUTtéldtm, a lasIRo:adOn mez61 pedig diorumként, id6pont nNkill A GOO\ie'l': mez6ire alblmazou ~ abpértelrnezCs ~ , _ &\'.;nyesülnck az alapétclmeZÓl

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\'~
1. )l;yiS5Uk nIC8 a Fields plrbe<redabbk<x a Gnd\lew okOl! ci11lk~n k"\'6 Edit CoIumns hi\';ukozoisr:.l kJruntn 2. A 1flC'l6k b:lI 3lsó 5:oro!Cb;;m uUlh.ló 1i!iI..:1j:1b:ulIu.U)n~nk ~ megfelelo5 mezőre

mczect szerkCSl:l~

fdiJ~

J. Mmdk<'t

eset<'ben állílSUk a Ht:alf:ncoo., tulajdonsJ.got F~1tI"-r:l, ~ D<ltafoVTllltS trin61 tubjdon5:ig pedig a Price öelében legyen IO:el, a LastReadQn esct8x>n pedig (O:d).

mező

~jllil1isok megadisa ul:1n a Visual W~i> JX-,.·clopcr lervező Iltzet{~n megfeformholI 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.

A [.,nú
lelően

I ta aa szeretnl:nk, hogy a formázou l:rttkek szcrkesztéikor ls mcgtarts4k a form.iz:isl. a mező AwlyForrn.otInEditHodewlajdonsigil kell beállitanunk, amelyet szimtn a F"oeIds ~~akt-"'n l:rhetilnk el A lul~jdonsig ala~dmel'1t értéke al'a lse, de ha True-rn :illtljuk. a Ul-rk"''"Sl:lt."1.1 sorol< is megl:.lnjik ~ fonnllzá.s(. Mi"cI a \..astReadOn me;:6ben CSólk a dilUlnol 5Zerelnénk I~lnl. az id6ponlOl. nem. ennek a mez6nek ~ az ApplyfonutJnEdi tMocSe lulaJdoru;ág:ll "l'rue-m állíl:munk.
1,~,_

........ .!l.iiO,....... O--O

. .. --" , --"" -- .- .. ,,- - •• -- ....... ..... -- -- - -- -- . -- • _.-•

.. _ •• _" .• ·~".

--

_- •

.

-

~.

~ ~

1_ .....

o-y_ ....

~"

m

I" ..

~

no.,..." .......
~~

k

••• ,,, .,
.~

,"'

,,,

"

'"

~


16.9. 6bnt

.,~.-

Mielöll

ApplyFormat.lnEditMod" lul~jdonsig31 LS ..... ~kon "!'ru .... ,.. áUí~nk. l:bredjűnk r:i, hogy ez gondot. okoU1at, men a pénll:rt&ktnt \-:116 formá~ nem megengedeu karnkterek be'..el.etésb-el pr. A pr i ce mező egy lIOOf\ey típusú ~
~zonban mező

a Pric ..

hoz kotpa;olódik azadatbázistiblában. amely egy száml:rt(:ket vlir. Ib a ptnz6ttkktnt "a16 fomú~skor a fornoázó kifejez6bc 3 ptnznem jelé-! (ptIillul a doIl:ifJClet) is ~Jcfog­ IaJjuk, éi a fdlJ:lSZflil6szerkeszt6kor nem ~\"oIílp el e21 a ~leI a Price mez6b6il. a ~ith menl&kor az ASP.NET oldal kivftelt v:IJt ki. (A r.".stReadOn mező form;izjs:\,,,,11l1fiC5 gond, mert az adatMZls olyan dilum&tl:kekel is kl-pes kezelni. ~mely ..knek n időpont része hiin)I7Jk.)

16, ÓI1I • Adatok t&Iáe, betz(rig" 1Z8fOP! ' I i 1391

Null értékek és Iires karakter1áncok hasznMata
A r!Ícsn~ cg)~ mez6i alt ad:Itb:íZi$:ibl~ oIJ"ó1n ~~!opa," ru..:.puJll:Ik, ~me!yek megengedik 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 kamklerl~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,

Az automatikus szövegrnez6k cseréje egyéni SZ8It.eszt6 felületre
Amikor .