Vietnamese] Giao Trinh ASP.netvoi CSharp

download Vietnamese] Giao Trinh ASP.netvoi CSharp

If you can't read please download the document

Transcript of Vietnamese] Giao Trinh ASP.netvoi CSharp

Chuong 1. Gi i thi u chung v c u trc ASP.NET Framwork v co b n v C#I. Gi i thi ASPNetFramwork u chung v

Trong gio trnh ny chng ta s h c ASP.NET trn IDE VisualStdio2005(B n c th s d ng Viusal Web Develop 2005 ). t o m t Wesite m i b n kh i d ng VS. giao di n c a n s hi n ra nhu sau:

Hnh 1 Trong Box Recent Project b n ch n Web site Create dng

H p tho i New Website hi n ra b n ch n ASP.NET WebSite r i ch n thu m c Website b n ngn ng k ch b n d b n vi t Web v nh n v d OK

http://www.ebook.edu.vn

1

Hnh 2 VS s t o ra m t website v i tn c a Website l tn b n v a d t v m c d nh s c m t trang Default.aspx nhu hnh sau:

Hnh 3

1. ASP.NET FRAMEWORK

v

.NET

http://www.ebook.edu.vn

2

ASP.NET l m t ph n c a .NET FrameWork xy d ng trang asp.NET b n c n vo cc thmtnh c a .netframework. NetFrameWork ch a d ng hai ph n FrameWork d c Class Library v Commom Language Runtime. 1.1 Hi u v Framework Class Library Framework ch a d ng hng nghn l p m b n c th s d ng trong ng d ng c mnh. V a d m t vi l p c a .Net Framework -L p File: cho php b n t o file, s a, xo hay ki m tra s t n t i c a file trn dia c ng -L p Graphics: Cho php b n lm vi c v i nhi u ki u c a nh, b n cung c th cc nh t occ phuo ng th c trn l p t ra ny. -L p SmtpClient: Cho php b n g i thu. Hi u v Namespaces: hon 13 nghn l p trong Netframework. y l m t con s r t n, Microsoftl d chia cc l p cng x l v m t v n d g d vo cc khng gian tn chung hay namespaces. M t Namespace do n gi n l m t danh m c, v d t t c cc l p thao tc v i File v thu m c chng ta dua vo m t namespaces chung g i l System.IO, hay t t c cc l p lm vi c i SqlServer c th v dua vo namespace System.Data.SqlClient. Cc namespaces chung nh t trong net: . System . System.Collections . System.Collections.Specialize d . System.Configuration . System.Text . System.Text.RegularExpressions . System.Web . System.Web.Caching . System.Web.SessionState . System.Web.Security . System.Web.Profile . System.Web.UI . System.Web.UI.WebControl s . System.Web.UI.WebControls.WebPart s

http://www.ebook.edu.vn

3

1.2 Hi Assembly:

u

v

M t Assembly l m t file dll trn dia c ng c a b n, noi m luu tr cc l p c a .NET, v l p trong .ASP.NET Framework d u n m trong Assembly d t t c cc System.web.dll. Tru c khi s d ng cc l p trong dll b n c n t o m t tham chi u d n file dll ny 1.3 Hi u v Runtime(CLR) b n. Commom Language

Ph n th 2 c a NetFramework l CLR ch u trch nhi m v th c thi m ng d ng c a

Khi b n vi t ng d ng b ng ngn ng C#, VB.NET hay b ng m t ngn ng b t k trn n n NetFramwork m c a b n s du c khng bao gi bin d ch tr c ti p thnh m my. Thayd chng du c bin d ng sang ngn ng d c t MSIL (Microsoft intermediate vo Language). MSIL nhn r t gi ng v i ngn ng hu ng d i tu ng Assembly, nhung khng gi ki u ngn ngngAssembly. MSIL l ngn ng b c th p v ph thu c vo Platform. Khi ng d ng c a b n th c thi, m MSIL l just in time bin d ch sang m my b i JITTER(just in time compiler) Nhu v y khi b n vi t cc l p trn .Net b ng b t k ngn ng no khi b n bin d b sang Assemblych n d u c th s d ng Assembly d cho cc ngn ng khc. 1.4 Hi u v cc di u khi n trn Asp.net Cc di u khi n asp.net l ph n quan tr ng nh t trong ASP.NET Framework. m t Control ASP.NET l m t l p m th c thi trn server v dua ra n i dung trn trnh duy t. ASP.NET c m b n c th s d ng trong xy d ng ng d ng web c a b n v co b hon 70 control n n ra cc nhm control chia sau: Standard control nhu: Label, TextBox Button, : bao g m cc di u khi n dua ra cc thnh ph n chu n c a form : l cc control cho php b n ki m tra tnh h p l c a cc control u khi n nhu FileUpload,

Validator Control cho php nh p gi tr form. Rich Control Data Control trong website. Navigation Control

trn

: l nh ng di Calendar

l cc di u khi n cho php thao tc v i d li u : l nh ng di u khi n gip b n d dng di chuy n gi a cc trang

Login : L cc di u khi n v b o m t c a ng d ng cho php b n dua ra control form dang nh p, thay d i m cckh t u HTML Control th lm vi c trn server. : cho php b n chuy n cc di u khi n c a HTML thnh cc di u khi n c

1.5 hi u v d i u khi n s ki n trn server

http://www.ebook.edu.vn

4

ph n l n cc di u khi n c a asp.net h tr 1 ho c nhi u s ki n, v d di u khi n ASP.NET Button h tr s ki n Click, khi ngu i s d ng nh n chu t vo Button m t s ki n c dua ra v cng vi c ny du c x l trn s du server.

V d : Trang UnderstandEvent.aspx voi d Button1_Click ( objec t sender, EventArg s e) ="true " Inherit ="UnderstandEvent s " %>

< html < head

xmlns ="http://www.w3.org/1999/xhtml " runa t < titl e ="server" > > Hi u v s server ki n pha

>

< bod y > < form < div > < asp : TextBo x < asp : Butto n runa t < hr /> ID ="Label1 " runa t ="server " Text ="Label">< / asp : Label > ID ="TextBox1 " ID ="Button1 " ="server " runa t OnClic k ="server">< / ="Button1_Click " /> asp : TextBo x > id ="form1" runa t ="server" >

Text ="Button "

< asp : Label

http://www.ebook.edu.vn

5

Trong v d trn g m 3 di u khi n c a ASP.NET l TextBox, Label, v Button, m ngu i s idkhi nh p d li u vo Textbox v nh n vo Button s ki n Button1_Click du ng c dua di n d li u t TextBox v ra v Label.

1.6 Hi u v View StateGiao th c http l giao th c n n mng c a WWW, l m t giao th c chu n th c l n b tn .m i request m t trang t website, m t d li u m i du c dua ra, ASP.NET Frameworkdu c vu t ra ngoi gi i h n c a giao th c http, v d b n di n d li u th qu n l c vou khi n Label v i thu c tnh Text c a n, d li u ny s du c luu tr qua nhi u di m t trang web d i khi n du c gn l i gi v ch thay tr . V d sau s dua m t m t trang asp.net trong d g m 2 di u khi n Button v Label(Text c a n hi n th s d m), m i l n nh n vo Button th gi tr c a Label tang ln 1. V d Understandstate.aspx: trang ="true " Inherit ="Understandstate s "

< scrip t runa t protecte d { Label1.Text = } xmlns ="http://www.w3.org/1999/xhtml " runa t < titl e < bod y > < form < div > < asp : Label ID ="Label1 " runa t id ="form1" runa t ="server" > ="server" > > Under State Stand Conver t . ToString( ="server" > voi d Button1_Click (

XHTML

1.0

objec t

sender,

EventArg s

e)

in t

.Parse(Label1.Text) 1);

+

>

="server "

Text ="0">< /

asp : Label

>

http://www.ebook.edu.vn

6

< asp : Butto n /> Text ="Button "

ID ="Button1 "

OnClic k

="Button1_Click "

runa t

="server "

N u b n m View Source code c a trang Understandstate.aspx trn b n s th y nhu

sau:

input < type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKK7LjKBwKM54rGBgzCWqbCIzq33uVXHF19FzfdGPsJ " /> y l 2 file hidden trong form n ch a gi tr Text c a Label khi trang du c postb ack n s ghi nh text d v s kh i t o l i gi tr c a Label khi trang Load.

1.7 Hi u v trang asp.netS d ng CodeBehind Thay v s d ng ngay trn trang asp.net. ngu ta dua ra thm im t trang g i l Code-behind ch a cc m l nh th c hi n trn trang asp.net. V d nhu ph n d u c a chuo ng khi ta t o ra m t website th m c d nh s t o ra m t l p Default.aspx v n s km theo m t trang Default.aspx.cs

Trang Default.aspx AutoEventWireu p ="true " CodeFile ="Default.aspx.cs "

< html < head xmlns ="http://www.w3.org/1999/xhtml " runa t < titl e < bod y > < form < div > id ="form1" runa t ="server" > ="server" > > Defaul t

XHTML

1.0

>

http://www.ebook.edu.vn

7

Trang Defautl.aspx.csusin g usin g usin g usin g usin g usin g usin g usin g usin g usin g System; System.Data ; System.Configuration ; System.Collections ; System.Web ; System.Web.Security ; System.Web.UI ; System.Web.UI.WebControl s; System.Web.UI.WebControls.WebPar ts; System.Web.UI.HtmlControl s;

publi c {

partia l

class

_Default

: System.Web.UI.

Page

protecte d { } }

voi d

Page_Load(

objec t

sender,

EventArg s

e)

1.8 i u khi n s ki n c a trang asp.netKhi ch y trang asp.net th vng d i c a trang asp.net g m cc s ki n 1.PreIni t 2. Init

http://www.ebook.edu.vn

8

3. InitComplete 4. PreLoad 5. Load 6. LoadComplete 7. PreRender 8. PreRenderComplete 9. SaveStateComplete 10. Unload S d ng thu Page.IsPostBack c tnh

V i s ki n Load c a trang th khi t i trang ln th c m t s ki n no d du c dua m n u c nghiara, i l n load l i trang n l i th c hi n cng vi c d, cn n u ta dua thm tnh Page.IsPostBack th ta c th di u khi n du c s ki n no du c th c hi thu c vo n v no khng khi trang d o c t i ki n s l i.

II Co b n v ASP.NET1. Ki u d u. li

l p trnh C# l p trnh trong trang

C# dua ra cc ki u d li u d ng s n r t ti n ch, ph h p v i m t ngn ng l p trnh hi n d i. B ng sau dy s miu t m t s ki u d li u chnh trong C# Ki C# byt e char boo l sbyt e shor t ushor t in t uin t float u Ki .Net Byt e Char Boolea n Sbyt e Int16 Int16 Int3 2 Int3 2 Singl e u S Byte 1 2 1 1 2 2 4 4 4 M t s nguyn khng d u t 0 d n 255 Ki u k Unicode Gi true/false tr t

S nguyn c d u, t -128 d n 127 S nguyn c d u t -32768 d n 32767 S nguyn khng d u t 0 d n 65.535 S nguyn c d u 2.147.483.647 d n 2.147.483.647 S nguyn khng du 0 d n 4.294.967.295 ki u d u ch m d ng, gi tr x p x t 3,4E-38 d n

http://www.ebook.edu.vn

9

3,4E+38, v i 7 ch nghia. Doubl e Doubl e 8

s

c

Ki u d u ch m d ng c d chnh xc g p di, gi tr x p x t 1,7E-308 d n 1,7E+308, v i 15,16 ch s c nghia C d chnh xc d n 28 con s v gi tr th p phn, du c dng trong tnh ton ti chnh, ki u ny di h i ph i c h u t m ho c M km theo sau.

Decimal

Decimal

8

2. khai bo bi nC php: Ki u Tn_bi n; V d: string giatri_chuoi; int giatri_nguyen; ch bi n c th bao g m cc ch ci, ch s (khng du c d ng d u) v k t _ (n i) bi n trong C# phn bi t ch hoa v ch thu ng.

3. S d ng cc trnh bya. trnh by if if elseKhi b n c n ki m tra m t di u ki n no d tru c khi th c hi n cng vi c, ho c ki m u di u ki n ntra dng th lm vi c cn khc th khng lm b n c th dng trnh by if if else c php: if(d u_kin) { //th c hi n cng vi c } if(di u_kin) { // th c hi n cng vi c 1 } i

http://www.ebook.edu.vn

10

else { //th c hi n cng vi c 2 } Luu b n c th dng nhi u c p if else l ng nhau:

V d: Vd1 if (conn.State ! = conn.Open(); Vd2 if (1 > 2) MessageBox else MessageBox . Show( "2>1" ); . Show( "1>2" ); ConnectionStat e .Open)

b, S case

d ng trnh by switch

Khi cng vi c c nhi u l a ch n v tu vo t ng tru ng h p d b n dua ra cng u ki ph h p v i di vi c n dua vo b n c th dng trnh by switch case. V d: strin g switc h { case "a" : //thuc hien cong viec a break case "b " : ; giatri Request.QueryString[ (giatri) = "abc" ];

http://www.ebook.edu.vn

//thuc hien cong viec b

11

break default :

;

//thuc hien cong viec mac dinh break } ;

c, S d ng trnh by forV d

strin g

giatri ; for ( in t i = 0; i < 10; i+ +)

giatri i.ToString();

+= MessageBox . Show(giatri);

Khi lm vi c v i m ng hay trong tru ng h p th c hi n m t cng vi c trong kho ng no d chng ta c th dng trnh by for.

d, S while

d ng trnh by

th c hi n cng vi c trong khi di u ki n dng V d

in i = t 0; whil e { (i < 5)

Consol e i++;

. WriteLine(i.ToString()) ;

}

e, S d ng trnh by do whilengu c l i v i while do while lm vi c cho d n khi di u ki n dng th thot.

V d

in

i

=

t 0; http://www.ebook.edu.vn

12

do { MessageBox i++; } whil e (i < 3); . Show(i.ToString());

\

f, S d ng trnh by break (V d in t do { MessageBox i++; if (i == 1) break } whil e (i < 3); ; i = 0;

d thot kh i vng l p

)

. Show(i.ToString());

g, S d ng trnh by continue.V d in t j = 0; in t i = 0; i < 5; i+ +)

for ( { j++;

if ( j > 2 ) { MessageBox continu e ; . Show(j.ToString());

http://www.ebook.edu.vn

13

} }

h, S d ng trnh by return( h ) m V d publi c { retur n } a + b; in t sum( in t

du c s d ng trong cc hm d tr v gi tr c th cho

a,

in t

b)

k, S d ng trnh by goto.V d in t in t whil e { i++; j++; if (j == 2) got o } jumpeddoutofloo p: Consol e . WriteLine( "I out" jumped ); jumpeddoutofloop ; i = 0; j = 0; (i < 5)

4. Trang asp.netTrang asp.net c dui m r ng l .aspx v km theo m t l p ph c v d sau(Code ng behind). n

http://www.ebook.edu.vn

14

vi t code C# trong trang aspnet ta c th khai bo v s d ng tr c ti p trong asp.net, trang file code behind, ho c t m t thnh ph n thu vi n v ta g i trong vo.

4.1 Vi t code C# trong file .aspx:

v co b n b n dng cc cc th sau b n c th khai bo bi n ho c vi t cc hm, l p trong th ny, v i th ny b n dng d g i gi tr c a bi n hay c a 1 hm no d, l y gi tr dng trang cc d i tu ng rng bu c d li u.

Trang basic.aspx

y l m t v d do n gi n

AutoEventWireu p

="true "

CodeFile ="Basic.aspx.cs "

< html xmlns ="http://www.w3.org/1999/xhtml " runa t ="server" > >

XHTML

1.0

>

< head

< titl e

> Basic

< form

id ="form1"

runa t

="server" >

< div >

abc =

"Hello World!"

;

Bi n abc c a b n v a khai bo c gi tr

http://www.ebook.edu.vn

15

4.2

Vi t code trong trang code behind

V trang aspnet c a chng ta k th a t trang aspx.cs ln trong trang .aspx mu n g chng ta t bi n hay hm trong file .aspx.cs chng ta ph i khai bo v i b i d li u ng p protected ho c truy c public. V sau: d

Trang codebehind.aspx < bod y > < form < div > < h3 > Gn tr : < asp : Label />< br /> < h3 > L y gi tr behind gi ID ="lblhello " t code runa t id ="form1" runa t ="server" > ="server" > > Untitled Page

XHTML

1.0

>

="server "

Text

="Label">< /

asp : Label

>< br

http://www.ebook.edu.vn

16

l Trang codebehind.aspx.csusin g publi c { protecte d protecte d { _hello = lblhello.Text _hello; } } Trong v d trn c s d ng m t di u khi n asp.net l Label cc b n s du c h c chuo ng trong chuong ny b n hi u n l m t di u khi n d hi n th d sau, li u. B n th y trong ph n code behind c khai bo m t bi n _hello ki u string v truy c p b ng l protected trong s ki n Page_Load(khi trang du c t i ln) chng ta gn _hello = "Hello World"; v sau d gn gi tr cho Label b ng gi tr c a _hello. Cn trong trang .aspx s dng th d l y gi tr c a _hello d in ra mn chng ta c hnh. 4.3 t o m t l p thu vi n t o m t l p thu vi n ph c v cho trang asp.net b n c th t o m t thnh ph n thu vi n d ng DLL r i nh p tham chi u d n n d s d ng(chng ta s h c n trong ph n asp.net nng cao). Trong ng d ng web ASP.NET Framework c m t ASP.NET FOLDER l php chng ta vi t cc l p thu vi n dy v c th s d ng trong cc App_Code cho trang ng d ng w c a eb. d t o thu m c App_code b n lm theo cc bu c sau dy: bu c 1: nh n chu t ph i vo Solution v ch n theo du ng d n c a nh du i dy. = "Hello World" ; strin g voi d _hello ; Page_Load( objec t sender, EventArg s e) System; partia l class codebehin d : System.Web.UI. Page

http://www.ebook.edu.vn

17

Trong ng d ng web c a chng ta s thm vo m t thu m c App_code

t i dy chng ta c th vi t vo cc l p thu vi n. t o m t l p thu vi n trong thu m c ny chng ta nh n chu t ph i vo thu App_code rmi cch n Add New Item

http://www.ebook.edu.vn

18

Form Add New Item hi n ra

Add.

B n ch n Class v trong h p TextBox Nam b n nh p tn l p mun t o v nhn nt

a, nh nghi a l p:Khai bo: [Thu c tnh] [b sung truy c p] Class [Tn l p] : [L p co s ] { //cc bi n, phuo ng th c hay thu c tnh c a lp } V d : L HelloWorld.cs class { publi c { retur "Hello n http://www.ebook.edu.vn World" ; strin g SayMessage() p

HelloWorl d

19

} } Trong v d trn phuong th c SayMessage s v chu i Hello World.

b, S d ng d nh nghi a truy c p

Public: m t l p, m t phuo ng th c, hay thuc tnh khi s d ng t kho ny s h n ch khng b truy c p xu t. Protected: L p, Phuo ng th c, Thu c tnh ch du c s d ng l p ny ho c l p du cdn

Internal: M t l p, phuong th c, thu c tnh Internal ch du c truy c p trong m t ph n thnh Assembly(file DLL). d. Private: M t l p Private, phuong th c ho c thu c tnh ch c th truy c p t i chnh l p

c, Hm v th t cB n c th hi u don gi n hm ph i c gi tr tr v cn th t c nhu m t do n th c hi nm ch c chng ta g i. th t c cn du c g i l hm khng ki u, hm v khi du th t c C# g i chung l phuong th trong c. V d hm: publi c { retur n } Trn l m t hm dng d tnh t ng c a hai s , nhu b n th y tr v d li u cho chng tahm t kho return, b sung truy c p public c nghia hm du c s d ng dng trong ng d ng, t kho static dy l m t phuong th c tinh ln c th s d ng m ton khng c nbo kh i t o d i tu ph i khai ng V d v th t c publi c { System.Web . } S d ng l p HellWorld trong trang aspx c a chng ta HttpContex t . Current.Response.Write(_bien) ; stati c voi d HelloProcedure ( strin g _bien) _a + _b; stati c in t Sum( in t _a, in t _b)

Trang UseHelloworld.aspx

http://www.ebook.edu.vn

20

="true " XHTML

CodeFile

="UseHelloworld.aspx.cs "

< html < head xmlns ="http://www.w3.org/1999/xhtml " runa t < titl e < bod y > < form < div > < asp : Label ID ="lblHello " runa t id ="form1" runa t ="server" > ="server" > > S d ng L App_Code

1.0

>

p Hello World trong thu m c

="server "

Text

="Label">< /

asp : Label

>

Trang UseHelloworld.aspx.cs usin g publi c { protecte d { lblHello.Text = } } V phuo ng th c sayMessage trong l p HelloWorld l m t phuong th c tinh ln ta c n kh i khng d s d tolp ng. HelloWorl d .sayMessage(); voi d Page_Load( objec t sender, EventArg s e) System; partia l class UseHelloworl d : System.Web.UI. Page

5. Co b n v l p trong C#

5.1 Khai bo Field v thu c tnh

http://www.ebook.edu.vn

21

V d Field publi c {

v class HelloWorl d

publi c publi c { retur n } }

strin g strin g

_Message; SayMessage()

_Message;

Trong do n m trn b n th y Field _Message du c khai bo ki u string v b ng truy c p l public, v _Message du c tr v gi tr b i phuong th c SayMessage(). V d v thu c tnh publi c { publi c publi c { get { retur n _Message; } valu e ;} strin g strin g _Message; Message clas s HelloWorl d

set { _Message = } }

M t thu c tnh Message du c khai bo trn g m 2 phuong th c get tr v gi tr Messagecho phuo ng th c set thi t l p gi tr cho Message. Thu c tnh Message v trn l th c v a d c v a ghi. n u b n xy d ng thu c tnh ch d c th b n ch phuo ng cung c p th c get hay thu c tnh ch ghi b n cung c p cho thu c tnh d phuo ng th phuo ng c set.

5.2 Phuong th c kh i d ng c a l p

Phuo ng th c kh i d ng l phuo ng th c d c bi t c a l p, n du c g i t d ng t o m i lkhi kh i n s d ng phuong th c kh i d ng d kh i t o cc private fields ch a p d.b d ng l p. Phuo ng th c kh i d ng c a l p ph i trng v i tn c a l p, 1 phuo ng th c trong c a thp c d i s ho c khng c d i s , v c th c nhi u phuo ng th c kh i d ng c l cho l p cc d i s trong cc phuo ng th c ph i khc nhung nhau. V d:

http://www.ebook.edu.vn

22

Xy d ng Construction.cs usin g publi c { in t in t _giatri1; _giatri2; publi c { _giatri1 0; _giatri2 0; } publi c { thi s thi s } publi c { retur n } } in t = = System; class

l

p:

Constructio n

Construction( )

Construction (

in t

_giatri1,

in t

_giatri2)

._giatri1 _giatri1; ._giatri2 _giatri2;

= =

Sum()

_giatri1 _giatri2;

+

Trong l p ny chng ta xy d ng hai phuo ng th c kh i d ng m t phuo ng th c c d i s khng t phuong th c c d i s , v m t hm tnh t ng c a 2 gi tr n du c s v m d ng trang asp.net nhu trang sau: Trang UseConstruction.aspx

>

http://www.ebook.edu.vn

23

< head

runa t < titl e

="server" > > S d ng phuong th c kh i d ng c a l p

< bod y > < form < div > < asp : Label ID ="lblhello " runa t ="server " Text ="Label">< / asp : Label > id ="form1" runa t ="server" >

Trang UseConstruction.aspx.cs usin g publi c { protecte d { Constructio n lblhello.Text = } } construc = "Gi tr l: " new Constructio n (5, 6); voi d Page_Load( objec t sender, EventArg s e) System; partia l class UseConstructio n : System.Web.UI. Page

+ construc.Sum().ToString();

5.3 Overloading phuong th cKhi m t phuong th c du c overloaded c nghia l hai phuong th c c tn trng nhau nhung cc d i s c a n ph i khc nhau. Khi trong l p c a b n c cc phuo ng th c overload i hm VS s xu t hi n nhu sau d b n c th d dng ch n du c phuong th c th b n g mnh g c n i.

http://www.ebook.edu.vn

24

V d: B ntom tl p L p UseOverload.cs usin g publi c { publi c { retur n } publi c { retur n } publi c { retur n } } Trong l p ny g m 3 hm tnh t ng l n lu t du c dua vo 2,3,4 d is S d ng l p ny trong trang ASP.NET Trang Overloading.aspx p ="true " CodeFile ="Overloading.aspx.cs " a + b + c + d; stati c in t Sum( in t a, in t b, in t c, in t d) a + b + c; stati c in t Sum( in t a, in t b, in t c) a + b; stati c in t Sum( in t a, in t b) System; class UseOverloa d

XHTML

1.0

http://www.ebook.edu.vn

25

< html < head

xmlns ="http://www.w3.org/1999/xhtml " runa t < titl e ="server" > > Untitled Page

>

< bod y > < form < div > < h1 > Ch ng ho phuo ng th c tnh t ng T ng 2 s: Text ="Label">< / T ng 3 s: Text ="Label">< / T ng 4 s: Text ="Label">< / < br < br < br /> runa t runa t runa t ="server " ="server " ="server " id ="form1" runa t ="server" >

/>

/>

Trang Overloading.aspx.cs usin g System;

publi c {

partia l

class

Overloadin g

: System.Web.UI.

Page

protecte d { lbl2so.Text = lbl3so.Text = lbl4so.Text = }

voi d

Page_Load(

objec t

sender,

EventArg s

e)

UseOverloa d UseOverloa d UseOverloa d

.Sum(5, 5).ToString(); .Sum(5, 5, 5).ToString(); .Sum(5, 5, 5, 5).ToString();

http://www.ebook.edu.vn

26

} Trong l p ny b n g i l n lu t cc phuong th c tnh t ng v i 2,3,4 d i s d truy n gi tr vo cc Label tuo ng ng cng tn. K t xu t c a chuong trnh:

5.4 Khai bo (Namespaces)

khng

gian

tn

N u b n t ng l p trnh java ch c h n b n d quen v i khi ni m packed m bnd dng gi cc l p m b n xy d ng c d c tnh chung(miu t hay x l v n d g d). Trong .Net cung v y t kho Namespaces cung c nhi m v nhu packed trong java. .Net cung c p cho chng ta cc Namespaces nhu: usin g usin g usin g usin g usin g usin g usin g System.Configuration ; System.Web ; System.Web.Security ; System.Web.UI ; System.Web.UI.WebControl s; System.Web.UI.WebControls.WebPar ts; System.Web.UI.HtmlControl s;

V d s d ng cc Namespaces trong C# b n c n s d ng t kho using. Mt Namespaces c th ch a cc Namespaces con, v trong Namespace con nh t ch a cc lp thnh vin V d

sau:

B n t o ra hai l p php c ng v php tr d th c hi n cc php ton tuo ng ng nhu

L p Phepcong.cs usin g System; iTechPro.Tinhto an

namespace { publi

class

Phepcon

c g http://www.ebook.edu.vn

27

{ publi c { retur n } } } a + b; stati c in t Sum( in t a, in t b)

V l Pheptru.cs usin g

p

System;

namespace { publi c {

iTechPro.Tinhto an

class

Pheptr u

publi c { retur n } } }

stati c

in t

Minus (

in t

a,

in t

b)

a - b;

Nhu b n th y hai l p ny n m trong Namespaces iTechPro.Tinhtoan, th iTechPro l Namespaces l n nh t, cn Namespaces Tinhtoan l con c a iTechPro v trong tnh ton ch ap Phepcong v cc l Pheptru. S d ng Namespaces ny trong trang asp.net

Trang Namespaces.aspx

p s

="true " XHTML

CodeFile

="Namespaces.aspx.cs "

1.0

http://www.ebook.edu.vn

28

< html < head

xmlns ="http://www.w3.org/1999/xhtml " runa t < titl e ="server" > > Untitled Page

>

< bod y > < form < div > < h1 >Khai bo v s Namespaces L p php c ng: < asp : Label />< br /> ID ="lblcong " runa t ="server " Text ="Label">< / asp : Label >< br d ng id ="form1" runa t ="server" >

L p php tr : < asp : Label ID ="lbltru " runa t ="server " Text ="Label">< / asp : Label >

L Namespaces.aspx.cs usin g usin g publi c { protecte d { lblcong.Text = lbltru.Text = } } Phepcon g Pheptr u .Sum(5, 5).ToString(); .Minus(5, 5).ToString(); voi d Page_Load( objec t sender, EventArg s e) System; iTechPro.Tinhtoa n; partia l class Namespaces : System.Web.UI. Page p

http://www.ebook.edu.vn

29

Nhu v d trn b n th y chng ta s d ng namespace iTechPro.Tinhtoan gi ng v i cc Namespace khc m Microsoft cung c p cho chng ta. K t xu t c a chuong trnh

5.5 L Partial

p

.Net cho php chng ta t o ra m t l p trong nhi u file khc nhau m i File cung c p hay x l m t cng vi c g d trn l p d. V d sau dy chng ta s t o m t l p Calculator v i 2 phuong th c c ng v tr n File khc trn hai m nhau. File Calminus.cs usin g System;

namespace { publi c {

iTechPro.Tinhto an

partia l

class

Calculato r

publi c { retur n } } } File Calsum.cs usin g System;

stati c

in t

Minus (

in t

a,

in t

b)

a - b;

namespace

iTechPro.Tinhto an

http://www.ebook.edu.vn

30

{ publi c { publi c { retur n } } } Nhu cc b n th y hai file Calsum v Calminus ch a d ng cng m t tn l p v trongCalculator a d ng m t phuong th c ring l thnh ph n c a l m i File ch p d. S d ng l p ny hon ton gi ng v i vi c s d ng m t l p khc. a + b; stati c in t Sum( in t a, in t b) partia l class Calculato r

File UsePartial.aspx

p

="true " XHTML

CodeFile

="UsePartial.aspx.cs "

< html < head xmlns ="http://www.w3.org/1999/xhtml " runa t < titl e < bod y > < form < div > < h1 > L p Partial K t qu ng: />< br K t qu tr : < asp : Label ID ="lbltru " runa t c < asp : Label /> ID ="lblcong " runa t id ="form1" runa t ="server" > ="server" > > S d ng l Partial p

>

="server "

Text

="Label">< /

asp : Label

>< br

="server "

Text ="Label">< /

asp : Label

>

http://www.ebook.edu.vn

31

V UsePartial.aspx.cs usin g usin g publi c { protecte d { lblcong.Text = lbltru.Text = } } Calculato r Calculato r .Sum(5, 5).ToString(); .Minus(5, 5).ToString(); voi d Page_Load( objec t sender, EventArg s e) System; iTechPro.Tinhtoa n; partia l class UsePartia l : System.Web.UI. Page File

5.6 K th a v tr u tu ng ho m t l pKhi m t l p du c k th a t m t l p th 2 th n du c th a hu ng t t c cc thu tnh v phuocng th c khng private t l p th nh t. K th a du c s d ng thng su t trong .NetFrameWork, v d trong t t c cc trang ASP.NET d u du c k th a t L p System.Web.UI.Page v t t c cc l p trong .Net d u du c xu t t d n l p co s System.Object. V d sau chng ta s dua ra 2 l p TelevisionProduct v ComputerProduct du c k th la t p BaseProduct. V d: usin g publi c { decimal publi c _price; decimal Pric e System; class BaseProduc t

http://www.ebook.edu.vn

32

{ get { retur n _price; } valu e ;}

set { _price = } } publi c { strin g publi c { get { retur n _processor ; strin g Processo r class ComputerProduc t

:

BaseProduc t

_processor; } valu e ;}

set { _processor = } } publi c { boo l publi c { get { retur n _isDHTV; } valu e _isDHTV ; boo l isDHT V class TelevisionProdu ct

:

BaseProduc t

set { _isDHTV = } }

;}

Trong v d trn b n th y hai l p ComputerProduct v TelevisionProduct du c k th a t l p BaseProduct, trong l p BaseProduct c thu c tnh Price ln hai l p k th a s du a k c thu c tnh th ny. Khi k th a t m t l p khc, b n c th overload cc thu c tnh v phuong th c l p ny.trong Overloading m t thu c tnh hay phuong th c l m t ti n ch khi b n mu n thay ngi x c a phuong th c hay thu c tnh d trong l p cc d ny.

http://www.ebook.edu.vn

33

Overload m t phuong th c hay thu c tnh t l p co s , th thu c tnh hay th c nyphuong c dnh d u v i t kho vitual hay abstract c a C# hay trong ph i du VB.NET l Overridable ho c MustOverride. V d , chng ta s dua ra hai l p ProductBase v OnSaleProduct du c k th a t lp ProductBase nhung n s overload m t thu c tnh t l p ProductBase. V d: usin g publi c { decimal publi c { get { retur n _price; } valu e ;} _price; virtua l decimal Pric e System; class ProductBas e

set { _price = } } publi c { publi c { get { retur n set { base .Price = } } overrid e class OnSaleProduc t

:

ProductBas e

decimal

Pric e

base .Price 2;} valu e

/ ;}

Trong v d trn L p OnSaleProduct du c k th a t l p ProductBase v Override thu l tnh Price, c p ny mu n ch ra gi b ng m t n a l p co s . ch v i VB.NET th t kho base l MyBase. B n c th dng t kho abstract khi khai bo m t l p d nhu dnh d u l p c u k th ny yu a. B n khng th t o d i tu ng m t l p tr u tu ng, d s d ng m t l p tr u tunng i d n xu t m t l p m i t l p tr u tu ng v t o d i tu ng trong l p d b ph n xu t. V d:

http://www.ebook.edu.vn

34

publi c { publi c {

abstrac t

class

BaseEmploye e

abstrac t

decimal

Salar y

get ; }

publi c {

strin g

Company

get { } } publi c { publi c { get { } } class

retur n

"iTechPro "

;}

SaleEmploye e

: BaseEmploye e

overrid e

decimal

Salar y

retur n

66.666; }

Trong v d trn b n th y L p SaleEmployee du c k th a t l p BaseEmployee v Overload thu c tnh Salary.

5.7 Khai Interface:

bo

M t giao di n m m t danh sch cc thu c tnh hay phuong th c m l p k th a ph ci d t. n u im t l p ci d t m t giao di n, th l p ny s ch a t t c cc thu c tnh cung nhu th c c a giao di n phuo ng ny. V d: usin g publi c { System; interface IProduc t

http://www.ebook.edu.vn

35

decimal {

Pric e

get ; } voi d } publi c { publi c { get { } publi c { //Save Product } } publi c { publi c { get { } publi c { //Save Product } } Book voi d SaveProduct( ) retur n 23.99m; } decimal Pric e class BookProdu ct : IProduc t Music voi d SaveProduct( ) retur n 20.99m; } decimal Pric e class MusicProduc t : IProduc t SaveProduct() ;

http://www.ebook.edu.vn

36

Chuong 2. S Standard

d ng cc d i u khi n

Trong chuong ny cc b n s h c cc di u khi n c b n c a ASP.NET Framework, l nh ngdyu khi n m b n thu ng xuyn s d ng trong ng d ng web c a di mnh.

I. i u khi n hi n th thng tin1. Label M t s tnh thu c

Tn thu tinh BackColo r BorderColo r BorderStyl e

c

nh ng

hu

Cho php thay d i mu n n c a Label Cho php thi t l p du ng vi n c a Label Hi n th du ng vi n c a Label theo cc d ng Notset, None, Dotted, Dashed, Solid, Double, Groove, Ridge, Insert v OutSet. Cho php dua vo m t l p css Thi t l p thu c tnh c a Font Thi t d t mu ch n i dung c a Label Cho php gn cc thu c tnh cho Label Hi n th n i dung khi di chu t vo di u khi n Label Tn c a di u khi n

cssClass Fon t ForeColo r Styl e ToolTi p ID

Tuy di u khi n Label ch a d ng r t nhi u thu c tnh d k t xu t hi n th nhung v i kinh nghi m c a mnh trong qu trnh thi t k Web ti khuyn b n ln s d ng thu c tnh cssClass d s d ng m t l p css. V d: Gn thu c tnh tr c ti p < asp : Label ID ="Label1 " BorderColo ="ActiveCaption r " ForeColo r cao ngh iTechPro" S d cssClass < asp : Label ng ="Blue " /> FontSize BackColo r ="12pt " ="ActiveBorder " runa t ="server " Text ="Trung cng tm

ID ="Label2 "

CssClass

="label "

http://www.ebook.edu.vn

37

runa t K qu t

="server "

Text ="Trung tm cng ngh iTechPro"

cao

/>

2, i u khi n Literal Gi ng v i di u khi n Label b n c th dng Literal d trnh by Text ho c n i dung Html. Literal h tr m t thu c tnh m Label khng h tr d l: thu c tnh Mode g m 3 gi l: Pass through, Endcode, tr transform. V d

/>

/>

Hin th :

II i u khi n cho php ngu i dng nh p li u1, i u khi n TextBox B ng cc thu tnh: Thu tnh c c

http://www.ebook.edu.vn

38

Textmode

Ki u hi n th c a Textbox g m 3 gi tr : SingleLinehi n th 1 tru ng nh p li u trn 1 dng, MultiLine- hi n th 1 tru ng nh p li u nhi u dng, Password- hi n th 1 tru ng nh p m Text s du c thay th b ng cc k t d c bi t Cho pheps b n ch control TextBo x d nh phm d di chuy n t i

AccessKey

AutoCompleteTyp e

Cho php b n k t h p v i m t l p autoComplete v i di u khi n TextBox. Cho php g i d li u ln server khi n i dung c a TextBox thay d i. Cho php ch d nh s c t du c hi n th trong TextBox Cho php hay khng cho php nh p li u trn TextBox Cho php quy dinh d di c a d li u m m t ngu is d ng c th nh p trn TextBox Cho php ch dua d li u ra TextBox ch khng nh pd li u vo. Cho php ch d nh s dng hi n th trong TextBox Cho php ch d nh th t Tab c a TextBox Cho php ch d nh c word-wraps khng khi thi t lp thu c tnh TextMode l Multiline

AutoPostBac k

Columms Enabled MaxLengt h

ReadOnly

Rows TabInde x Wrap

i u khi n TextBox h tr phuong th c v s ki n sau: - Focus: cho php thi t l p form kh i t o uu tin t i TextBox - TextChanged: X y ra trn Server khi n i dung TextBox thay d i. d s kin ny x y ra b n c n thi t d t thu c tnh AutoPostback l true. 2. S d ng di u khi n CheckBox Cc tnh AccessKey thu c Enables you to specify a key that navigates to the TextBox contr o nablesyou to post the form containing the CheckBox back to the

AutoPostBac k

http://www.ebook.edu.vn

39

server automatically when the CheckBox is checked or unchecked Checked Cho php b n gn ho c thi t d t tr ng thi ch n hay khng ch n c a CheckBox Cho php ho c khng cho php Enables you to specify the tab order of the check box. Enablesyou to provide a label for the check box. Enables you to align the label for the check box. Possible values are

Enabled TabInde x Text TextAlig n

Left Right.

and

CheckBox h tr phuo ng th c va s ki n - Focus: Enables you to set the initial form focus to the check box. CheckedChanged: Raisedontheserverwhenthecheckboxischeckedorunchecked. 3. i u RadioButton khi n

i u khi n RadioButton lun du c s d ng trong m t nhm v trong nhm d ch mt RadioButton du c ch n Cc tnh Thu tinh c Enablesyou to specify a key that navigates to the RadioButton contro l Enables you to post the form containing the RadioButton back to the server automatically when the radio button is checked or unchecked Checked Enables you to get or set whether the RadioButton control is checked. Enables you RadioButton to disable the thu c

AccessKey

AutoPostBac k

Enabled GroupNam e

Enables you to group RadioButton controls

http://www.ebook.edu.vn

40

TabInde x Text TextAlig n

Enables you to specify the tab order of the RadioButton control. Enables you to label the RadioButton control. Enablesyou to align the RadioButton label. Possible values are Left and Right.

RadioButton h tr cc phuong th c v s ki n - Focus: Enables youto set the initial form focus to the RadionButton control. - CheckedChanged: Raised on the server when the unchecked.

III. Submitting Data1. i u khi n Button Cc thu tnh: c

Form

AccessKey CommandArgument CommandName Enabled OnClientClic k PostBackU rl TabInde x Text UseSubmitBehavi or

Cho php ch Button.

d nh phm di chuy n t i di u khi n

Cho php b n ch r d i s du c truy n t i l nh th c hi n. Ch d nh tn m t l nh du c truy n t i trong Command Event. Cho php v hi u ho di u khi n Button Cho php ch Button. d nh d n m t hm pha client khi nh n vo

Cho php tr d li u ln m t trang khc. Ch d nh th t tab c a Button. N i dung text hi n th Button. trn di u khi n

Cho php s d ng javascript d tr d li u ln m t form.

Cc phuo ng th c v s ki n - Focus: Cho php thi t l p khi kho i t o Form uu tin di u khi n TextBox. - Click: X y ra khi di u khi n Button du c nh n.

http://www.ebook.edu.vn

41

- Command: X y ra khi di u khi n Button du c nh n. CommandName v CommandArgument du c truy n qua s ki n. 2. i u khi n cc phuo ng th c v thu c tnh gi ng v i di u khi n LinkButton: Button nhung cch hi n th c a n du i d ng Text gi ng nhu th c a HTML v c th p d ng thu c tnh css c a th cho d i tu ng LinkButton. H c vin t tm hi u thm 3. i u ImageButton khi n

Cc thu c tnh v phuo ng th c c a di u khi n Button v thm vo m t s thu c tnh Thu tnh c Ch d n du ng d n c a nh Cho php ca n ch nh nh trong ImageButton cc gi tr ca n c th l: AbsBottom, AbsMiddle, Baseline, Bottom, Left, Middle, NotSet, Right, TextTop, and Top.

ImageUrl ImageAlign

4. S d ng Client Scripts v i di u khi n Button C ba di u khi n Button trn d u c thu c tnh OnClientClick, b n c th s d tnh ny ng th c c n m pha Client m b n c n khi di u khi n Button du c d thu hi nh n.

V d.

XHTML

1.0

protected void btnDelete_Click(object sender, EventArgs e) { lblResult.Text deleted!; = All pages

http://www.ebook.edu.vn

42

}

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Butto confirm('B n c ch n c ch n?');" < asp : Label ID ="Button1 " ID ="Label1 " OnClic ="Button1_Click k " runa ="server Text ="Button t " " runa t ="server " Text ="iTechPro " OnClientClic k />< br /> /> ="retur n id ="form1" runa t ="server" >

Gi i thch v d : trn do n m trn trong form g m 2 di u khi n Button v Label. di u khiTrong n Button ta gn vo 2 s ki n: OnClientClick pha Clien, v OnClick pha Server OnClientClick s th c hi n khi ngu i dng pha Client nh n vo Button, trong m Client trnh by m t hm confirm trong javascript v i m c dnh h i ngu i dng xc nh n vi c thncno d B n c ch c ch n? n u ngu i dng ch n OK th S ki n th 2 OnClick s hi duc hi n cn n u ch n Cancel th s ki n pha Server khng du c th c th c hi n. 5. Th c hi n chuy n trang M c d nh khi b n nh n vo Button n s th c hi n cng vi c ngay trn trang v trang c a chng ta s Load l i m t l n nhung b n c th s d ng thu c tnh PostBackUrl d chuy n m t trang sang khc. V d b n c m t trang ButtonSearch.aspx

XHTML

1.0

http://www.ebook.edu.vn

43

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Label < asp : TextBo x ID ="lblSearch " ID ="txtSearch " runa t runa t ="server " ="server " runa t Text ="Search: " /> ="server " /> id ="form1" runa t ="server" >

< asp : Butto ID ="btnSearch n ="ButtonSearchResult.asp " PostBackU rl x"

Text ="GO! " />

Trong thu c tnh PostBackUrl c a di u khi n btnSearch s chuy n sang trang ButtonSearchResu lt XHTML 1.0

< scrip t voi d {

runa t Page_Load(

="server" > objec t sender, EventArg s e)

if (PreviousPage ! = { TextBo txtSearch x = ) PreviousPage.FindControl (

nul l

)

( TextBo x

"txtSearch "

);

http://www.ebook.edu.vn

44

lblSearch.Text txtSearch.Text; } }

=

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Label ID ="lblSearch " runa t ="server " /> id ="form1" runa t ="server" >

Trong do n m trn ta d phuong th c FindControl c a PreviousPage n s i u khitm d ntrang ButtonSearch.aspx m ta cung c p ID c a n trn n.

6. Ch d nh m t Button m c d nh. V d trn trang c a b n c nhi u di u khi n Button, khi nh p d li u b n l i quen nh p xong d li u v nh n nt Enter trn bn phm, b n c th d m c d nh nt c p nh t d li m c d nh khi nh n phm Emter. Nhu v d du i u lm dy.

< scrip t voi d

runa t

="server" > objec t sender, EventArg s e)

btnXacnhan_Click (

http://www.ebook.edu.vn

45

{ lblThongbao.Text txtHoten.Text; } XHTML 1.0 =

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Label < asp : TextBo x < hr /> ID ="btnXacnhan " ID ="btnBoqua " OnClic k runa t ="btnXacnhan_Click " Text ="B qua" runa t /> ="server " ID ="lblHoten " ID ="txtHoten " runa t runa t ="server " ="server " Text /> ="Nh tn" p h /> id ="form1" runa t ="server " defaultbutto n ="btnXacnhan" >

Text ="Xc n"

< asp : Butto nh n /> < asp : Butto n < hr />

="server "

< asp : Label

ID ="lblThongbao "

runa t

="server "

Text =""

/>

7. i u khi n Command Event

http://www.ebook.edu.vn

46

S khc nhau gi a Command Event v Command Click l trong Command Event b n c th cung c p Command Name v Command argument Trong cc v d tru c ti d l y v d v s ki n Command Click nn by gi ti l m t v ds v y Command Event d b n so snh. V d trn trang b n c 3 di u khi n Button nhu v d du i dy:

< scrip t voi d {

runa t

="server" > objec t sender, CommandEventArg s e)

hcubiuChon (

if (e.CommandName == { switc h { case lblComandEvent.Text = break case lblComandEvent.Text = break case lblComandEvent.Text = break } } } ; ; : ; "C#" :

"language "

)

(e.CommandArgument.ToString() )

"CShap "

;

"VBNET : " "VB.NET " ;

"JAVA "

"Java"

;

XHTML

1.0

http://www.ebook.edu.vn

47

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > B n ch n ngn ng : < asp : Label < br /> ID ="btna OnCommand ="hcubiuChon " runa ="server Text " ="C# /> t " " OnCommand ="hcubiuChon " ="server Text ="VB.NET " " OnCommand ="hcubiuChon " ="server Text ="Java " " /> CommandName ="language " ="language " ="language " ID ="lblComandEvent " runa t ="server " Text ="">< / asp : Label > id ="form1" runa t ="server" >

< asp : Butto CommandArgument n ="C# "

< asp : Butto ID ="btnb CommandArgument n ="VBNET " runa " t < asp : Butto ID ="btnc CommandArgument n ="JAVA " runa " t

CommandName /> CommandName

C ba di u khi n Button trn d u ch a Tn l nh v d i s l nh v tu thu c vo d s l nh khc nhaui d ta c th th c hi n m t cng vi c tuong ng.

IV. i u khi n hi n th nh ASPNET bao g m 2 di u khi n hi n th ImageMap. 1. i u khi n Image. nh. di u khi n Image v

i u khi n ny dng d hi n th nh gi ng v i th trong HTML Cc thu c tnh quan tm Thu tnh c

http://www.ebook.edu.vn

48

AlternateTex t DescriptionU rl

N i dung thay th khi l i du ng d n c a nh Cho php b n cung c p m t du ng d n d n trang miu t chi ti t n i dung c a nh Cho php can ch nh nh ln quan t i cc thnh ph n HTML khc trong trang v n c th l cc gi tr sau:AbsBottom, AbsMiddle, Baseline, Bottom, Left, Middle, NotSet, Right, TextTop, and Top. u ng d n c a nh trn di u khi n

ImageAlign

ImageUrl V d

< scrip t voi d {

runa t

="server" > objec t sender, EventArg s e)

Page_Load(

Random rnd = switc h { case Image1.ImageUrl = Image1.AlternateText = break case Image1.ImageUrl = Image1.AlternateText = break case Image1.ImageUrl = Image1.AlternateText = break 2: 1: 0:

new

Random ();

(rnd.Next(3))

"Images/images1.jpg" "Picture 1" ; ;

;

"Images/images2.jpg" "Picture 2" ; ;

;

"Images/images3.jpg" "Picture 3" ; ;

;

http://www.ebook.edu.vn

49

} } XHTML 1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Image ID ="Image1" runa t ="server " /> id ="form1" runa t ="server" >

2. i u ImageMap

khi

n

Cho php b n t o b n d nh trn 1 nh hi n th trn trang web m ngu i dng ch n Client c th pha vo m t vng c a nh d th c hi n m t cng vi c no d. V d

< scrip t

runa t

="server" >

void ImageMap1_Click(object sender, ImageMapEventArgs e) {

http://www.ebook.edu.vn

50

switch (e.PostBackValue) { case "top": lblResult.Text = "Day la phan dau"; break; case "middle": lblResult.Text = "day la phan giua"; break; case "under": lblResult.Text = "day la phan cuoi"; break; } } XHTML 1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : ImageMap ="ImageMap1_Click " ID ="ImageMap1" HotSpotMod ="PostBack e " ImageUrl ="~/Images/jiwoo18034.jpg " id ="form1" runa t ="server" >

OnClic k

runa t

="server" >

Right Botto m

AlternateTex t

ID ="lblResult "

runa t

="server "

/>

Cc thu c tnh c a ImageMap gi ng v i Image v thm vo hai thu c tnh d l: - HotSpots: cho php b n di n t p h p thng tin c a HotSpots du c ch a d ng trong di u khi n ImageMap.

http://www.ebook.edu.vn

52

- HotSpotMode:Cho php b n ch d nh Enables you to specifythe behavior of the image map when you click a region. Possible values are Inactive, Navigate, NotSet, and PostBack.

V. i u khi n PanelKhi b n c n dua cc di u khi n trang vo m t nhm d gi i thch nghi a cho nhm ho c c th l dd n ho c hi n nhm di u khi nh n 1 s ki n no d trn trang c a b n, bth dng di u khi n n c panel. M t s thu c tnh c a di u khi n panel m b n c n luu l: - DefaultButton: Cho php b n d nh nghia m t button m c d nh trong panel m button m c d nh ny s du c th c hi n khi b n nh n phm Enter - Direction: Cho php b n gn ho c thi t d t hu ng hi n th n i dung du c dua ra trong panel, c th l cc gi tr :NotSet, LeftToRight, and RightToLeft. - GroupingText: Cho php b n trnh by Panel nhu 1 Fieldset v i m t ch gi i ring bi t - HorizontalAlign: Cho php b n ch ra hu ng ngang th hi n n i dung c a panel v n c th l cc gi tr : Center, Justify, Left, NotSet, and Right. - ScrollBars: Cho php b n hi n th scrollbars khi b n c d nh chi u cao ho c chi u r ng c a panel v n i dung trong panel vu t qu d r ng ho c d cao d, n c th l cc gi tr : Auto, Both, Horizontal, None, and Vertical. V d

< scrip t voi d {

runa t

="server" > objec t sender, EventArg s e)

Page_Load(

for ( {

in t

i = 1; i < 100; i+ +)

buletnghenghiep.Items.Add ( } }

"Ngh "

+i.ToString()) ;

http://www.ebook.edu.vn

53

voi d {

hcubiuSothich (

objec t

sender,

EventArg s

e)

if (chkhtsothich.Checked == panelsothich.Visible = else panelsothich.Visible = }

tru e tru e ;

)

false

;

voi d {

hcubiuNghenghiep (

objec t

sender,

EventArg s

e)

if (chkhtnghenghiep.Checked == panelnghenghiep.Visible = else panelnghenghiep.Visible = }

tru e tru e ;

)

false

;

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Pane l < tabl e > ID ="panelpage " runa t ="server " GroupingTex t ="iTechPro" > id ="form1" runa t ="server" >

http://www.ebook.edu.vn

54

< tr > < td > ID ="CheckBox1 " ID ="CheckBox2 " ID ="CheckBox3 " Text ="Bng d" ="Xem phim" ="Kinh doanh" Widt h runa t runa t runa t ="200px " ="server " ="server " ="server " />< br

Heigh t />

< asp : CheckBo x < asp : CheckBo x < asp : CheckBo x

Text

/>< br

/>

Text

/>

ScrollBar s

ID ="panelnghenghiep " runa ="server t "

Widt ="200px h GroupingTex " ="Ngh t p"> runa t

Heigh t nghi ="server" >

="200px "

< asp : BulletedLis t >

ID ="buletnghenghiep " >

AutoPostBac k runa ="server t "

< asp : CheckBo Checked x OnCheckedChanged ="true " />< br />

="true ID ="chkhtsothich " ="hcubiuSothic " Text h"

="Hi n th thch"

s

< asp : CheckBo Checked x OnCheckedChanged AutoPostBac ="true k nghi runa " ="server />< br /> p" t " >

="true ID ="chkhtnghenghiep " ="hcubiuNghenghiep " Text ="Hi " ngh

n

th

ng FontSize BackColo r ="12pt " ="ActiveBorder " runa t ="server " Text ="Trung cng tm

BorderColo r

ForeColo r cao ngh iTechPro" S d cssClass < asp : Label runa t K qu t

ID ="Label2 "

CssClass

="label " cao />

="server "

Text ="Trung tm cng ngh iTechPro"

2, i u khi n Literal Gi ng v i di u khi n Label b n c th dng Literal d trnh by Text ho c n i dung Html. Literal h tr m t thu c tnh m Label khng h tr d l: thu c tnh Mode g m 3 gi l: Pass through, Endcode, tr transform. V d

/>

/>

http://www.ebook.edu.vn

57

Hin th :

II i u khi n cho php ngu i dng nh p li u1, i u khi n TextBox B ng cc thu tnh: Thu tnh c Ki u hi n th c a Textbox g m 3 gi tr : SingleLinehi n th 1 tru ng nh p li u trn 1 dng, MultiLine- hi n th 1 tru ng nh p li u nhi u dng, Password- hi n th 1 tru ng nh p m Text s du c thay th b ng cc k t d c bi t Cho pheps b n ch control TextBo x d nh phm d di chuy n t i c

Textmode

AccessKey

AutoCompleteTyp e

Cho php b n k t h p v i m t l p autoComplete v i di u khi n TextBox. Cho php g i d li u ln server khi n i dung c a TextBox thay d i. Cho php ch d nh s c t du c hi n th trong TextBox Cho php hay khng cho php nh p li u trn TextBox Cho php quy dinh d di c a d li u m m t ngu is d ng c th nh p trn TextBox Cho php ch dua d li u ra TextBox ch khng nh pd li u vo. Cho php ch d nh s dng hi n th trong TextBox Cho php ch d nh th t Tab c a TextBox Cho php ch d nh c word-wraps khng khi thi t lp thu c tnh TextMode l Multiline

AutoPostBac k

Columms Enabled MaxLengt h

ReadOnly

Rows TabInde x Wrap

http://www.ebook.edu.vn

i u khi n TextBox h tr phuong th c v s ki n sau:

58

- Focus: cho php thi t l p form kh i t o uu tin t i TextBox - TextChanged: X y ra trn Server khi n i dung TextBox thay d i. d s kin ny x y ra b n c n thi t d t thu c tnh AutoPostback l true. 2. S d ng di u khi n CheckBox Cc tnh AccessKey thu c Enables you to specify a key that navigates to the TextBox contr o nablesyou to post the form containing the CheckBox back to the server automatically when the CheckBox is checked or unchecked Checked Cho php b n gn ho c thi t d t tr ng thi ch n hay khng ch n c a CheckBox Cho php ho c khng cho php Enables you to specify the tab order of the check box. Enablesyou to provide a label for the check box. Enables you to align the label for the check box. Possible values are

AutoPostBac k

Enabled TabInde x Text TextAlig n

Left Right.

and

CheckBox h tr phuo ng th c va s ki n - Focus: Enables you to set the initial form focus to the check box. CheckedChanged: Raisedontheserverwhenthecheckboxischeckedorunchecked. 3. i u RadioButton khi n

i u khi n RadioButton lun du c s d ng trong m t nhm v trong nhm d ch mt RadioButton du c ch n Cc tnh Thu tinh c thu c

http://www.ebook.edu.vn

59

AccessKey

Enablesyou to specify a key that navigates to the RadioButton contro l Enables you to post the form containing the RadioButton back to the server automatically when the radio button is checked or unchecked

AutoPostBac k

Checked

Enables you to get or set whether the RadioButton control is checked. Enables you RadioButton to disable the

Enabled GroupNam e TabInde x Text TextAlig n

Enables you to group RadioButton controls Enables you to specify the tab order of the RadioButton control. Enables you to label the RadioButton control. Enablesyou to align the RadioButton label. Possible values are Left and Right.

RadioButton h tr cc phuong th c v s ki n - Focus: Enables youto set the initial form focus to the RadionButton control. - CheckedChanged: Raised on the server when the unchecked.

III. Submitting Data1. i u khi n Button Cc thu tnh: c

Form

AccessKey CommandArgument CommandName Enabled OnClientClic k PostBackU rl

Cho php ch Button.

d nh phm di chuy n t i di u khi n

Cho php b n ch r d i s du c truy n t i l nh th c hi n. Ch d nh tn m t l nh du c truy n t i trong Command Event. Cho php v hi u ho di u khi n Button Cho php ch Button. d nh d n m t hm pha client khi nh n vo

Cho php tr d li u ln m t trang khc.

http://www.ebook.edu.vn

60

TabInde x Text UseSubmitBehavi or

Ch d nh th t tab c a Button. N i dung text hi n th Button. trn di u khi n

Cho php s d ng javascript d tr d li u ln m t form.

Cc phuo ng th c v s ki n - Focus: Cho php thi t l p khi kho i t o Form uu tin di u khi n TextBox. - Click: X y ra khi di u khi n Button du c nh n. - Command: X y ra khi di u khi n Button du c nh n. CommandName v CommandArgument du c truy n qua s ki n. 2. i u khi n cc phuo ng th c v thu c tnh gi ng v i di u khi n LinkButton: Button nhung cch hi n th c a n du i d ng Text gi ng nhu th c a HTML v c th p d ng thu c tnh css c a th cho d i tu ng LinkButton. H c vin t tm hi u thm 3. i u ImageButton khi n

Cc thu c tnh v phuo ng th c c a di u khi n Button v thm vo m t s thu c tnh Thu tnh c Ch d n du ng d n c a nh Cho php ca n ch nh nh trong ImageButton cc gi tr ca n c th l: AbsBottom, AbsMiddle, Baseline, Bottom, Left, Middle, NotSet, Right, TextTop, and Top.

ImageUrl ImageAlign

4. S d ng Client Scripts v i di u khi n Button C ba di u khi n Button trn d u c thu c tnh OnClientClick, b n c th s d tnh ny ng th c c n m pha Client m b n c n khi di u khi n Button du c d thu hi nh n.

V d.

http://www.ebook.edu.vn

61

XHTML

1.0

protected void btnDelete_Click(object sender, EventArgs e) { lblResult.Text deleted!; } = All pages

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Butto confirm('B n c ch n c ch n?');" < asp : Label ID ="Button1 " ID ="Label1 " OnClic ="Button1_Click k " runa ="server Text ="Button t " " runa t ="server " Text ="iTechPro " OnClientClic k />< br /> /> ="retur n id ="form1" runa t ="server" >

Gi i thch v d : trn do n m trn trong form g m 2 di u khi n Button v Label. di u khiTrong n Button ta gn vo 2 s ki n: OnClientClick pha Clien, v OnClick pha Server OnClientClick s th c hi n khi ngu i dng pha Client nh n vo Button, trong m Client trnh by m t hm confirm trong javascript v i m c dnh h i ngu i dng xc nh n vi c thncno d B n c ch c ch n? n u ngu i dng ch n OK th S ki n th 2 OnClick s hi duc hi n cn n u ch n Cancel th s ki n pha Server khng du c th c th c hi n.

http://www.ebook.edu.vn

62

5. Th c hi n chuy n trang M c d nh khi b n nh n vo Button n s th c hi n cng vi c ngay trn trang v trang c a chng ta s Load l i m t l n nhung b n c th s d ng thu c tnh PostBackUrl d chuy n m t trang sang khc. V d b n c m t trang ButtonSearch.aspx

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Label < asp : TextBo x ID ="lblSearch " ID ="txtSearch " runa t runa t ="server " ="server " runa t Text ="Search: " /> ="server " /> id ="form1" runa t ="server" >

< asp : Butto ID ="btnSearch n ="ButtonSearchResult.asp " PostBackU rl x"

Text ="GO! " />

Trong thu c tnh PostBackUrl c a di u khi n btnSearch s chuy n sang trang ButtonSearchResu lt XHTML 1.0

http://www.ebook.edu.vn

63

< scrip t voi d {

runa t Page_Load(

="server" > objec t sender, EventArg s e)

if (PreviousPage ! = { TextBo txtSearch x = ) PreviousPage.FindControl ( lblSearch.Text = txtSearch.Text; ( TextBo x } }

nul l

)

"txtSearch "

);

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Label ID ="lblSearch " runa t ="server " /> id ="form1" runa t ="server" >

Trong do n m trn ta d phuong th c FindControl c a PreviousPage n s i u khitm d ntrang ButtonSearch.aspx m ta cung c p ID c a n trn n.

6. Ch d nh m t Button m c d nh.

http://www.ebook.edu.vn

64

V d trn trang c a b n c nhi u di u khi n Button, khi nh p d li u b n l i quen nh p xong d li u v nh n nt Enter trn bn phm, b n c th d m c d nh nt c p nh t d li m c d nh khi nh n phm Emter. Nhu v d du i u lm dy.

< scrip t voi d {

runa t

="server" > objec t sender, EventArg s e)

btnXacnhan_Click (

lblThongbao.Text txtHoten.Text; }

=

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Label < asp : TextBo x < hr /> ID ="btnXacnhan " ID ="btnBoqua " OnClic k runa t ="btnXacnhan_Click " Text ="B qua" runa t /> ="server " ID ="lblHoten " ID ="txtHoten " runa t runa t ="server " ="server " Text /> ="Nh tn" p h /> id ="form1" runa t ="server " defaultbutto n ="btnXacnhan" >

Text ="Xc n"

< asp : Butto nh n /> < asp : Butto n < hr />

="server "

< asp : Label

ID ="lblThongbao "

runa t

="server "

Text =""

/>

http://www.ebook.edu.vn

65

7. i u khi n Command Event S khc nhau gi a Command Event v Command Click l trong Command Event b n c th cung c p Command Name v Command argument Trong cc v d tru c ti d l y v d v s ki n Command Click nn by gi ti l m t v ds v y Command Event d b n so snh. V d trn trang b n c 3 di u khi n Button nhu v d du i dy:

< scrip t voi d {

runa t

="server" > objec t sender, CommandEventArg s e)

hcubiuChon (

if (e.CommandName == { switc h { case lblComandEvent.Text = break case lblComandEvent.Text = break case lblComandEvent.Text = ; : ; "C#" :

"language "

)

(e.CommandArgument.ToString() )

"CShap "

;

"VBNET : " "VB.NET " ;

"JAVA "

"Java"

;

http://www.ebook.edu.vn

66

break } } }

;

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > B n ch n ngn ng : < asp : Label < br /> ID ="btna OnCommand ="hcubiuChon " runa ="server Text " ="C# /> t " " OnCommand ="hcubiuChon " ="server Text ="VB.NET " " OnCommand ="hcubiuChon " ="server Text ="Java " " /> CommandName ="language " ="language " ="language " ID ="lblComandEvent " runa t ="server " Text ="">< / asp : Label > id ="form1" runa t ="server" >

< asp : Butto CommandArgument n ="C# "

< asp : Butto ID ="btnb CommandArgument n ="VBNET " runa " t < asp : Butto ID CommandArgument n ="JAVA " ="btnc " runa t

CommandName /> CommandName

C ba di u khi n Button trn d u ch a Tn l nh v d i s l nh v tu thu c vo d s l nh khc nhaui d ta c th th c hi n m t cng vi c tuong ng.

http://www.ebook.edu.vn

67

IV. i u khi n hi n th nh ASPNET bao g m 2 di u khi n hi n th ImageMap. 1. i u khi n Image. nh. di u khi n Image v

i u khi n ny dng d hi n th nh gi ng v i th trong HTML Cc thu c tnh quan tm Thu tnh c N i dung thay th khi l i du ng d n c a nh Cho php b n cung c p m t du ng d n d n trang miu t chi ti t n i dung c a nh Cho php can ch nh nh ln quan t i cc thnh ph n HTML khc trong trang v n c th l cc gi tr sau:AbsBottom, AbsMiddle, Baseline, Bottom, Left, Middle, NotSet, Right, TextTop, and Top. u ng d n c a nh trn di u khi n

AlternateTex t DescriptionU rl

ImageAlign

ImageUrl V d

< scrip t voi d {

runa t

="server" > objec t sender, EventArg s e)

Page_Load(

Random rnd = switc h { case Image1.ImageUrl = Image1.AlternateText = break case Image1.ImageUrl = 1: 0:

new

Random ();

(rnd.Next(3))

"Images/images1.jpg" "Picture 1" ; ;

;

"Images/images2.jpg"

;

http://www.ebook.edu.vn

68

Image1.AlternateText = break case Image1.ImageUrl = Image1.AlternateText = break } } ; 2: ;

"Picture 2"

;

"Images/images3.jpg" "Picture 3" ;

;

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form < div > < asp : Image ID ="Image1" runa t ="server " /> id ="form1" runa t ="server" >

2. i u ImageMap

khi

n

Cho php b n t o b n d nh trn 1 nh hi n th trn trang web m ngu i dng ch n Client c th pha vo m t vng c a nh d th c hi n m t cng vi c no d. V d

http://www.ebook.edu.vn

69

< scrip t

runa t

="server" >

void ImageMap1_Click(object sender, ImageMapEventArgs e) { switch (e.PostBackValue) { case "top": lblResult.Text = "Day la phan dau"; break; case "middle": lblResult.Text = "day la phan giua"; break; case "under": lblResult.Text = "day la phan cuoi"; break; } } XHTML 1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

< bod y > < form id ="form1" runa t ="server" >

http://www.ebook.edu.vn

70

< div > < asp : ImageMap ="ImageMap1_Click " ID ="ImageMap1" HotSpotMod ="PostBack e " ImageUrl ="~/Images/jiwoo18034.jpg "

OnClic k

runa t

="server" >

="top "

Right Botto m

AlternateTex t

ID ="lblResult "

runa t

="server "

/>

http://www.ebook.edu.vn

71

Cc thu c tnh c a ImageMap gi ng v i Image v thm vo hai thu c tnh d l: - HotSpots: cho php b n di n t p h p thng tin c a HotSpots du c ch a d ng trong di u khi n ImageMap. - HotSpotMode:Cho php b n ch d nh Enables you to specifythe behavior of the image map when you click a region. Possible values are Inactive, Navigate, NotSet, and PostBack.

V. i u khi n PanelKhi b n c n dua cc di u khi n trang vo m t nhm d gi i thch nghi a cho nhm ho c c th l dd n ho c hi n nhm di u khi nh n 1 s ki n no d trn trang c a b n, bth dng di u khi n n c panel. M t s thu c tnh c a di u khi n panel m b n c n luu l: - DefaultButton: Cho php b n d nh nghia m t button m c d nh trong panel m button m c d nh ny s du c th c hi n khi b n nh n phm Enter - Direction: Cho php b n gn ho c thi t d t hu ng hi n th n i dung du c dua ra trong panel, c th l cc gi tr :NotSet, LeftToRight, and RightToLeft. - GroupingText: Cho php b n trnh by Panel nhu 1 Fieldset v i m t ch gi i ring bi t - HorizontalAlign: Cho php b n ch ra hu ng ngang th hi n n i dung c a panel v n c th l cc gi tr : Center, Justify, Left, NotSet, and Right. - ScrollBars: Cho php b n hi n th scrollbars khi b n c d nh chi u cao ho c chi u r ng c a panel v n i dung trong panel vu t qu d r ng ho c d cao d, n c th l cc gi tr : Auto, Both, Horizontal, None, and Vertical. V d

< scrip t voi d {

runa t

="server" > objec t sender, EventArg s e)

Page_Load(

for (

in t

i = 1; i < 100; i+ +)

http://www.ebook.edu.vn

72

{ buletnghenghiep.Items.Add ( } } "Ngh " +i.ToString()) ;

voi d {

hcubiuSothich (

objec t

sender,

EventArg s

e)

if (chkhtsothich.Checked == panelsothich.Visible = else panelsothich.Visible = }

tru e tru e ;

)

false

;

voi d {

hcubiuNghenghiep (

objec t

sender,

EventArg s

e)

if (chkhtnghenghiep.Checked == panelnghenghiep.Visible = else panelnghenghiep.Visible = }

tru e tru e ;

)

false

;

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > iTechPr o

http://www.ebook.edu.vn

73

< bod y

> < form < div > < asp : Pane l < tabl e < tr > < td > ID ="CheckBox1 " ID ="CheckBox2 " ID ="CheckBox3 " Text ="Bng d" ="Xem phim" ="Kinh doanh" Widt h runa t runa t runa t ="200px " ="server " ="server " ="server " />< br > ID ="panelpage " runa t ="server " GroupingTex t ="iTechPro" > id ="form1" runa t ="server" >

Heigh t />

< asp : CheckBo x < asp : CheckBo x < asp : CheckBo x

Text

/>< br

/>

Text

/>

ScrollBar s

ID ="panelnghenghiep " runa ="server t "

Widt ="200px h GroupingTex " ="Ngh t p"> runa t

Heigh t nghi ="server" >

="200px "

< asp : BulletedLis t >

ID ="buletnghenghiep " >

AutoPostBac k runa ="server t "

< asp : CheckBo Checked x OnCheckedChanged ="true " />< br />

="true ID ="chkhtsothich " ="hcubiuSothic " Text h"

="Hi n th thch"

s

< asp : CheckBo Checked x OnCheckedChanged AutoPostBac ="true k nghi runa " ="server />< br /> p" t "

="true ID ="chkhtnghenghiep " ="hcubiuNghenghiep " Text ="Hi " ngh

n

th

http://www.ebook.edu.vn

74

>

objec t sender, EventArg s e)

btnAccept_Click (

.lblResult.Text txtHoten.Text; .txtHoten.Text =

= "" ;

< html < head xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > Validato r

XHTML

1.0

http://www.ebook.edu.vn

76

< bod y > < form < div > < asp : Label < asp : TextBo x ID ="lblHoten " ID ="txtHoten " runa t runa t runa t ="server " ="server">< / Text ="Nh p vo h tn" asp : TextBo x > /> id ="form1" runa t ="server" >

< asp : RequiredFieldValidato ControlToValidat r ="txtHoten e " tn">< asp : RequiredFieldValidato / r < asp : Butto ID ="btnAccept n />< br />" Text ="Accept " < asp : Label ID ="lblResult "

ID ="RequiredFieldtxtHoten " ="server Text ="* B n ph i nh p " br /> h >< OnClic k runa t ="btnAccept_Click " Text ="" /> runa t ="server "

="server "

II .

i u khi CompareValidator nghia

n

1.

B n c th s d ng CompareValidator d Ki m tra gi tr nh p vo c n m kho ng trong nh tt v l n nh t d nh tru c hay nh m khng. 2. Cch s d ng B n dua di u khi n CompareValidator t h p ToolBox vo Form v thi t l p cho s thu n m t c tnh sau: ControlToValidate: ch d n di u khi n c n ki m tra Text(ErrorMessage): N i dung thng bo li MinimumValue: Gi tr nh nh t thi t l p cho d i tu ng MaximumValue: Gi tr l n nh t thi t l p cho d i tu ng Type: Ki u so snh, C th l cc gi tr Interger,String, Double, Date v Currency. V d

3.

http://www.ebook.edu.vn

77

Code 2: CompareValidator.aspx

< scrip t voi d {

runa t

="server" > objec t sender, EventArg s e)

btnAccept_Click (

if (Page.IsValid ) { thi s } } XHTML 1.0 .lblThongbao.Text txtDiem.Text; =

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > RangeValidato r

< bod y > < form < div > < tabl e < tr > < td > Vo di m ID ="txtDiem " runa t ="server">< / asp : TextBo x > > id ="form1" runa t ="server" >

< td >< asp : TextBo x < td >

http://www.ebook.edu.vn

78

< asp : RequiredFieldValidato r ="txtDiem ControlToValidat runa e m"> < td colspa n ="3" > ID ="btnAccept " OnClic k

="10 " >

Text ="Th n"

< asp : Butto n /> c hi

="btnAccept_Click "

runa t

="server "

< tr > < td < hr colspa n /> ID ="lblThongbao " runa t ="server " /> ="3" >

< asp : Label

Trong v d trn ta dng hai d i tu ng Validator cng ki m tra gi tr nh p trn di di khi n txtDiem, u u khi n RequiredFieldDiem dng d ki m tra v yu c u nh p gi tr cho txtDiem cn di u khi n RangeDiem yu c u nh p gi tr trong txtDiem ph i n m trong ng t 0 d n kho 10.

III .

http://www.ebook.edu.vn

i u khi RegularExpressionValidator

n

79

1.

nghia

i u khi n RegularExpressionValidator cho php b n so snh gi tr nh p t i 1 tru ng no d trn Form v i m t quy t c d nh tru c. b n c th s d ng cc bi u th c quy t c d ra cc chu i m u nhu l email addresses, Social Security numbers, phone dua numbers, dates, currency, amounts, and product codes. 2. Cch s d ng B n dua di u khi n RegularExpressValidator vo Form c a mnh v thi t l p m t s cho n tnh thu c sau: ID: tn c a di u khi n ControlToValidate: tr d n di u khi n c n ki m tra Text(ErrorMessage): n i dung thng bo khi c li ValidatorExpression: quy d nh m u nh p li u nhu l hm thu, s di n tho i

3.

V d

hm thu.

Sau dy s l m t v d v vi c yu c u ngu i s d ng ph i c p nh t dng d a ch c a trang

Code 3: RegularExpressionValidator.aspx

< scrip t voi d {

runa t

="server" > objec t sender, EventArg s e)

btnAccept_Click (

if (Page.IsValid ) { lblThongbao.Text txtEmail.Text; } } XHTML 1.0 =

http://www.ebook.edu.vn

80

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > RegularExpressionValidat or

< bod y > < form < div > Email: < asp : TextBo x ID ="txtEmail " runa t ="server">< / asp : TextBo x > id ="form1" runa t ="server" >

< asp : RequiredFieldValidato r ID ="RequiredFieldValidator1 runa " t ch hm asp : RequiredFieldValidato thu"> ID ="RegularExpressionValidator 1"

="B n nh p khng dng d nh d ng hm thu " ="txtEmail " ="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([>

ValidationExpressio n asp : RegularExpressionValidat or /> ID ="btnAccept " ID ="lblThongbao "

< asp : Butto n /> Text ="Accept " < asp : Label

OnClic k runa t

="btnAccept_Click " ="server">< / asp : Label

runa t >

="server "

IV .

i u khi CompareValidator nghia

n

1.

i u khi n CompareValidator c 3 ki u khc nhau d ki m tra gi tr nh p:

http://www.ebook.edu.vn

81

S d ng d ki m tra ki u d li u S d ng d so snh gi tr nh p v i m t gi tr c d nh S d ng d so snh gia tr nh p v i gi tr c a m t di u khi n khc trn Form Cch s ng d

2.

B n dua di u khi n CompareValidator vo Form v thi t l p cho n m t s thu c tnh sau: ControlToValidate: di u khi n c a Form s du c ki m tra ControlToCompare: i u khi n dng d gi tr so snh

Text(ErrorMessage): hi n th n i dung thng bo l i kho c l i Type: Ki u c a gi tr s du c so snh Operator: Ton t so snh. C th l cc gi tr : DataTypeCheck, Equal, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual, NotEqual. V d

3.

V d 4 sau s yu c u nh p vo ngy sinh, n u ngu i s d ng nh p vo khng d li u ddngngy th s c l i thng ng bo.

Code 4: CompareValidator.aspx

Trang ="true " Inherit s

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > CompareValidato r

< bod y > < form < div > id ="form1" runa t ="server" >

http://www.ebook.edu.vn

82

< asp : Label

ID ="Label1 "

runa t

="server " runa t

Text ="Ngy sinh">

Widt h

< asp : TextBo ID ="txtNgaysinh " ="154px">< x asp : TextBo > / x < asp : CompareValidato r ControlToValidat e

ID ="CompareValidator1 " ="txtNgaysinh " ="Sai d li u ph i l ki u ngy thng" asp : CompareValidato r >

Operato r

ErrorMessag e ="DataTypeCheck " Typ e < br /> ="Date">< /

< asp : Butto n

ID ="Button1 "

runa t

="server "

Text

="Accept "

/>

V d sau dy s hu ng dua ra tru ng h p v i Form t o ti kho n trn m t trn Web yu c u ngu i dang k ph i nh p m t kh u 2 l n.

Code 5 trang

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > CompareValidato r

http://www.ebook.edu.vn

83

< bod y > < form < div > id ="form1" runa t ="server" >

< asp : Label "> < asp : TextBo x ="Password">< / < br />

ID ="Label2 " ID ="txtPass " asp : TextBo x

runa t

="server " ="server "

Text ="Nh p m t kh u

TextMod e

runa >t

kh u"> < asp : TextBo x ="Password">< / ID ="txtrePass " asp : TextBo x

runa t

="server " runa t ="server "

Text ="Nh p l i m t

>

< asp : CompareValidato r ControlToCompar e nhau">< / ErrorMessag asp : e CompareValidato r < br /> ID ="Button2 "

ID ="CompareValidator2 " ="txtPass " ControlToValidat e

runa t

="server " ="txtrePass "

="Nh p m t kh u 2 l n ph i gi ng >

< asp : Butto n

runa t

="server "

Text

="Accept "

/>

V.

i u khi CustomValidator nghia

n

1.

http://www.ebook.edu.vn

84

N u nh ng di u khi n Validator trn chua d v i b n ho c b n mu n t o m t Validator ring theo mnh, b n c th d ng di u khi n CustomValidator, b n c th k t hp CustomValidator v i m t hm. 2. Cch s d ng v V d CustomValidator c 3 thu c tnh hay s d ng l: ControlToValidator: di u khi n c a Form s du c ki m tra Text(ErrorMessage): hi n th n i dung thng bo l i kho c l i ClientValidationFunction: tn c a m t hm client-side d th c hi n ki m tra trn clientside

CustomValidator h tr 1 s ki n ServerValidate: S ki n du c dua ra khi CustomValidator th c hi n ki m ch ng. V d sau s s d ng s ki n ServerValidate d ki m tra d di c a chu i du c trong di nh khi n TextBox, n u ngu i nh p, nh p vo chu i c d di l n hon 20 up k t th n CustomValidator s dua ra thng bo di u khi l i.

V d: Code 6 CustomValidator.aspx

< scrip t

runa t

="server" > objec t source,

voi CustomValidator1_ServerValidate d ( ServerValidateEventArg e) s { if (e.Value.Length 20) e.IsValid = else e.IsValid = } tru e ; > false ;

XHTML

1.0

http://www.ebook.edu.vn

85

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > CustomValidato r

< bod y > < form < div > id ="form1" runa t ="server" >

< asp : Label < br />

ID ="Label1 "

runa t

="server "

Text ="Ghi ch">

TextMod e

< asp : TextBo x ="MultiLine " Widt h

ID ="TextBox1 "

runa t >

="server "

Heigh t

="95px"

="218px"> ID ="Button1 " runa t ="server " Text

asp : CustomValidato r

>

< asp : Butto n

="Accept "

/>

v d 6 trong hm CustomValidator1_ServerValidate Tham s th 2 du c truy nt i s ki n ServerValidator d x l. Trong th c th c a l p ServerValidateEventArgs c hai c thu tnh Value: Gi tr c a tru ng trn Form s du c ki m ch ng.

http://www.ebook.edu.vn

86

IsValid: Di n t vi c ki m ch ng cho k t qu thnh cng ho c sai.

Trong v d ti p theo ti s dua ra cch s d ng hm ki m ch ng Client-side k thp v i CustomValidator nhu th no, Trang ny ch ki m tra d di c a chu i nh p vo bn trong TextBox, nhung n s ki m tra trn c Server v Client.

Code 7.

< scrip t

runa t

="server" > objec t source,

voi CustomValidator1_ServerValidate d ( ServerValidateEventArg e) s { if (e.Value.Length 20) e.IsValid = else e.IsValid = } tru e ; > false ;

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e < scrip t functio n ="server" > > CustomValidato r language typ e ="text/javascript" >

="javascript "

valComments_ClientValidate(source, args)

{ if (args.Value.length 20) args.IsValid = else > false ;

http://www.ebook.edu.vn

87

args.IsValid = } < form < div > id ="form1" runa t >

tru e

;

="server" >

< asp : Label < br />

ID ="Label1 "

runa t

="server "

Text ="Ghi ch">

TextMod e

< asp : TextBo x ="MultiLine " Widt h

ID ="TextBox1 "

runa t >

="server "

Heigh t

="95px"

="218px"> ID ="Button1 " runa t ="server " Text

asp : CustomValidato r

>

< asp : Butto n

="Accept "

/>

VI .

i u khi ValidationSummary nghia

n

1.

http://www.ebook.edu.vn

88

ValidationSummary cho php b n li t k t t c cc cc l i ki m tra trn trang t di u khinh ng n validator vo m t v tr. i u khi n ny d c bi t ti n ch v i Form c d r ng l n. 2. cch s d ng B n dua di u khi n ValidationSummary vo Form v thi t l p cho n m t s thu c tnh DisplayMode: Cho php b n ch r d nh d ng hi n th l i, n c th l cc gi tr nhu BulletList, List, v SingleParagraph. HeaderText: Cho php b n hi n th tiu d tm t t cho cc l i. ShowMessageBox: Cho hi n th m t popup thng bo ShowSummary: Cho php b n n ValidationSummary trn trang. v d

sau:

3.

Code 8 ValidationSummary.aspx

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > ValidationSummar y

< bod y > < form < div > < asp : ValidationSummar y < tabl e > < tr > ID ="ValSummary " runa t ="server " /> id ="form1" runa t ="server" >

http://www.ebook.edu.vn

89

< td > < asp : Label tn">< / asp : Label > < td > < asp : TextBo x runa t ="server " ID ="txtHoten " runa t ="server">< / asp : TextBo x > ID ="Label1 " runa t ="server " Text =" H

< asp : RequiredFieldValidato r

ID ="RequiredFieldValidator1 "

ControlToValidat e

ErrorMessag ="B n ph i nh p h ="txtHoten"e *(Yu c u) tn" r < tr > < td > < asp : Label asp : Label > < td > < asp : TextBo x ID ="txtEmail " runa t ="server">< / ID ="Label2 " runa t ="server "

>

Text ="Email">< /

asp : TextBo x

>

runa t

="server "

< asp : RequiredFieldValidato r

ID ="RequiredFieldValidator2 "

ControlToValidat e

ErrorMessag ="B n ph i nh p hm ="txtEmail"e *(Yu c u) thu" r < asp : RegularExpressionValidat or runa ="server t " ErrorMessag e ="Hm thu b n nh p khng dng d nh d ng" >

>

ID ="RegularExpressionValidator 1"

ControlToValidat e

="txtEmail">< / < tr > < td colspa n ="2">

asp : RegularExpressionValidat or

http://www.ebook.edu.vn

90

< asp : Butto n

ID ="Button1 "

runa t

="server "

Text

="Accept "

/>

Code 8

Ch y v d trn n u ta khng nh p d li u cho cc tru ng n s thng bo l i nhu sau:

Cung v i v d trn n u trn di u khi n ValSummary ta thi t l p thu c tnh ShowMessageBox b ng True v ShowSummary v i gi tr b ng False th k t xu t c a v d v hi n th l m t danh sch l i trn Form th n hi n th m t popup thng bo thay nh ng l i trn trang.

Code 9

XHTML

1.0

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t ="server" >

http://www.ebook.edu.vn

91

< titl e

> ValidationSummar y

< bod y > < form < div > < asp : ValidationSummar ID ="ValSummary y runa ="server " t " < tabl e > < tr > < td > < asp : Label tn">< / asp : Label > < td > < asp : TextBo x runa t ="server " ID ="txtHoten " runa t ="server">< / asp : TextBo x > ID ="Label1 " runa t ="server " Text =" H ShowMessageBo x /> ="true " ShowSummar y ="false" id ="form1" runa t ="server" >

< asp : RequiredFieldValidato r

ID ="RequiredFieldValidator1 "

ControlToValidat e

ErrorMessag ="B n ph i nh p h ="txtHoten"e *(Yu c u) tn" r < tr > < td > < asp : Label asp : Label > < td > < asp : TextBo x ID ="txtEmail " runa t ="server">< / ID ="Label2 " runa t ="server "

>

Text ="Email">< /

asp : TextBo x

>

runa t

="server "

< asp : RequiredFieldValidato r

ID ="RequiredFieldValidator2 "

http://www.ebook.edu.vn

92

ControlToValidat e

ErrorMessag ="B n ph i nh p hm ="txtEmail"e *(Yu c u) thu" r < asp : RegularExpressionValidat or runa ="server t " ErrorMessag e ="Hm thu b n nh p khng dng d nh d ng" >

>

ID ="RegularExpressionValidator 1"

ControlToValidat e

="txtEmail">< / < tr > < td colspa n ="2">

asp : RegularExpressionValidat or

< asp : Butto n

ID ="Button1 "

runa t

="server "

Text

="Accept "

/>

K t xu t c a n:

http://www.ebook.edu.vn

93

VII .

T o cc di u khi n ki m tra tnh h p l theo mnh.

Trong ph n ny b n s h c t o cc di u khi n tu bi n nhu th no. Chng ta di u khisn.t dou tin s t o m t di u khi n ki m tra d di c a m t tru ng nh p li u trn LengthValidator, B n t o m i m t Control Ki m tra tnh h p l b ng cch d n Form xut tBaseValidator. L p BaseValidator l l p co s cho t t c cc di u khi n l p Validation,m bao g RequiredFieldValidator v RegularExpressionValidator L p c s l l p 1 l p ph i du c ci d t m yu c u b n ci d t m t phuo ng th c don.

EvaluateIsValid: Tr v gi tr True khi tru ng ki m tra tnh h p l trn Form l h p l. GetControlValidationValue: Cho php b n di n gi tr c a di u khi n s du c ki m tra tnh h p l .

Khi b n t o m t di u khi n ki m tra tnh h p l tu bi n, b n override phuo ng th c EvaluateIsValid() v trong phuong th c ny b n g i GetControlValidationValue d l y gi tru ng c n ki m tra tnh h p c a tr l . T o m t i LengthValidator. u khi n

Trong ph n ny b n s du c h c cch t o m t di u khi n don gi n d ki m tra d di c a tru ng nh p li u. Du i dy m m ngu LengthValidator.cs n c a l p

Code LenghtValidator.cs usin g usin g usin g System; System.Web.UI ;

10

System.Web.UI.WebControl s; myControl s

namespace { publi c {

class

LengthValidato r

:

BaseValidato r

http://www.ebook.edu.vn

in t

_maximumLength = 0;

94

publi c {

in t

MaximumLength

get { set } protecte d {

retur n

_maximumLength; } valu e ;}

{ _maximumLength =

overrid e

boo l

EvaluateIsValid( )

thi s

Strin value g = . GetControlValidationValu e( if (value.Length _maximumLength) retur n else retur n tru e ; false ;

thi s >

. ControlToValidate) ;

} } }

Trong L p do n m trn ta th y LengthValidator du c k th a t l p trong l pBaseValidator, phuo ng th c EvaluateIsValid. Gi tr c a di u khi n du c m i ny ghi d ki ng du c l y v v i phuo ng th c GetControlValidationValue V d di c a gi tr s m ch du c snh v so i thu c tnh MaximumLength. s d ng di u khi n LenghtValidator chng ta ph i dang k di u khi n ny u trang v idth ch d n . n u b n mu n s d ng LengthValidator cho nhi u b n c th da ng k di u khi n ny ph n trong file Web trang configuration. V d s LengthValidator d ng

Code 11

http://www.ebook.edu.vn

95

< html < head

xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e ="server" > > Use LenghtValidator

< bod y > < form < div > < asp : Label < br /> ID ="txtghichu " runa t > ="server " Heigh t ="67px" ID ="Label1 " runa t ="server " Text ="Ghi ch"> id ="form1" runa t ="server" >

TextMod e

< asp : TextBo x ="MultiLine " Widt h

="176px">

Ch d n , V i ti n t TagPrefix=Validator v Ch dn Namespace=MyControls v s d ng di u khi n ny gi ng v i cc di u khi n Validator khc.

Chuo ng 4. S d ng cc di u khi n khc.ph n d u c a chuo ng ny cc b n s du c h c s d ng di u khi n FileUpload d cho php chng ta dua cc file d li u ln Server, nhu l cc file nh, word hay excel chuong ny cc b n cung du c h c cc di u khi n khc nhu Calendar, AdRotator, Multiview, Wizard.

http://www.ebook.edu.vn

96

I.

File Upload.i u khi n FileUpload cho php ngu i s d ng Upload file t chnh ng d ng Web c a 1 no i no d c th l trn c ng hay

mnh .

File sau khi Upload c th luu tr trong Database .

i u khi n FileUpload h tr cc thu c tnh sau: Thu tnh Enabl e FileByte s FileConten t FileName HasFil e PostedFil e c nghia Cho php b n v hi u ho di FileUpload. u khi n

Cho php l y n i dung file d du c upload nhu m t m ng Byte. Cho php l y n i dung c a file d du c upload theo dng d li u L y tn file du c Upload Tr v gi tr dng khi File du c Upload Enables you to get the uploaded file wrapped in the HttpPostedFile object.

i u khi n FileUpload h tr cc phuong th c Focus: Enables you to shift the form focus to the FileUpload control. SaveAs: Cho php b n luu file du c upload ln h th ng.

Thu c tnh PostedFile c a di u khi n FileUpload cho php l y thng tin t File upload du c bao b c trong d i tu ng HttpPostedFile. d i tu ng ny s dua thm thng tin v Upload file. L p HttpPostedFile g m cc thu c tnh sau: ContentLength: L y v kch thu c c a File Upload tnh theo byte ContentType: l y ki u MIME c a File Upload FileName: cho php l y tn c a file du c upload. InputStream: Enables you to retrieve the uploaded file as a stream.

L p HttpPostedFile ch h tr phuong th c SaveAs: Cho php b n luu file du c upload ln h th ng. Upload 1 server file ln

Trong v d sau b n s du c h c cch Upload 1 file nh ln di a c ng c a Server.

http://www.ebook.edu.vn

97

Code 1a. Fileupload.aspx runa t < titl e < bod y > < form < div > < asp : Label < asp : FileUploa d < br /> ID ="Button1 " ="Button1_Click " runa t ID ="Label1 " runa t id ="form1" runa t ="server" > ="server" > > FileUploa d

XHTML

1.0

="server " runa t

Text ="Ch File">

>

ID ="FileUpload1 "

< asp : Butto n onclic k < hr < br /> />

="server " />

Text

="Add image"

Widt h

="92px"

< asp : DataLis t ' styl e < asp : Image =" widt : 200px" h < br

ID ="listImage " >

RepeatColumn s

="3 "

runa t

="server" >

ID ="Image1" ImageUrl Runa ="server /> t "

='

http://www.ebook.edu.vn

98

Code 1b.Fileupload.aspx.csusin g usin g usin g publi c { protecte d { } protecte d { strin g upload_folder MapPath( dir = = = new "~/Upload/ " DirectoryInf o ); voi d Page_PreRender() voi d Page_Load( objec t sender, EventArg s e) System; System.Data ; System.IO; partia l class _Default : System.Web.UI. Page

DirectoryInf o listImage.DataSource dir.GetFiles(); listImage.DataBind() ; } boo l { strin g switc h { case ".gif" retur n case ".png " ext = CheckFileType (

(upload_folder);

strin g

fileName)

Pat h

. GetExtension(fileName);

(ext.ToLower())

: tru e : tru e ; ;

retur n http://www.ebook.edu.vn

99

case

".jpg " retur n

: tru e : tru e ; ;

case

".jpeg " retur n

default retur n } } protecte d { voi d

: false ;

Button1_Click (

objec t

sender,

EventArg s

e)

if (FileUpload1.HasFile ) { if (CheckFileType(FileUpload1.FileName )) { strin g filepath = "~/Upload/ " + FileUpload1.FileName;

FileUpload1.SaveAs(MapPath(filepath) ); } } } } Gi i thch v d trn: Trong s ki n Button1_Click Ki m tra c t n t i File d Upload? N u dng th ki m tra ki m tra file upload c ph i dng d nh d ng c a nh khng b ng hm CheckFileType n u dng th s th c hi n vi c ghi file ln server v i phuong th c SaveAsu a khi c di n FileUpload.

II .

i u khi Calendar

n

B n c th hi n th m t l ch trn trang web c a mnh v i di u khi n Calendar V d sau s trnh by m t Calendar don gi n

Code 2.

http://www.ebook.edu.vn

100

XHTML 1.0

< html < head xmlns ="http://www.w3.org/1999/xhtml" > runa t < titl e < bod y > < form < div > < asp : Calendar