238
http://www.ebook.edu.vn 1 Chương 1. Gii thiu chung vcu trúc ASP.NET Framwork và cơ bn vC# I. Gii thiu chung vASPNetFramwork Trong giáo trình này chúng ta shc ASP.NET trên IDE VisualStdio2005(Bn có thsdng Viusal Web Develop 2005 ). Để to mt Wesite mi bn khi động VS. giao din ca nó shin ra như sau: Hình 1 Trong Box Recent Project bn chn “Web site…” dòng Create Hp thoi New Website hin ra bn chn ASP.NET WebSite ri chn thư mc bn để Website và ngôn ngkch bn để bn viết Web và nhn OK

Lap Trinh ASP.net Voi c#

Embed Size (px)

Citation preview

Chng 1. Gii thiu chung v cu trc ASP.NET Framwork v c bn v C#I. Gii thiu chung v ASPNetFramworkTrong gio trnh ny chng ta s hc ASP.NET trn IDE VisualStdio2005(Bn c th s dng Viusal Web Develop 2005 ). to mt Wesite mi bn khi ng VS. giao din ca n s hin ra nh sau:

Hnh 1 Trong Box Recent Project bn chn Web site dng Create Hp thoi New Website hin ra bn chn ASP.NET WebSite ri chn th mc bn Website v ngn ng kch bn bn vit Web v nhn OK

http://www.ebook.edu.vn

1

Hnh 2 VS s to ra mt website vi tn ca Website l tn bn va t v mc nh s c mt trang Default.aspx nh hnh sau:

Hnh 3

1. ASP.NET v .NET FRAMEWORK

http://www.ebook.edu.vn

2

ASP.NET l mt phn ca .NET FrameWork xy dng trang asp.NET bn cn thm vo cc c tnh ca .netframework. NetFrameWork cha ng hai phn FrameWork Class Library v Commom Language Runtime. 1.1 Hiu v Framework Class Library Framework cha ng hng nghn lp m bn c th s dng trong ng dng ca mnh. V d mt vi lp ca .Net Framework -Lp File: cho php bn to file, sa, xo hay kim tra s tn ti ca file trn a cng -Lp Graphics: Cho php bn lm vic vi nhiu kiu ca nh, bn cng c th to ra cc nh t cc phng thc trn lp ny. -Lp SmtpClient: Cho php bn gi th. Hiu v Namespaces: hn 13 nghn lp trong Netframework. y l mt con s rt ln, Microsoft chia cc lp cng x l v mt vn g vo cc khng gian tn chung hay namespaces. Mt Namespace n gin l mt danh mc, v d tt c cc lp thao tc vi File v th mc chng ta a vo mt namespaces chung gi l System.IO, hay tt c cc lp lm vic vi SqlServer c th a vo namespace System.Data.SqlClient. Cc namespaces chung nht trong net: . System . System.Collections . System.Collections.Specialized . 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.WebControls . System.Web.UI.WebControls.WebParts

http://www.ebook.edu.vn

3

1.2 Hiu v Assembly: Mt Assembly l mt file dll trn a cng ca bn, ni m lu tr cc lp ca .NET, v d tt c cc lp trong .ASP.NET Framework u nm trong Assembly System.web.dll. Trc khi s dng cc lp trong dll bn cn to mt tham chiu n file dll ny 1.3 Hiu v Commom Language Runtime(CLR) Phn th 2 ca NetFramework l CLR chu trch nhim v thc thi m ng dng ca bn. Khi bn vit ng dng bng ngn ng C#, VB.NET hay bng mt ngn ng bt k trn nn NetFramwork m ca bn s c khng bao gi bin dch trc tip thnh m my. Thay vo chng c bin dng sang ngn ng c t MSIL (Microsoft intermediate Language). MSIL nhn rt ging vi ngn ng hng i tng Assembly, nhng khng ging kiu ngn ng Assembly. MSIL l ngn ng bc thp v ph thuc vo Platform. Khi ng dng ca bn thc thi, m MSIL l just in time bin dch sang m my bi JITTER(just in time compiler) Nh vy khi bn vit cc lp trn .Net bng bt k ngn ng no khi bn bin dch sang Assembly bn u c th s dng Assembly cho cc ngn ng khc. 1.4 Hiu v cc iu khin trn Asp.net Cc iu khin asp.net l phn quan trng nht trong ASP.NET Framework. mt Control ASP.NET l mt lp m thc thi trn server v a ra ni dung trn trnh duyt. ASP.NET c hn 70 control m bn c th s dng trong xy dng ng dng web ca bn v c bn n chia ra cc nhm control sau: Standard control: bao gm cc iu khin a ra cc thnh phn chun ca form nh: Label, Button, TextBox Validator Control: l cc control cho php bn kim tra tnh hp l ca cc control cho php nhp gi tr trn form. Rich Control: l nhng iu khin nh FileUpload, Calendar Data Control l cc iu khin cho php thao tc vi d liu Navigation Control: l nhng iu khin gip bn d dng di chuyn gia cc trang trong website. Login control: L cc iu khin v bo mt ca ng dng cho php bn a ra cc form ng nhp, thay i mt khu HTML Control: cho php bn chuyn cc iu khin ca HTML thnh cc iu khin c th lm vic trn server. 1.5 hiu v iu khin s kin trn server

http://www.ebook.edu.vn

4

phn ln cc iu khin ca asp.net h tr 1 hoc nhiu s kin, v d iu khin ASP.NET Button h tr s kin Click, khi ngi s dng nhn chut vo Button mt s kin s c a ra v cng vic ny c x l trn server.

V d: Trang UnderstandEvent.aspx protected void Button1_Click(object sender, EventArgs e) { Label1.Text = TextBox1.Text; }

Hiu v s kin pha server

http://www.ebook.edu.vn

5

Trong v d trn gm 3 iu khin ca ASP.NET l TextBox, Label, v Button, mi khi ngi s dng nhp d liu vo Textbox v nhn vo Button s kin Button1_Click c a ra v in d liu t TextBox v Label.

1.6 Hiu v View StateGiao thc http l giao thc nn mng ca WWW, l mt giao thc chun thc t.mi ln bn request mt trang t website, mt d liu mi c a ra, ASP.NET Framework c th qun l c vt ra ngoi gii hn ca giao thc http, v d bn in d liu vo mt iu khin Label vi thuc tnh Text ca n, d liu ny s c lu tr qua nhiu trang web v ch thay i khi n c gn li gi tr. V d sau s a mt mt trang asp.net trong gm 2 iu khin Button v Label(Text ca n hin th s m), mi ln nhn vo Button th gi tr ca Label tng ln 1. V d trang Understandstate.aspx:

protected void Button1_Click(object sender,EventArgs e) { Label1.Text = Convert.ToString(int.Parse(Label1.Text) + 1); } Under Stand State

http://www.ebook.edu.vn

6

Nu bn m View Source code ca trang Understandstate.aspx trn bn s thy nh

sau:

y l 2 file hidden trong form n cha gi tr Text ca Label khi trang c postback n s ghi nh text v s khi to li gi tr ca Label khi trang Load.

1.7 Hiu v trang asp.netS dng Code-Behind Thay v s dng ngay trn trang asp.net. ngi ta a ra thm mt trang gi l Code-behind cha cc m lnh thc hin trn trang asp.net. V d nh phn u ca chng khi ta to ra mt website th mc nh s to ra mt lp Default.aspx v n s km theo mt trang Default.aspx.cs

Trang Default.aspx

Default

http://www.ebook.edu.vn

7

Trang Defautl.aspx.csusing System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }

1.8 iu khin s kin ca trang asp.netKhi chy trang asp.net th vng i ca trang asp.net gm cc s kin 1.PreInit 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 dng thuc tnh Page.IsPostBack Vi s kin Load ca trang th khi ti trang ln th c mt s kin no c a ra, nu c ngha mi ln load li trang n li thc hin cng vic , cn nu ta a thm vo thuc tnh Page.IsPostBack th ta c th iu khin c s kin no c thc hin v s kin no khng khi trang c ti li.

II C bn v lp trnh C# lp trnh trong trang ASP.NET1. Kiu d liu.C# a ra cc kiu d liu dng sn rt tin ch, ph hp vi mt ngn ng lp trnh hin i. Bng sau y s miu t mt s kiu d liu chnh trong C#

Kiu C# byte char bool sbyte short ushort int uint float

Kiu .Net Byte Char Boolean Sbyte Int16 Int16 Int32 Int32 Single

S Byte 1 2 1 1 2 2 4 4 4

M t s nguyn khng du t 0 n 255 Kiu k t Unicode Gi tr true/false S nguyn c du, t -128 n 127 S nguyn c du t -32768 n 32767 S nguyn khng du t 0 n 65.535 S nguyn c du 2.147.483.647 n 2.147.483.647 S nguyn khng du 0 n 4.294.967.295 kiu du chm ng, gi tr xp x t 3,4E-38 n

http://www.ebook.edu.vn

9

3,4E+38, vi 7 ch s c ngha. Double Double 8 Kiu du chm ng c chnh xc gp i, gi tr xp x t 1,7E-308 n 1,7E+308, vi 15,16 ch s c ngha Decimal Decimal 8 C chnh xc n 28 con s v gi tr thp phn, c dng trong tnh ton ti chnh, kiu ny i hi phi c hu t m hoc M km theo sau.

2. khai bo binC php: Kiu Tn_bin; V d: string giatri_chuoi; int giatri_nguyen; ch bin c th bao gm cc ch ci, ch s(khng c ng u) v k t _ (ni) bin trong C# phn bit ch hoa v ch thng.

3. S dng cc trnh bya. trnh by if if elseKhi bn cn kim tra mt iu kin no trc khi thc hin cng vic, hoc kim tra iu kin nu ng th lm vic cn khc th khng lm bn c th dng trnh by if if else c php: if(iu_kin) { //thc hin cng vic } if(iu_kin) { // thc hin cng vic 1 }

http://www.ebook.edu.vn

10

else { //thc hin cng vic 2 } Lu bn c th dng nhiu cp if else lng nhau:

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

b, S dng trnh by switch caseKhi cng vic c nhiu la chn v tu vo tng trng hp bn a ra cng vic ph hp vi iu kin a vo bn c th dng trnh by switch case. V d: string giatri = Request.QueryString["abc"]; switch (giatri) { case "a": //thuc hien cong viec a break; case "b": //thuc hien cong viec b

http://www.ebook.edu.vn

11

break; default: //thuc hien cong viec mac dinh break; }

c, S dng trnh by forV d string giatri; for (int i = 0; i < 10; i++) giatri += i.ToString(); MessageBox.Show(giatri); Khi lm vic vi mng hay trong trng hp thc hin mt cng vic trong khong no chng ta c th dng trnh by for.

d, S dng trnh by whilethc hin cng vic trong khi iu kin ng V d int i = 0; while (i < 5) { Console.WriteLine(i.ToString()); i++; }

e, S dng trnh by do whilengc li vi while do while lm vic cho n khi iu kin ng th thot. V d int i = 0;

http://www.ebook.edu.vn

12

do { MessageBox.Show(i.ToString()); i++; } while (i < 3);\

f, S dng trnh by break ( thot khi vng lp)V d int i = 0; do { MessageBox.Show(i.ToString()); i++; if (i == 1) break; } while (i < 3);

g, S dng trnh by continue.V d int j = 0; for ( int i = 0; i < 5; i++ ) { j++; if ( j > 2 ) { MessageBox.Show(j.ToString()); continue;

http://www.ebook.edu.vn

13

} }

h, S dng trnh by return(c s dng trong cc hm tr v gi tr c th cho hm) V d public int sum(int a, int b) { return a + b; }

k, S dng trnh by goto.V d int i = 0; int j = 0; while (i < 5) { i++; j++; if (j == 2) goto jumpeddoutofloop; } jumpeddoutofloop: Console.WriteLine("I jumped out");

4. Trang asp.netTrang asp.net c ui m rng l .aspx v km theo mt lp phc v n ng sau(Code behind).

http://www.ebook.edu.vn

14

vit code C# trong trang aspnet ta c th khai bo v s dng trc tip trong trang asp.net, trong file code behind, hoc t mt thnh phn th vin v ta gi vo.

4.1 Vit code C# trong file .aspx:v c bn bn dng cc cc th sau bn c th khai bo bin hoc vit cc hm, lp trong th ny, vi th ny bn dng gi gi tr ca bin hay ca 1 hm no , ly gi tr dng trang cc i tng rng buc d liu.

y l mt v d n gin Trang basic.aspx

Basic Bin abc ca bn va khai bo c gi tr

http://www.ebook.edu.vn

15

4.2

Vit code trong trang code behind

V trang aspnet ca chng ta k tha t trang aspx.cs ln trong trang .aspx chng ta mun gi d liu t bin hay hm trong file .aspx.cs chng ta phi khai bo vi b ng truy cp protected hoc public. V d sau: Trang codebehind.aspx

Untitled Page Gn gi tr:

Ly gi tr t code behind

http://www.ebook.edu.vn

16

Trang codebehind.aspx.csusing System; public partial class codebehind : System.Web.UI.Page { protected string _hello; protected void Page_Load(object sender, EventArgs e) { _hello = "Hello World"; lblhello.Text = _hello; } } Trong v d trn c s dng mt iu khin asp.net l Label cc bn s c hc trong chng sau, chng ny bn hiu n l mt iu khin hin th d liu. Bn thy trong phn code behind c khai bo mt bin _hello kiu string v b ng truy cp l protected trong s kin Page_Load(khi trang c ti ln) chng ta gn _hello = "Hello World"; v sau gn gi tr cho Label bng gi tr ca _hello. Cn trong trang .aspx chng ta c s dng th ly gi tr ca _hello in ra mn hnh. 4.3 to mt lp th vin to mt lp th vin phc v cho trang asp.net bn c th to mt thnh phn th vin ng DLL ri nhp tham chiu n n s dng(chng ta s hc n trong phn asp.net nng cao). Trong ng dng web ASP.NET Framework c mt ASP.NET FOLDER l App_Code cho php chng ta vit cc lp th vin y v c th s dng trong cc trang ca ng dng web. to th mc App_code bn lm theo cc bc sau y: bc 1: nhn chut phi vo Solution v chn theo ng dn ca nh di y.

http://www.ebook.edu.vn

17

Trong ng dng web ca chng ta s thm vo mt th mc App_code

ti y chng ta c th vit vo cc lp th vin. to mt lp th vin trong th mc ny chng ta nhn chut phi vo th mc App_code ri chn Add New Item

http://www.ebook.edu.vn

18

Form Add New Item hin ra

Add.

Bn chn Class v trong hp TextBox Nam bn nhp tn lp mun to v nhn nt

a, nh ngha lp:Khai bo: [Thuc tnh] [b sung truy cp] Class [Tn lp] : [Lp c s] { //cc bin, phng thc hay thuc tnh ca lp } V d: Lp HelloWorld.cs class HelloWorld { public string SayMessage() { return "Hello World";

http://www.ebook.edu.vn

19

} } Trong v d trn phng thc SayMessage s v chui Hello World.

b, S dng nh ngha truy cpPublic: mt lp, mt phng thc, hay thuc tnh khi s dng t kho ny s khng b hn ch truy cp Protected: Lp, Phng thc, Thuc tnh ch c s dng lp ny hoc lp c dn xut. Internal: Mt lp, phng thc, thuc tnh Internal ch c truy cp trong mt thnh phn Assembly(file DLL). Private: Mt lp Private, phng thc hoc thuc tnh ch c th truy cp ti chnh lp .

c, Hm v th tcBn c th hiu n gin hm phi c gi tr tr v cn th tc nh mt on m ch thc hin khi c chng ta gi. th tc cn c gi l hm khng kiu, hm v th tc trong C# gi chung l phng thc. V d hm: public static int Sum(int _a, int _b) { return _a + _b; } Trn l mt hm dng tnh tng ca hai s, nh bn thy tr v d liu cho hm chng ta dng t kho return, b sung truy cp public c ngha hm c s dng trong ton ng dng, t kho static y l mt phng thc tnh ln c th s dng m khng cn phi khai bo khi to i tng V d v th tc public static void HelloProcedure(string _bien) { System.Web.HttpContext.Current.Response.Write(_bien); } S dng lp HellWorld trong trang aspx ca chng ta Trang UseHelloworld.aspx

http://www.ebook.edu.vn

20

S dng Lp Hello World trong th mc App_Code Trang UseHelloworld.aspx.cs using System; public partial class UseHelloworld : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { lblHello.Text = HelloWorld.sayMessage(); } } V phng thc sayMessage trong lp HelloWorld l mt phng thc tnh ln ta khng cn khi to lp s dng.

5. C bn v lp trong C#5.1 Khai bo Field v thuc tnh

http://www.ebook.edu.vn

21

V d v Field public class HelloWorld { public string _Message; public string SayMessage() { return _Message; } } Trong on m trn bn thy Field _Message c khai bo kiu string v b ng truy cp l public, v _Message c tr v gi tr bi phng thc SayMessage(). V d v thuc tnh public class HelloWorld { public string _Message; public string Message { get { return _Message; } set { _Message = value; } } } Mt thuc tnh Message c khai bo trn gm 2 phng thc get tr v gi tr cho Message v phng thc set thit lp gi tr cho Message. Thuc tnh Message trn l phng thc va c va ghi. nu bn xy dng thuc tnh ch c th bn ch cung cp phng thc get hay thuc tnh ch ghi bn cung cp cho thuc tnh phng thc set.

5.2 Phng thc khi dng ca lpPhng thc khi dng l phng thc c bit ca lp, n c gi t ng khi khi to mi lp .bn s dng phng thc khi dng khi to cc private fields cha ng trong lp. Phng thc khi dng ca lp phi trng vi tn ca lp, 1 phng thc ca lp c th c i s hoc khng c i s, v c th c nhiu phng thc khi dng cho lp nhng cc i s trong cc phng thc phi khc nhau. V d:

http://www.ebook.edu.vn

22

Xy dng lp: Construction.cs using System; public class Construction { int _giatri1; int _giatri2; public Construction() { _giatri1 = 0; _giatri2 = 0; } public Construction(int _giatri1, int _giatri2) { this._giatri1 = _giatri1; this._giatri2 = _giatri2; } public int Sum() { return _giatri1 + _giatri2; } } Trong lp ny chng ta xy dng hai phng thc khi dng mt phng thc khng c i s v mt phng thc c i s, v mt hm tnh tng ca 2 gi tr n c s dng trang trang asp.net nh sau: Trang UseConstruction.aspx

http://www.ebook.edu.vn

23

S dng phng thc khi dng ca lp Trang UseConstruction.aspx.cs using System; public partial class UseConstruction : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Construction construc = new Construction(5, 6); lblhello.Text = "Gi tr l: " + construc.Sum().ToString(); } }

5.3 Overloading phng thcKhi mt phng thc c overloaded c ngha l hai phng thc c tn trng nhau nhng cc i s ca n phi khc nhau. Khi trong lp ca bn c cc phng thc overload th bn gi hm VS s xut hin nh sau bn c th d dng chn c phng thc mnh cn gi.

http://www.ebook.edu.vn

24

V d: Bn to mt lp Lp UseOverload.cs using System; public class UseOverload { public static int Sum(int a, int b) { return a + b; } public static int Sum(int a, int b, int c) { return a + b + c; } public static int Sum(int a, int b, int c, int d) { return a + b + c + d; } } Trong lp ny gm 3 hm tnh tng ln lt c a vo 2,3,4 i s S dng lp ny trong trang ASP.NET Trang Overloading.aspx

http://www.ebook.edu.vn

25

Untitled Page Chng ho phng thc tnh tng Tng 2 s:

Tng 3 s:

Tng 4 s:

Trang Overloading.aspx.cs using System;

public partial class Overloading : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { lbl2so.Text = UseOverload.Sum(5, 5).ToString(); lbl3so.Text = UseOverload.Sum(5, 5, 5).ToString(); lbl4so.Text = UseOverload.Sum(5, 5, 5, 5).ToString(); }

http://www.ebook.edu.vn

26

} Trong lp ny bn gi ln lt cc phng thc tnh tng vi 2,3,4 i s truyn gi tr vo cc Label tng ng cng tn. Kt xut ca chng trnh:

5.4 Khai bo khng gian tn (Namespaces) Nu bn tng lp trnh java chc hn bn quen vi khi nim packed m bn ng gi cc lp m bn xy dng c c tnh chung(miu t hay x l vn g ). Trong .Net cng vy t kho Namespaces cng c nhim v nh packed trong java. .Net cung cp cho chng ta cc Namespaces nh: using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; V s dng cc Namespaces trong C# bn cn s dng t kho using. Mt Namespaces c th cha cc Namespaces con, v trong Namespace con nht cha cc lp thnh vin V d Bn to ra hai lp php cng v php tr thc hin cc php ton tng ng nh sau: Lp Phepcong.cs using System; namespace iTechPro.Tinhtoan { public class Phepcong

http://www.ebook.edu.vn

27

{ public static int Sum(int a, int b) { return a + b; } } } V lp Pheptru.cs using System;

namespace iTechPro.Tinhtoan { public class Pheptru { public static int Minus(int a, int b) { return a - b; } } } Nh bn thy hai lp ny nm trong Namespaces iTechPro.Tinhtoan, th iTechPro l Namespaces ln nht, cn Namespaces Tinhtoan l con ca iTechPro v trong tnh ton cha cc lp Phepcong v Pheptru. S dng Namespaces ny trong trang asp.net Trang Namespaces.aspx

http://www.ebook.edu.vn

28

Untitled Page Khai bo v s dng Namespaces Lp php cng:

Lp php tr: Lp Namespaces.aspx.cs using System; using iTechPro.Tinhtoan; public partial class Namespaces : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { lblcong.Text = Phepcong.Sum(5, 5).ToString(); lbltru.Text = Pheptru.Minus(5, 5).ToString(); } }

http://www.ebook.edu.vn

29

Nh v d trn bn thy chng ta s dng namespace iTechPro.Tinhtoan ging vi cc Namespace khc m Microsoft cung cp cho chng ta. Kt xut ca chng trnh

5.5 Lp Partial.Net cho php chng ta to ra mt lp trong nhiu file khc nhau mi File cung cp hay x l mt cng vic g trn lp . V d sau y chng ta s to mt lp Calculator vi 2 phng thc cng v tr nm trn hai File khc nhau. File Calminus.cs using System;

namespace iTechPro.Tinhtoan { public partial class Calculator { public static int Minus(int a, int b) { return a - b; } } } File Calsum.cs using System; namespace iTechPro.Tinhtoan

http://www.ebook.edu.vn

30

{ public partial class Calculator { public static int Sum(int a, int b) { return a + b; } } } Nh cc bn thy hai file Calsum v Calminus cha ng cng mt tn lp Calculator v trong mi File cha ng mt phng thc ring l thnh phn ca lp . S dng lp ny hon ton ging vi vic s dng mt lp khc. File UsePartial.aspx S dng lp Partial Lp Partial Kt qu cng:

Kt qu tr:

http://www.ebook.edu.vn

31

V File UsePartial.aspx.cs using System; using iTechPro.Tinhtoan; public partial class UsePartial : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { lblcong.Text = Calculator.Sum(5, 5).ToString(); lbltru.Text = Calculator.Minus(5, 5).ToString(); } }

5.6 K tha v tru tng ho mt lpKhi mt lp c k tha t mt lp th 2 th n c tha hng tt c cc thuc tnh v phng thc khng private t lp th nht. K tha c s dng thng sut trong .NetFrameWork, v d trong tt c cc trang ASP.NET u c k tha t Lp System.Web.UI.Page v tt c cc lp trong .Net u c dn xut t lp c s System.Object. V d sau chng ta s a ra 2 lp TelevisionProduct v ComputerProduct c k tha t lp BaseProduct. V d: using System; public class BaseProduct { decimal _price; public decimal Price

http://www.ebook.edu.vn

32

{ get { return _price; } set { _price = value; } } } public class ComputerProduct : BaseProduct { string _processor; public string Processor { get { return _processor; } set { _processor = value; } } } public class TelevisionProduct : BaseProduct { bool _isDHTV; public bool isDHTV { get { return _isDHTV; } set { _isDHTV = value; } } } Trong v d trn bn thy hai lp ComputerProduct v TelevisionProduct c k tha t lp BaseProduct, trong lp BaseProduct c thuc tnh Price ln hai lp k tha s c k tha thuc tnh ny. Khi k tha t mt lp khc, bn c th overload cc thuc tnh v phng thc trong lp ny. Overloading mt thuc tnh hay phng thc l mt tin ch khi bn mun thay i cc ng x ca phng thc hay thuc tnh trong lp ny.

http://www.ebook.edu.vn

33

Overload mt phng thc hay thuc tnh t lp c s, th thuc tnh hay phng thc ny phi c nh du vi t kho vitual hay abstract ca C# hay trong VB.NET l Overridable hoc MustOverride. V d, chng ta s a ra hai lp ProductBase v OnSaleProduct c k tha t lp ProductBase nhng n s overload mt thuc tnh t lp ProductBase. V d: using System; public class ProductBase { decimal _price; public virtual decimal Price { get { return _price; } set { _price = value; } } } public class OnSaleProduct : ProductBase { public override decimal Price { get{ return base.Price / 2;} set{base.Price = value;} } }

Trong v d trn Lp OnSaleProduct c k tha t lp ProductBase v Override thuc tnh Price, lp ny mun ch ra gi bng mt na lp c s. ch vi VB.NET th t kho base l MyBase. Bn c th dng t kho abstract khi khai bo mt lp nh nh du lp ny yu cu k tha. Bn khng th to i tng mt lp tru tng, s dng mt lp tru tng bn phi dn xut mt lp mi t lp tru tng v to i tng trong lp dn xut. V d:

http://www.ebook.edu.vn

34

public abstract class BaseEmployee { public abstract decimal Salary { get; }

public string Company { get { return "iTechPro"; } } } public class SaleEmployee:BaseEmployee { public override decimal Salary { get { return 66.666; } } } Trong v d trn bn thy Lp SaleEmployee c k tha t lp BaseEmployee v Overload thuc tnh Salary.

5.7 Khai bo Interface:Mt giao din m mt danh sch cc thuc tnh hay phng thc m lp k tha phi ci t. nu mt lp ci t mt giao din, th lp ny s cha tt c cc thuc tnh cng nh phng thc ca giao din ny. V d: using System; public interface IProduct {

http://www.ebook.edu.vn

35

decimal Price { get; } void SaveProduct(); } public class MusicProduct : IProduct { public decimal Price { get { return 20.99m; } } public void SaveProduct() { //Save Music Product } } public class BookProduct : IProduct { public decimal Price { get { return 23.99m; } } public void SaveProduct() { //Save Book Product } }

http://www.ebook.edu.vn

36

Chng 2. S dng cc iu khin StandardTrong chng ny cc bn s hc cc iu khin c bn ca ASP.NET Framework, y l nhng iu khin m bn thng xuyn s dng trong ng dng web ca mnh.

I. iu khin hin th thng tin1. Label Mt s thuc tnh

Tn thuc tinh BackColor BorderColor BorderStyle

nh hng Cho php thay i mu nn ca Label Cho php thit lp ng vin ca Label Hin th ng vin ca Label theo cc dng Notset, None, Dotted, Dashed, Solid, Double, Groove, Ridge, Insert v OutSet.

cssClass Font ForeColor Style ToolTip ID

Cho php a vo mt lp css Thit lp thuc tnh ca Font Thit t mu ch ni dung ca Label Cho php gn cc thuc tnh cho Label Hin th ni dung khi di chut vo iu khin Label Tn ca iu khin

Tuy iu khin Label cha ng rt nhiu thuc tnh kt xut hin th nhng vi kinh nghim ca mnh trong qu trnh thit k Web ti khuyn bn ln s dng thuc tnh cssClass s dng mt lp css. V d: Gn thuc tnh trc tip S dng cssClass Kt qu

2, iu khin Literal Ging vi iu khin Label bn c th dng Literal trnh by Text hoc ni dung Html. Literal h tr mt thuc tnh m Label khng h tr l: thuc tnh Mode gm 3 gi tr l: Pass through, Endcode, transform. V d

Hin th:

II iu khin cho php ngi dng nhp liu1, iu khin TextBox Bng cc thuc tnh: Thuc tnh

http://www.ebook.edu.vn

38

Textmode

Kiu hin th ca Textbox gm 3 gi tr: SingleLine- hin th 1 trng nhp liu trn 1 dng, MultiLine- hin th 1 trng nhp liu nhiu dng, Password- hin th 1 trng nhp m Text s c thay th bng cc k t c bit

AccessKey

Cho pheps bn ch nh phm di chuyn ti control TextBox

AutoCompleteType

Cho php bn kt hp vi mt lp autoComplete vi iu khin TextBox.

AutoPostBack

Cho php gi d liu ln server khi ni dung ca TextBox thay i.

Columms Enabled MaxLength

Cho php ch nh s ct c hin th trong TextBox Cho php hay khng cho php nhp liu trn TextBox Cho php quy inh di ca d liu m mt ngi s dng c th nhp trn TextBox

ReadOnly

Cho php ch a d liu ra TextBox ch khng nhp d liu vo.

Rows TabIndex Wrap

Cho php ch nh s dng hin th trong TextBox Cho php ch nh th t Tab ca TextBox Cho php ch nh c word-wraps khng khi thit lp thuc tnh TextMode l Multiline

iu khin TextBox h tr phng thc v s kin sau: - Focus: cho php thit lp form khi to u tin ti TextBox - TextChanged: Xy ra trn Server khi ni dung TextBox thay i. s kin ny xy ra bn cn thit t thuc tnh AutoPostback l true. 2. S dng iu khin CheckBox Cc thuc tnh AccessKey Enables you to specify a key that navigates to the TextBox contro AutoPostBack nablesyou to post the form containing the CheckBox back to the

http://www.ebook.edu.vn

39

server automatically when the CheckBox is checked or unchecked Checked Cho php bn gn hoc thit t trng thi chn hay khng chn ca CheckBox Enabled TabIndex Text TextAlign Cho php hoc 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 Left and Right.

CheckBox h tr phng thc va s kin - Focus: Enables you to set the initial form focus to the check box. - CheckedChanged: Raisedontheserverwhenthecheckboxischeckedorunchecked. 3. iu khin RadioButton iu khin RadioButton lun c s dng trong mt nhm v trong nhm ch mt RadioButton c chn Cc thuc tnh Thuc tinh AccessKey Enablesyou to specify a key that navigates to the RadioButton control AutoPostBack 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. Enabled GroupName Enables you to disable the RadioButton Enables you to group RadioButton controls

http://www.ebook.edu.vn

40

TabIndex Text TextAlign

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 phng thc v s kin - Focus: Enables youto set the initial form focus to the RadionButton control. - CheckedChanged: Raised on the server when the unchecked.

III. Submitting Form Data1. iu khin Button Cc thuc tnh:

AccessKey CommandArgument CommandName Enabled OnClientClick PostBackUrl TabIndex Text UseSubmitBehavior

Cho php ch nh phm di chuyn ti iu khin Button. Cho php bn ch r i s c truyn ti lnh thc hin. Ch nh tn mt lnh c truyn ti trong Command Event. Cho php v hiu ho iu khin Button Cho php ch nh n mt hm pha client khi nhn vo Button. Cho php tr d liu ln mt trang khc. Ch nh th t tab ca Button. Ni dung text hin th trn iu khin Button. Cho php s dng javascript tr d liu ln mt form.

Cc phng thc v s kin - Focus: Cho php thit lp khi khi to Form u tin iu khin TextBox. - Click: Xy ra khi iu khin Button c nhn.

http://www.ebook.edu.vn

41

- Command: Xy ra khi iu khin Button c nhn. CommandName v CommandArgument c truyn qua s kin. 2. iu khin LinkButton: cc phng thc v thuc tnh ging vi iu khin Button nhng cch hin th ca n di dng Text ging nh th ca HTML v c th p dng thuc tnh css ca th cho i tng LinkButton. Hc vin t tm hiu thm 3. iu khin ImageButton Cc thuc tnh v phng thc ca iu khin Button v thm vo mt s thuc tnh

Thuc tnh ImageUrl ImageAlign Ch n ng dn ca nh Cho php cn chnh nh trong ImageButton cc gi tr ca n c th l: AbsBottom, AbsMiddle, Baseline, Bottom, Left, Middle, NotSet, Right, TextTop, and Top.

4. S dng Client Scripts vi iu khin Button C ba iu khin Button trn u c thuc tnh OnClientClick, bn c th s dng thuc tnh ny thc hin m pha Client m bn cn khi iu khin Button c nhn.

V d.

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

http://www.ebook.edu.vn

42

}

iTechPro
Gii thch v d: trn on m trn trong form gm 2 iu khin Button v Label. Trong iu khin Button ta gn vo 2 s kin: OnClientClick pha Clien, v OnClick pha Server OnClientClick s thc hin khi ngi dng pha Client nhn vo Button, trong m Client trnh by mt hm confirm trong javascript vi mc nh hi ngi dng xc nhn vic thc hin no Bn c chc chn? nu ngi dng chn OK th S kin th 2 OnClick s c thc hin cn nu chn Cancel th s kin pha Server khng c thc hin. 5. Thc hin chuyn trang Mc nh khi bn nhn vo Button n s thc hin cng vic ngay trn trang v trang ca chng ta s Load li mt ln nhng bn c th s dng thuc tnh PostBackUrl chuyn sang mt trang khc. V d bn c mt trang ButtonSearch.aspx

http://www.ebook.edu.vn

43

iTechPro

Trong thuc tnh PostBackUrl ca iu khin btnSearch s chuyn sang trang ButtonSearchResult

void Page_Load(object sender, EventArgs e) { if (PreviousPage != null) { TextBox txtSearch = (TextBox)PreviousPage.FindControl("txtSearch");

http://www.ebook.edu.vn

44

lblSearch.Text = txtSearch.Text; } } iTechPro

Trong on m trn ta phng thc FindControl ca PreviousPage n s tm n iu khin trn trang ButtonSearch.aspx m ta cung cp ID ca n.

6. Ch nh mt Button mc nh. V d trn trang ca bn c nhiu iu khin Button, khi nhp d liu bn li quen nhp xong d liu v nhn nt Enter trn bn phm, bn c th mc nh nt cp nht d liu lm mc nh khi nhn phm Emter. Nh v d di y.

void btnXacnhan_Click(object sender,EventArgs e)

http://www.ebook.edu.vn

45

{ lblThongbao.Text = txtHoten.Text; }

iTechPro

7. iu khin Command Event

http://www.ebook.edu.vn

46

S khc nhau gia Command Event v Command Click l trong Command Event bn c th cung cp Command Name v Command argument Trong cc v d trc ti ly v d v s kin Command Click nn by gi ti s ly mt v d v Command Event bn so snh. V d trn trang bn c 3 iu khin Button nh v d di y:

void hcubiuChon(object sender, CommandEventArgs e) { if (e.CommandName == "language") { switch (e.CommandArgument.ToString()) { case "C#": lblComandEvent.Text = "CShap"; break; case "VBNET": lblComandEvent.Text = "VB.NET"; break; case "JAVA": lblComandEvent.Text = "Java"; break; } } }

http://www.ebook.edu.vn

47

iTechPro Bn chn ngn ng:

C ba iu khin Button trn u cha Tn lnh v i s lnh v tu thuc vo i s lnh khc nhau ta c th thc hin mt cng vic tng ng.

IV. iu khin hin th nh ASPNET bao gm 2 iu khin hin th nh. iu khin Image v ImageMap. 1. iu khin Image. iu khin ny dng hin th nh ging vi th trong HTML Cc thuc tnh quan tm Thuc tnh

http://www.ebook.edu.vn

48

AlternateText DescriptionUrl

Ni dung thay th khi li ng dn ca nh Cho php bn cung cp mt ng dn n trang miu t chi tit ni dung ca nh

ImageAlign

Cho php cn chnh nh ln quan ti cc thnh phn HTML khc trong trang v n c th l cc gi tr sau:AbsBottom, AbsMiddle, Baseline, Bottom, Left, Middle, NotSet, Right, TextTop, and Top.

ImageUrl V d

ng dn ca nh trn iu khin

void Page_Load(object sender, EventArgs e) { Random rnd = new Random(); switch (rnd.Next(3)) { case 0: Image1.ImageUrl = "Images/images1.jpg"; Image1.AlternateText = "Picture 1"; break; case 1: Image1.ImageUrl = "Images/images2.jpg"; Image1.AlternateText = "Picture 2"; break; case 2: Image1.ImageUrl = "Images/images3.jpg"; Image1.AlternateText = "Picture 3"; break;

http://www.ebook.edu.vn

49

} }

iTechPro

2. iu khin ImageMap Cho php bn to bn nh trn 1 nh hin th trn trang web m ngi dng pha Client c th chn vo mt vng ca nh thc hin mt cng vic no . V d

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

iTechPro Cc thuc tnh ca ImageMap ging vi Image v thm vo hai thuc tnh l: - HotSpots: cho php bn in tp hp thng tin ca HotSpots c cha ng trong iu khin ImageMap.

http://www.ebook.edu.vn

52

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

V. iu khin PanelKhi bn cn a cc iu khin trang vo mt nhm gii thch ngha cho nhm hoc c th l n hoc hin nhm iu khi nhn 1 s kin no trn trang ca bn, bn c th dng iu khin panel. Mt s thuc tnh ca iu khin panel m bn cn lu l: - DefaultButton: Cho php bn nh ngha mt button mc nh trong panel m button mc nh ny s c thc hin khi bn nhn phm Enter - Direction: Cho php bn gn hoc thit t hng hin th ni dung c a ra trong panel, c th l cc gi tr:NotSet, LeftToRight, and RightToLeft. - GroupingText: Cho php bn trnh by Panel nh 1 Fieldset vi mt ch gii ring bit - HorizontalAlign: Cho php bn ch ra hng ngang th hin ni dung ca panel v n c th l cc gi tr: Center, Justify, Left, NotSet, and Right. - ScrollBars: Cho php bn hin th scrollbars khi bn c nh chiu cao hoc chiu rng ca panel v ni dung trong panel vt qu rng hoc cao , n c th l cc gi tr: Auto, Both, Horizontal, None, and Vertical. V d

void Page_Load(object sender, EventArgs e) { for (int i = 1; i < 100; i++) { buletnghenghiep.Items.Add("Ngh "+i.ToString()); } }

http://www.ebook.edu.vn

53

void hcubiuSothich(object sender, EventArgs e) { if (chkhtsothich.Checked == true) panelsothich.Visible = true; else panelsothich.Visible = false; }

void hcubiuNghenghiep(object sender, EventArgs e) { if (chkhtnghenghiep.Checked == true) panelnghenghiep.Visible = true; else panelnghenghiep.Visible = false; }

iTechPro

http://www.ebook.edu.vn

54





http://www.ebook.edu.vn

55

VI. iu khin HyperLinkiu khin HyperLink cho php to 1 link ti trang web khc, khng ging vi LinkButton, HyperLink khng trnh d liu ln server.

Chng 2. S dng cc iu khin StandardTrong chng ny cc bn s hc cc iu khin c bn ca ASP.NET Framework, y l nhng iu khin m bn thng xuyn s dng trong ng dng web ca mnh.

I. iu khin hin th thng tin1. Label Mt s thuc tnh

Tn thuc tinh BackColor BorderColor BorderStyle

nh hng Cho php thay i mu nn ca Label Cho php thit lp ng vin ca Label Hin th ng vin ca Label theo cc dng Notset, None, Dotted, Dashed, Solid, Double, Groove, Ridge, Insert v OutSet.

cssClass Font ForeColor Style ToolTip ID

Cho php a vo mt lp css Thit lp thuc tnh ca Font Thit t mu ch ni dung ca Label Cho php gn cc thuc tnh cho Label Hin th ni dung khi di chut vo iu khin Label Tn ca iu khin

http://www.ebook.edu.vn

56

Tuy iu khin Label cha ng rt nhiu thuc tnh kt xut hin th nhng vi kinh nghim ca mnh trong qu trnh thit k Web ti khuyn bn ln s dng thuc tnh cssClass s dng mt lp css. V d: Gn thuc tnh trc tip S dng cssClass Kt qu

2, iu khin Literal Ging vi iu khin Label bn c th dng Literal trnh by Text hoc ni dung Html. Literal h tr mt thuc tnh m Label khng h tr l: thuc tnh Mode gm 3 gi tr l: Pass through, Endcode, transform. V d

http://www.ebook.edu.vn

57

Hin th:

II iu khin cho php ngi dng nhp liu1, iu khin TextBox Bng cc thuc tnh: Thuc tnh Textmode Kiu hin th ca Textbox gm 3 gi tr: SingleLine- hin th 1 trng nhp liu trn 1 dng, MultiLine- hin th 1 trng nhp liu nhiu dng, Password- hin th 1 trng nhp m Text s c thay th bng cc k t c bit AccessKey Cho pheps bn ch nh phm di chuyn ti control TextBox AutoCompleteType Cho php bn kt hp vi mt lp autoComplete vi iu khin TextBox. AutoPostBack Cho php gi d liu ln server khi ni dung ca TextBox thay i. Columms Enabled MaxLength Cho php ch nh s ct c hin th trong TextBox Cho php hay khng cho php nhp liu trn TextBox Cho php quy inh di ca d liu m mt ngi s dng c th nhp trn TextBox ReadOnly Cho php ch a d liu ra TextBox ch khng nhp d liu vo. Rows TabIndex Wrap Cho php ch nh s dng hin th trong TextBox Cho php ch nh th t Tab ca TextBox Cho php ch nh c word-wraps khng khi thit lp thuc tnh TextMode l Multiline iu khin TextBox h tr phng thc v s kin sau:

http://www.ebook.edu.vn

58

- Focus: cho php thit lp form khi to u tin ti TextBox - TextChanged: Xy ra trn Server khi ni dung TextBox thay i. s kin ny xy ra bn cn thit t thuc tnh AutoPostback l true. 2. S dng iu khin CheckBox Cc thuc tnh AccessKey Enables you to specify a key that navigates to the TextBox contro AutoPostBack nablesyou to post the form containing the CheckBox back to the server automatically when the CheckBox is checked or unchecked Checked Cho php bn gn hoc thit t trng thi chn hay khng chn ca CheckBox Enabled TabIndex Text TextAlign Cho php hoc 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 Left and Right.

CheckBox h tr phng thc va s kin - Focus: Enables you to set the initial form focus to the check box. - CheckedChanged: Raisedontheserverwhenthecheckboxischeckedorunchecked. 3. iu khin RadioButton iu khin RadioButton lun c s dng trong mt nhm v trong nhm ch mt RadioButton c chn Cc thuc tnh Thuc tinh

http://www.ebook.edu.vn

59

AccessKey

Enablesyou to specify a key that navigates to the RadioButton control

AutoPostBack

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.

Enabled GroupName TabIndex Text TextAlign

Enables you to disable the RadioButton 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 phng thc v s kin - Focus: Enables youto set the initial form focus to the RadionButton control. - CheckedChanged: Raised on the server when the unchecked.

III. Submitting Form Data1. iu khin Button Cc thuc tnh:

AccessKey CommandArgument CommandName Enabled OnClientClick PostBackUrl

Cho php ch nh phm di chuyn ti iu khin Button. Cho php bn ch r i s c truyn ti lnh thc hin. Ch nh tn mt lnh c truyn ti trong Command Event. Cho php v hiu ho iu khin Button Cho php ch nh n mt hm pha client khi nhn vo Button. Cho php tr d liu ln mt trang khc.

http://www.ebook.edu.vn

60

TabIndex Text UseSubmitBehavior

Ch nh th t tab ca Button. Ni dung text hin th trn iu khin Button. Cho php s dng javascript tr d liu ln mt form.

Cc phng thc v s kin - Focus: Cho php thit lp khi khi to Form u tin iu khin TextBox. - Click: Xy ra khi iu khin Button c nhn. - Command: Xy ra khi iu khin Button c nhn. CommandName v CommandArgument c truyn qua s kin. 2. iu khin LinkButton: cc phng thc v thuc tnh ging vi iu khin Button nhng cch hin th ca n di dng Text ging nh th ca HTML v c th p dng thuc tnh css ca th cho i tng LinkButton. Hc vin t tm hiu thm 3. iu khin ImageButton Cc thuc tnh v phng thc ca iu khin Button v thm vo mt s thuc tnh

Thuc tnh ImageUrl ImageAlign Ch n ng dn ca nh Cho php cn chnh nh trong ImageButton cc gi tr ca n c th l: AbsBottom, AbsMiddle, Baseline, Bottom, Left, Middle, NotSet, Right, TextTop, and Top.

4. S dng Client Scripts vi iu khin Button C ba iu khin Button trn u c thuc tnh OnClientClick, bn c th s dng thuc tnh ny thc hin m pha Client m bn cn khi iu khin Button c nhn.

V d.

http://www.ebook.edu.vn

61

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

iTechPro
Gii thch v d: trn on m trn trong form gm 2 iu khin Button v Label. Trong iu khin Button ta gn vo 2 s kin: OnClientClick pha Clien, v OnClick pha Server OnClientClick s thc hin khi ngi dng pha Client nhn vo Button, trong m Client trnh by mt hm confirm trong javascript vi mc nh hi ngi dng xc nhn vic thc hin no Bn c chc chn? nu ngi dng chn OK th S kin th 2 OnClick s c thc hin cn nu chn Cancel th s kin pha Server khng c thc hin.

http://www.ebook.edu.vn

62

5. Thc hin chuyn trang Mc nh khi bn nhn vo Button n s thc hin cng vic ngay trn trang v trang ca chng ta s Load li mt ln nhng bn c th s dng thuc tnh PostBackUrl chuyn sang mt trang khc. V d bn c mt trang ButtonSearch.aspx

iTechPro

Trong thuc tnh PostBackUrl ca iu khin btnSearch s chuyn sang trang ButtonSearchResult

http://www.ebook.edu.vn

63

void Page_Load(object sender, EventArgs e) { if (PreviousPage != null) { TextBox txtSearch = (TextBox)PreviousPage.FindControl("txtSearch"); lblSearch.Text = txtSearch.Text; } } iTechPro

Trong on m trn ta phng thc FindControl ca PreviousPage n s tm n iu khin trn trang ButtonSearch.aspx m ta cung cp ID ca n.

6. Ch nh mt Button mc nh.

http://www.ebook.edu.vn

64

V d trn trang ca bn c nhiu iu khin Button, khi nhp d liu bn li quen nhp xong d liu v nhn nt Enter trn bn phm, bn c th mc nh nt cp nht d liu lm mc nh khi nhn phm Emter. Nh v d di y.

void btnXacnhan_Click(object sender,EventArgs e) { lblThongbao.Text = txtHoten.Text; }

iTechPro

http://www.ebook.edu.vn

65

7. iu khin Command Event S khc nhau gia Command Event v Command Click l trong Command Event bn c th cung cp Command Name v Command argument Trong cc v d trc ti ly v d v s kin Command Click nn by gi ti s ly mt v d v Command Event bn so snh. V d trn trang bn c 3 iu khin Button nh v d di y:

void hcubiuChon(object sender, CommandEventArgs e) { if (e.CommandName == "language") { switch (e.CommandArgument.ToString()) { case "C#": lblComandEvent.Text = "CShap"; break; case "VBNET": lblComandEvent.Text = "VB.NET"; break; case "JAVA": lblComandEvent.Text = "Java";

http://www.ebook.edu.vn

66

break; } } }

iTechPro Bn chn ngn ng:

C ba iu khin Button trn u cha Tn lnh v i s lnh v tu thuc vo i s lnh khc nhau ta c th thc hin mt cng vic tng ng.

http://www.ebook.edu.vn

67

IV. iu khin hin th nh ASPNET bao gm 2 iu khin hin th nh. iu khin Image v ImageMap. 1. iu khin Image. iu khin ny dng hin th nh ging vi th trong HTML Cc thuc tnh quan tm Thuc tnh AlternateText DescriptionUrl Ni dung thay th khi li ng dn ca nh Cho php bn cung cp mt ng dn n trang miu t chi tit ni dung ca nh ImageAlign Cho php cn chnh nh ln quan ti cc thnh phn HTML khc trong trang v n c th l cc gi tr sau:AbsBottom, AbsMiddle, Baseline, Bottom, Left, Middle, NotSet, Right, TextTop, and Top. ImageUrl V d ng dn ca nh trn iu khin

void Page_Load(object sender, EventArgs e) { Random rnd = new Random(); switch (rnd.Next(3)) { case 0: Image1.ImageUrl = "Images/images1.jpg"; Image1.AlternateText = "Picture 1"; break; case 1: Image1.ImageUrl = "Images/images2.jpg";

http://www.ebook.edu.vn

68

Image1.AlternateText = "Picture 2"; break; case 2: Image1.ImageUrl = "Images/images3.jpg"; Image1.AlternateText = "Picture 3"; break; } }

iTechPro

2. iu khin ImageMap Cho php bn to bn nh trn 1 nh hin th trn trang web m ngi dng pha Client c th chn vo mt vng ca nh thc hin mt cng vic no . V d

http://www.ebook.edu.vn

69

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

iTechPro

http://www.ebook.edu.vn

70

http://www.ebook.edu.vn

71

Cc thuc tnh ca ImageMap ging vi Image v thm vo hai thuc tnh l: - HotSpots: cho php bn in tp hp thng tin ca HotSpots c cha ng trong iu khin ImageMap. - HotSpotMode:Cho php bn ch nh Enables you to specifythe behavior of the image map when you click a region. Possible values are Inactive, Navigate, NotSet, and PostBack.

V. iu khin PanelKhi bn cn a cc iu khin trang vo mt nhm gii thch ngha cho nhm hoc c th l n hoc hin nhm iu khi nhn 1 s kin no trn trang ca bn, bn c th dng iu khin panel. Mt s thuc tnh ca iu khin panel m bn cn lu l: - DefaultButton: Cho php bn nh ngha mt button mc nh trong panel m button mc nh ny s c thc hin khi bn nhn phm Enter - Direction: Cho php bn gn hoc thit t hng hin th ni dung c a ra trong panel, c th l cc gi tr:NotSet, LeftToRight, and RightToLeft. - GroupingText: Cho php bn trnh by Panel nh 1 Fieldset vi mt ch gii ring bit - HorizontalAlign: Cho php bn ch ra hng ngang th hin ni dung ca panel v n c th l cc gi tr: Center, Justify, Left, NotSet, and Right. - ScrollBars: Cho php bn hin th scrollbars khi bn c nh chiu cao hoc chiu rng ca panel v ni dung trong panel vt qu rng hoc cao , n c th l cc gi tr: Auto, Both, Horizontal, None, and Vertical. V d

void Page_Load(object sender, EventArgs e) { for (int i = 1; i < 100; i++)

http://www.ebook.edu.vn

72

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

void hcubiuSothich(object sender, EventArgs e) { if (chkhtsothich.Checked == true) panelsothich.Visible = true; else panelsothich.Visible = false; }

void hcubiuNghenghiep(object sender, EventArgs e) { if (chkhtnghenghiep.Checked == true) panelnghenghiep.Visible = true; else panelnghenghiep.Visible = false; }

iTechPro

http://www.ebook.edu.vn

73





http://www.ebook.edu.vn

74

VI. iu khin HyperLinkiu khin HyperLink cho php to 1 link ti trang web khc, khng ging vi LinkButton, HyperLink khng trnh d liu ln server.

Chng 3 S dng cc iu khin Validation Chng trc chng ta hc v nhng iu khin chun ca NetFrameWork3.5, chng ta c th dng nhng iu khin thao tc vi Webserver pha Server-Side, c th cp nht d liu. Nhng c mt tnh hung t ra l cc iu khin c m bo cho chng ta cp nht d liu ng v khng xy ra li?. V d trn Form ca ta c trng nhp s in thoi nhng ngi s dng li nhp vo l 1 dng text nh vy s gy ra li nhp liu. Vi phin bn trc ca ASP.Net l asp th khc phc li chng ta phi thc hin vit m JavaScript bt li vic , cn vi ASPNET n cung cp cho ta nhng iu khin kim tra tnh hp l ca cc iu khin nhp liu trn Form. Trong chng ny cc bn s hc v nhng iu khin v tip theo l s hc cch m rng nhng iu khin theo mun ca chng ta v d bn s to mt AjaxValidator kim tra nhp liu pha Client. 6 iu khin Validation trong netframework3.5: RequiredFieldValidator: Yu cu ngi s dng nhp gi tr vo trng ch nh trn Form RangeValidator: Kim tra gi tr nhp vo c nm trong mt khong nh nht v ln nht nh trc hay khng. CompareValidator: So snh gi tr nhp c bng mt gi tr ca trng khc trn Form hay khng. RegularExpressionValidator: So snh gi tr nhp vi 1 biu thc quy tc no y c th hm th, in thoi

http://www.ebook.edu.vn

75

CustomValidator: Bn c th tu chnh i tng Validator theo ca mnh ValidationSummary: cho php hin th tng hp tt c cc li trn 1 trang.

I. RequiredFieldValidator

1. ngha: vi iu khin ny bn c th yu cu ngi dng phi nhp gi tr vo 1trng ch nh trn Form.

2. Cch s dng:a iu khin RequiredFieldValidator t ToolBox(trong phn Validation) vo trong Form v thm vo cho n 2 thuc tnh ControlToValidate: ch n iu khin s c kim tra Text(hoc ErrorMessage): Thng bo li khi kim tra

3. V dCode 1: Trang RequiredValidator.aspx void btnAccept_Click(object sender, EventArgs e) { if (Page.IsValid) { this.lblResult.Text = txtHoten.Text; this.txtHoten.Text = ""; } } Validator

http://www.ebook.edu.vn

76



II. iu khin CompareValidator

1. nghaBn c th s dng CompareValidator Kim tra gi tr nhp vo c nm trong mt khong nh nht v ln nht nh trc hay khng.

2. Cch s dngBn a iu khin CompareValidator t hp ToolBox vo Form v thit lp cho n mt s thuc tnh sau: ControlToValidate: ch n iu khin cn kim tra Text(ErrorMessage): Ni dung thng bo li MinimumValue: Gi tr nh nht thit lp cho i tng MaximumValue: Gi tr ln nht thit lp cho i tng Type: Kiu so snh, C th l cc gi tr Interger,String, Double, Date v Currency.

3. V d http://www.ebook.edu.vn 77

Code 2: Trang CompareValidator.aspx

void btnAccept_Click(object sender,EventArgs e) { if (Page.IsValid) { this.lblThongbao.Text = txtDiem.Text; } }

RangeValidator Vo im

http://www.ebook.edu.vn

78

Trong v d trn ta dng hai i tng Validator cng kim tra gi tr nhp trn iu khin txtDiem, iu khin RequiredFieldDiem dng kim tra v yu cu nhp gi tr cho txtDiem cn iu khin RangeDiem yu cu nhp gi tr trong txtDiem phi nm trong khong t 0 n 10.

III. iu khin RegularExpressionValidator

http://www.ebook.edu.vn

79

1. nghaiu khin RegularExpressionValidator cho php bn so snh gi tr nhp ti 1 trng no trn Form vi mt quy tc nh trc. bn c th s dng cc biu thc quy tc a ra cc chui mu nh l email addresses, Social Security numbers, phone numbers, dates, currency, amounts, and product codes.

2. Cch s dngBn a iu khin RegularExpressValidator vo Form ca mnh v thit lp cho n mt s thuc tnh sau: ID: tn ca iu khin ControlToValidate: tr n iu khin cn kim tra Text(ErrorMessage): ni dung thng bo khi c li ValidatorExpression: quy nh mu nhp liu nh l hm th, s in thoi

3. V dSau y s l mt v d v vic yu cu ngi s dng phi cp nht ng a ch ca hm th. Code 3: trang RegularExpressionValidator.aspx

void btnAccept_Click(object sender, EventArgs e) { if (Page.IsValid) { lblThongbao.Text = txtEmail.Text; } }

http://www.ebook.edu.vn

80

RegularExpressionValidator Email:

IV. iu khin CompareValidator

1. nghaiu khin CompareValidator c 3 kiu khc nhau kim tra gi tr nhp:

http://www.ebook.edu.vn

81

S dng kim tra kiu d liu S dng so snh gi tr nhp vi mt gi tr c nh S dng so snh gia tr nhp vi gi tr ca mt iu khin khc trn Form

2. Cch s dngBn a iu khin CompareValidator vo Form v thit lp cho n mt s thuc tnh sau: ControlToValidate: iu khin ca Form s c kim tra ControlToCompare: iu khin dng so snh gi tr Text(ErrorMessage): hin th ni dung thng bo li kho c li Type: Kiu ca gi tr s c so snh Operator: Ton t so snh. C th l cc gi tr: DataTypeCheck, Equal, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual, NotEqual.

3. V dV d 4 sau s yu cu nhp vo ngy sinh, nu ngi s dng nhp vo khng ng d liu dng ngy th s c li thng bo.

Code 4: Trang CompareValidator.aspx

CompareValidator

http://www.ebook.edu.vn

82


V d sau y s hng a ra trng hp vi Form to ti khon trn mt trn Web yu cu ngi ng k phi nhp mt khu 2 ln.

Code 5 trang

CompareValidator

http://www.ebook.edu.vn

83



V. iu khin CustomValidator

1.

ngha

http://www.ebook.edu.vn

84

Nu nhng iu khin Validator trn cha vi bn hoc bn mun to mt Validator ring theo mnh, bn c th dng iu khin CustomValidator, bn c th kt hp CustomValidator vi mt hm.

2. Cch s dng v V dCustomValidator c 3 thuc tnh hay s dng l: ControlToValidator: iu khin ca Form s c kim tra Text(ErrorMessage): hin th ni dung thng bo li kho c li ClientValidationFunction: tn ca mt hm client-side thc hin kim tra trn client-side CustomValidator h tr 1 s kin ServerValidate: S kin c a ra khi CustomValidator thc hin kim chng. V d sau s s dng s kin ServerValidate kim tra di ca chui c nhp trong iu khin TextBox, nu ngi nhp, nhp vo chui c di ln hn 20 k t th iu khin CustomValidator s a ra thng bo li.

V d: Code 6 trang CustomValidator.aspx

void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs e) { if (e.Value.Length > 20) e.IsValid = false; else e.IsValid = true; }

http://www.ebook.edu.vn

85

CustomValidator



v d 6 trong hm CustomValidator1_ServerValidate Tham s th 2 c truyn ti s kin ServerValidator x l. Trong thc th ca lp ServerValidateEventArgs c hai thuc tnh Value: Gi tr ca trng trn Form s c kim chng.

http://www.ebook.edu.vn

86

IsValid: Din t vic kim chng cho kt qu thnh cng hoc sai.

Trong v d tip theo ti s a ra cch s dng hm kim chng Client-side kt hp vi CustomValidator nh th no, Trang ny ch kim tra di ca chui nhp vo bn trong TextBox, nhng n s kim tra trn c Server v Client.

Code 7.

void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs e) { if (e.Value.Length > 20) e.IsValid = false; else e.IsValid = true; }

CustomValidator function valComments_ClientValidate(source, args) { if (args.Value.length > 20) args.IsValid = false; else

http://www.ebook.edu.vn

87

args.IsValid = true; }



VI. iu khin ValidationSummary

1. ngha

http://www.ebook.edu.vn

88

ValidationSummary cho php bn lit k tt c cc cc li kim tra trn trang t nhng iu khin validator vo mt v tr. iu khin ny c bit tin ch vi Form c rng ln.

2. cch s dngBn a iu khin ValidationSummary vo Form v thit lp cho n mt s thuc tnh DisplayMode: Cho php bn ch r nh dng hin th li, n c th l cc gi tr nh BulletList, List, v SingleParagraph. HeaderText: Cho php bn hin th tiu tm tt cho cc li. ShowMessageBox: Cho hin th mt popup thng bo ShowSummary: Cho php bn n ValidationSummary trn trang.

sau:

3. v d

Code 8 Trang ValidationSummary.aspx

ValidationSummary

http://www.ebook.edu.vn

89

*(Yu cu) *(Yu cu)

http://www.ebook.edu.vn

90

Code 8 Chy v d trn nu ta khng nhp d liu cho cc trng n s thng bo li nh sau:

Cng vi v d trn nu trn iu khin ValSummary ta thit lp thuc tnh ShowMessageBox bng True v ShowSummary vi gi tr bng False th kt xut ca v d thay v hin th l mt danh sch li trn Form th n hin th mt popup thng bo nhng li trn trang.

Code 9

http://www.ebook.edu.vn

91

ValidationSummary

*(Yu cu) *(Yu cu)

Kt xut ca n:

http://www.ebook.edu.vn

93

VII. To cc iu khin kim tra tnh hp l theo mnh. Trong phn ny bn s hc to cc iu khin tu bin nh th no. Chng ta s to iu khin. u tin s to mt iu khin kim tra di ca mt trng nhp liu trn Form LengthValidator, Bn to mi mt Control Kim tra tnh hp l bng cch dn xut t lp BaseValidator. Lp BaseValidator l lp c s cho tt c cc iu khin Validation, bao gm RequiredFieldValidator v RegularExpressionValidator Lp c s l lp 1 lp phi c ci t m yu cu bn ci t mt phng thc n.

EvaluateIsValid: Tr v gi tr True khi trng kim tra tnh hp l trn Form l hp l.

GetControlValidationValue: Cho php bn in gi tr ca iu khin s c kim tra tnh hp l.

Khi bn to mt iu khin kim tra tnh hp l tu bin, bn override phng thc EvaluateIsValid() v trong phng thc ny bn gi GetControlValidationValue ly gi tr ca trng cn kim tra tnh hp l. To mt iu khin LengthValidator. Trong phn ny bn s c hc cch to mt iu khin n gin kim tra di ca trng nhp liu. Di y m m ngun ca lp LengthValidator.cs

Code 10 LenghtValidator.cs using System; using System.Web.UI; using System.Web.UI.WebControls; namespace myControls { public class LengthValidator : BaseValidator { int _maximumLength = 0;

http://www.ebook.edu.vn

94

public int MaximumLength { get { return _maximumLength; } set { _maximumLength = value; } } protected override bool EvaluateIsValid() { String value = this.GetControlValidationValue(this.ControlToValidate); if (value.Length > _maximumLength) return false; else return true; } } }

Trong Lp on m trn ta thy LengthValidator c k tha t lp BaseValidator, trong lp mi ny ghi phng thc EvaluateIsValid. Gi tr ca iu khin c kim chng c ly v vi phng thc GetControlValidationValue V di ca gi tr s c so snh vi thuc tnh MaximumLength. s dng iu khin LenghtValidator chng ta phi ng k iu khin ny u trang vi th ch dn . nu bn mun s dng LengthValidator cho nhiu trang bn c th ng k iu khin ny phn trong file Web configuration. V d s dng LengthValidator

Code 11

http://www.ebook.edu.vn

95

Use LenghtValidator

Ch dn , Vi tin t TagPrefix=Validator v Ch n Namespace=MyControls v s dng iu khin ny ging vi cc iu khin Validator khc.

Chng 4. S dng cc iu khin khc. phn u ca chng ny cc bn s c hc s dng iu khin FileUpload cho php chng ta a cc file d liu ln Server, nh l cc file nh, word hay excel chng ny cc bn cng c hc cc iu khin khc nh Calendar, AdRotator, Multiview, Wizard.

http://www.ebook.edu.vn

96

I. File Upload. iu khin FileUpload cho php ngi s dng Upload file t chnh ng dng Web ca mnh. File sau khi Upload c th lu tr 1 ni no c th l trn cng hay trong Database. iu khin FileUpload h tr cc thuc tnh sau: Thuc tnh Enable FileBytes FileContent FileName HasFile PostedFile ngha Cho php bn v hiu ho iu khin FileUpload. Cho php ly ni dung file c upload nh mt mng Byte. Cho php ly ni dung ca file c upload theo dng d liu Ly tn file c Upload Tr v gi tr ng khi File c Upload Enables you to get the uploaded file wrapped in the HttpPostedFile object.

iu khin FileUpload h tr cc phng thc Focus: Enables you to shift the form focus to the FileUpload control. SaveAs: Cho php bn lu file c upload ln h thng.

Thuc tnh PostedFile ca iu khin FileUpload cho php ly thng tin t File upload c bao bc trong i tng HttpPostedFile. i tng ny s a thm thng tin v Upload file. Lp HttpPostedFile gm cc thuc tnh sau: ContentLength: Ly v kch thc ca File Upload tnh theo byte ContentType: ly kiu MIME ca File Upload FileName: cho php ly tn ca file c upload. InputStream: Enables you to retrieve the uploaded file as a stream. Lp HttpPostedFile ch h tr phng thc SaveAs: Cho php bn lu file c upload ln h thng.

Upload 1 file ln server Trong v d sau bn s c hc cch Upload 1 file nh ln a cng ca Server.

http://www.ebook.edu.vn

97

Code 1a. Fileupload.aspx

FileUpload


http://www.ebook.edu.vn

98

Code 1b.Fileupload.aspx.csusing System; using System.Data; using System.IO; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Page_PreRender() { string upload_folder = MapPath("~/Upload/"); DirectoryInfo dir = new DirectoryInfo(upload_folder); listImage.DataSource = dir.GetFiles(); listImage.DataBind(); } bool CheckFileType(string fileName) { string ext = Path.GetExtension(fileName); switch (ext.ToLower()) { case ".gif": return true; case ".png": return true;

http://www.ebook.edu.vn

99

case ".jpg": return true; case ".jpeg": return true; default: return false; } } protected void Button1_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { if(CheckFileType(FileUpload1.FileName)) { string filepath = "~/Upload/" + FileUpload1.FileName; FileUpload1.SaveAs(MapPath(filepath)); } } } } Gii thch v d trn: Trong s kin Button1_Click Kim tra c tn ti File Upload? Nu ng th kim tra kim tra file upload c phi ng nh dng ca nh khng bng hm CheckFileType nu ng th s thc hin vic ghi file ln server vi phng thc SaveAs ca iu khin FileUpload.

II. iu khin Calendar Bn c th hin th mt lch trn trang web ca mnh vi iu khin Calendar V d sau s trnh by mt Calendar n gin

Code 2. http://www.ebook.edu.vn 100

Calendar Kt xut ca n s nh sau:

Cc thuc tnh:Thuc tnh DayNameFormat ngha Cho php bn ch r s xut hin cc ngy ca tun, c th l cc gi tr: FirstLetter, FirstTwoLetters, Full, Short, v Shortest.

NextMonthText

Ch nh Text xut hin cho lin kt thng tip theo

http://www.ebook.edu.vn

101

NextPrevFormat

Cho php bn ch r nh dng thng tip theo v thng trc , n c th l cc gi tr: CustomText, FullMonth, v ShortMonth.

PreMonthText SelectedDate SelectedDates SelectionMode

Cho php bn ch nh hin th text cho lin k thng trc Cho php bn ly v hoc thit t cho ngy la chn Cho php bn gn hoc ly v mt tp cc ngy c la chn Cho php ch nh cc ngy c la chn c gi tr nh th no, n c th l cc gi tr sau: Day, DayWeek, DayWeekMonth, v none.

SelectMonthText SelectWeekText ShowdayHeader ShowNextPrevMonth

Cho php hin th Text cho 1 thng c chn Cho php hin th Text cho 1 tun c chn Cho php hin th tn ngy hay khng trn nh ca iu khin. Cho php hin th hay khng lin kt n thng tip theo hoc thng trc .

ShowTitle

Cho php bn n hay hin Text trn thanh tiu ca iu khin Calendar.

TitleFormat

Cho php nh dang text trn thanh tiu , cc gi tr ca n c th l Month v MonthYear.

TodaysDate

Cho php bn ch r ngy hin ti mc nh ly ngy hin ti trn Server.

Cc S kin. DayRender: Raised as each day is rendered. SelectionChanged: Xy ra khi mt ngy mi, tun mi hay thng mi c la chn. VisibleMonthChanged: xy ra khi lin kt n thng tip theo hoc thng trc c nhn. V d sau s trnh by cch ly thng tin khi chng ta la chn nhiu ngy trn i tng Calendar.

Code 3a. Calendarmultiselect.aspx

http://www.ebook.edu.vn

102

Multi select date

Code 3b. Calendarmultiselect.aspx.csusing System; public partial class Calendarmultiselect : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {

http://www.ebook.edu.vn

103

} protected void btnSubmit_Click(object sender, EventArgs e) { bllresult.DataSource = calendar1.SelectedDates; bllresult.DataBind(); } } Kt xut ca v d 3

To mt Popup Datepicker Trong phn ny bn s hc cch s dng iu khin Calendar kt hp vi Javacript to mt Pop-up Date picker nh trong hnh di y:

http://www.ebook.edu.vn

104

Code 4. popupdatepicker.aspx

protected void calEventDate_SelectionChanged(object sender, EventArgs e) { txtEventDate.Text = calEventDate.SelectedDate.ToString("d"); } protected void btnSubmit_Click(object sender, EventArgs e) { lblResult.Text = "Bn chn: " + txtEventDate.Text; }

Pop-up Date Picker

http://www.ebook.edu.vn

105

function displayCalendar() { var datePicker = document.getElementById('datePicker'); datePicker.style.display = 'block'; } #datePicker { display:none; position:absolute; border:solid 2px black; background-color:white; } .content { width:400px; background-color:white; margin:auto; padding:10px; } html { background-color:silver; }

http://www.ebook.edu.vn

106


III. iu khin Advertisements(Trnh by qung co - Adrotator) Cho php bn hin th cc nh qung co khc nhau trong 1 trang. bn c th lu tr cc qung co ca bn trong 1 file XML hoc mt bng c s d liu. . Cc thuc tnh Thuc tnh AdvertisementFile ngha Cho php bn ch nh n ng dn file XML cha ng danh sch nh qung co AlternateTextField Cho php ch nh n tn ca trng hin th ni dung thay th khi nh qung co v mt l do no khng hin th c DataMenber Cho php rng buc n mt thnh vin c s d liu ca ngun c s d liu DataSource Ch r c s d liu cha danh sch cc banner qung co

http://www.ebook.edu.vn

107

DataSourceID ImgUrlFile KeywordFilter NavigateUrlField Target

Rng buc n 1 c s d liu Ch r n trng cha ng dn banner qung co Cho php bn lc qung co bi 1 t kho Ch r n tn ca trng cha cc lin kt qung co Cho php bn m ra mt ca s mi khi nhn vo banner qung co

S kin AdCreated: Xy ra sau khi iu khin Adrotator la chn mt qung co nhng trc khi iu khin AdRotator a ra qung co.

Ch rng iu khin AdRotator cha ng thuc tnh KeywordFilter bn c th cung cp mi banner qung co vi 1 t kho sau khi trnh by qung co chng ta c th lc nhng qung co theo iu kin hin th. V d nh trn trang ca bn, bn cn trnh by qung co 4 v tr trn banner(top) ca trang, bn trai, phi v pha chn(bottom) ca trang. Khi bn gn vi mi nh qung co mt t kho(v d tng ng vi 1- top, 2- right, 3 bottom, 4 - left) v khi trnh by trong iu khin AdRotator ta c th dng thuc tnh KeywordFilter lc v trnh by. V d 1: Trn trang web ca bn trnh by qung co hai v tr(trn u v bn phi ca trang) layout nh sau

Code 5a: AdRotatorXML.aspx

http://www.ebook.edu.vn

108

AdRotator XML #wrapper {width: 782px; margin: 0 auto;} #border { border: 1px solid #8ECE5F; margin: 20px 0px 5px 0px; background-color: #ffffff; min-height: 776px; float: right; width: 780px;} #header {background-color:#BECEF5; text-align: width:782px; height:100px; center; margin: 6px 0px 0px 0px;} #right{background-color:#BECEF5; width:170px;margin: 6px 0px 0px 4px; height:300px; float:right} .box{ float:right;padding:10px; border-left:solid 1px black;}

http://www.ebook.edu.vn

109

Ni dung File XML

Code 5b. ~/Advertisement/images/banner.png 782 100 http://www.itechpro.com.vn Cong ty cong nghe cao iTechPro 50 banner

http://www.ebook.edu.vn

110

~/Advertisement/images/banner2.gif 782 100 http://www.itechpro.com.vn Cong ty cong nghe cao iTechPro 50 banner ~/Advertisement/images/anh1.gif 150 150 http://www.itechpro.com.vn Box Advertisement 1 50 right ~/Advertisement/images/anh1.gif 150 150 http://www.itechpro.com.vn Box Advertisement 1 50 right ~/Advertisement/images/anh2.gif

http://www.ebook.edu.vn

111

150 150 http://www.itechpro.com.vn Box Advertisement 1 50 right ~/Advertisement/images/anh3.gif 150 150 http://www.itechpro.com.vn Box Advertisement 1 50 right ~/Advertisement/images/anh4.gif 150 150 http://www.itechpro.com.vn Box Advertisement 1 50 right ~/Advertisement/images/anh5.gif 150

http://www.ebook.edu.vn

112

150 http://www.itechpro.com.vn Box Advertisement 1 50 right ~/Advertisement/images/anh6.gif 150 150 http://www.itechpro.com.vn Box Advertisement 1 50 right

Cch thc hin bn a XML c cu trc nh code 5b, sau trong trang AdRotatorXML.aspx bn a iu khin AdRotator vo v t cho n hai thuc tnh AdvertisementFile ch n File XML bn va to, v thuc tnh KeywordFilter theo th Keyword trong file XML.

IV.

iu khin hin th cc trang khc nhau

iu khin MultiView cho php bn n hoc hin cc phn khc nhau ca trang Web, iu khin ny tin ch khi bn to mt TabPage. N thc s tin ch khi bn mun chia 1 trang web c di ln thnh cc phn hin th iu khin MultiView cha ng 1 hoc nhiu iu khin View, bn s dng Multiview la chn cc iu khin View trnh by. iu khin MultiView h tr cc thuc tnh. ActiveViewIndex: La chn iu khin View c a ra hin th bng ch s Index Views: Cho php bn ly v tp hp cc iu khin View cha ng trong iu khin MultiView.

http://www.ebook.edu.vn

113

iu khin MultiView h tr hai phng thc. GetActiveView: Cho php ly v thng tin ca iu khin View c la chn. SetActiveView: cho php bn thit lp iu khin View c hin th. V MultiView h tr s kin sau: ActiveViewChanged: Xy ra khi iu khin View c la chn

Cch s dng

1. hin th nh mt TabPageKhi bn s dng MultiView kt hp vi iu khin Menu bn c th to mt TabPage V d sau s hng dn bn to mt TabPage t 2 iu khin Menu v MultiView

Code 6a. void Menu1_MenuItemClick(object sender, MenuEventArgs e) { int index = Int32.Parse(e.Item.Value); MultiView1.ActiveViewIndex = index; } void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { MultiView1.ActiveViewIndex = 0; } }

http://www.ebook.edu.vn

114

Create a TabView html { background-color:silver; } .tabs { position:relative; top:1px; left:10px; } .tab { border:solid 1px black; background-color:#eeeeee; padding:2px 10px; } .selectedTab { background-color:white; border-bottom:solid 1px white; } .tabContents { border:solid 1px black; padding:10px;

http://www.ebook.edu.vn

115

background-color:white; } Day la View 1
Day la View 1
Day la View 1
Day la View 1
Day la View 1
Day la View 1

http://www.ebook.edu.vn

116

Day la View 2
Day la View 2
Day la View 2
Day la View 2
Day la View 2
Day la View 2
Day la View 3
Day la View 3
Day la View 3
Day la View 3
Day la View 3
Day la View 3
Trong v d trn Menu c kt hp vi CSS to ra cc trng thi khi MenuItem c chn(StaticSelectedStyle-CssClass="selectedTab") v ko c chn(StaticMenuItemStyle-CssClass="tab").

2. Hin th nhiu phn trn trang.Bn c th chia mt Form c di ln thnh cc thnh phn nh hn v hin th tng phn, bn c th s dng cc iu khin Button nm trong iu khin MultiView v khi Button c nhn th Multiview s x l thay i hin th View khc. iu khin MultiView h tr cc iu khin lnh sau:

http://www.ebook.edu.vn

117

NextView: MultiView s kch hot iu khin View tip theo PrevView: MultiView s kch hot iu khin View trc SwitchViewByID: MultiView s kch hot View ch nh bi i s ca iu khin Button

SwitchViewByIndex: MultiView s kch hot View ch nh bi i s ca iu khin Button

Bn c th s dng cc iu khin lnh nh Button, ImageButton, LinkButton. V thit lp thuc tnh CommandName, vi trng hp iu khin lnh l SwitchViewByID v SwitchViewByIndex bn thit lp thm thuc tnh CommandArgument. V d sau s hng dn bn to mt Form c nhiu phn vi vic s dng iu khin lnh NextView.

Code 7.

void View3_Active(object sender, EventArgs e) { lblRHoten.Text = txtHoten.Text; lblRCMT.Text = txtCMT.Text; }

MultiPart View

http://www.ebook.edu.vn

118




Trong v d trn 2 button u thit lp thuc tnh CommandName c gi tr l NextView, do iu khin MultiView h tr lnh NextView ln khi nhn vo 2 Button th lnh NextView c thc hin v kch hot View tip theo n View 3 vi s kin OnActive gi hm View3_Active v thc hin ly v gi tr ca hai TextBox v gn vo 2 Label tng ng.

V. Hin th vi iu khin Wizardhttp://www.ebook.edu.vn 119

iu khin Wizard ging vi iu khin MultiView c th dng chia mt Form ln thnh nhiu phn nh. Tuy nhin n s c thm mt s thuc tnh m MultiView khng h tr. iu khin Wizard c th cha nhiu iu khin WizardStep con, nhng ch 1 WirardStep c hin th ti 1 thi im.

Cc thuc tnh. ActiveStep: cho php bn ly thng tin ca WizardStep ang kch hot ActiveStepIndex: cho php bn gn hoc ly v ch s Index ca WizardStep ang kch hot CancelDestinationPageUrl: cho php bn ch r a ch URL c gi ti khi ngi s dng nhn nt Cancel DisplayCancelButton: Cho php n hoc hin Cancel Button. DisplaySlideBar: Cho php n hoc hin SlideBar(hin th tt c cc WizardStep) FinishDestinationPageUrl: cho php bn ch nh a ch URL c gi ti khi ngi dng nhn nt Finish HeaderText: cho php bn ch nh tiu hin th trn nh ca iu khin Wizard. WizadSteps: Cho php bn ly thng tin ca cc iu khin WizardStep trong iu khin Wizard iu khin Wizard h tr cc Template. FinishNavigationTemplate: cho php hin th Navigation bc kt thc HeaderTemplate: hin th thanh tiu u ca iu khin Wizard SlideBarTemplate: Cho php hin th SlideBar trong iu khin Wizard StartNavigationTemplate: Cho php hin th Navigation bc bt u StepNavigationTemplate: cho php hin th Navigation cc bc khng phi bc bt u v kt thc.

iu khin Wizard h tr cc phng thc: GetHistory(): cho php ly thng tin ca cc iu khin Wizard m truy cp. GetStepType(): Cho php bn tr v kiu ca mi WizardStep ring theo ch s, n c th l cc thuc tnh sau: Auto, Start, Finish hay Step MoveTo(): cho php bn di chuyn n mt WizardStep.

iu khin Wizard h tr cc s kin: ActiveStepChanged: xy ra khi mt WizardStep tr thnh Step c kch hot

http://www.ebook.edu.vn

120

CancelButtonClick: xy ra khi Cancel Button c nhn. FinishButtonClick: xy ra khi Finish Button c nhn NextButtonClick: Xy ra khi Next button c nhn PreviousButtonClick: xy ra khi Previous button c nhn SlideBarButtonClick: xy ra khi SlideBar button c nhn:

Mt iu khin Wizard cha ng mt hoc nhiu WizardStep din t cc bc strong qu trnh Wizard.

Cc WizardStep h tr cc thuc tnh: AllowReturn: Ngn cn hay cho php ngi s dng tr v bc ny t mt bc khc. Name: tn ca iu khin WirardStep StepType:Cho php bn gn hay ly v kiu ca WirardStep n c th l cc gi tr sau: Auto, Finish, Start, Complete v Step. Title: ly v hoc gn tiu ca iu khin WizardStep tiu ny c hin th Wizard Slidebar Wizard: cho php bn ly thng tin iu khin Wizard cha trong WizardStep. Cc S kin trong WizardStep Activate: Xy ra khi mt WizardStep c kch hot DeActivate: xy ra khi WizardStep khc c kch hot.

StepType l thuc tnh quan trng nht ca Wizard, thuc tnh no xc nh WizardStep c a ra nh th no, mc nh l Auto V d:

void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e) { lblbiet.Text = txt1.Text; lblkhoahoc.Text = txt2.Text;

http://www.ebook.edu.vn

121

} Wizard .wizard{border:solid 1px black;font:14px Verdana,width:800px;height:300px;} .header{color:gray;font:bold 18px Verdana,} .sideBar{background-color:#eeeeee;padding-left:10px;width:200px; height:23px;} .sideBar a{text-decoration:none;} .step{padding:10px;}



http://www.ebook.edu.vn

123

Gii thch v d: Trn v d ta a vo 4 WizardStep, chng trnh s thc hin trnh t theo cc bc v kt thc vi vic nhn nt Finish WizardStep3(c thit lp thuc tnh StepType=Finish) thng qua hm Wizard1_FinishButtonClick sau khi thc hin hm ny n s chuyn sang v hin th ni dung cng vic cn thc hin thng 2 iu khin label trn WizardStep4 v iu khin ny c thit lp thuc tnh StepType=Complete.

Chng 5 Thit k Website vi MasterPageBn ang gp vn thit k layout chung cho website ca mnh? MasterPage c th l mt p n tt cho bn gii quyt bi ton trn. Vi MasterPage to mt giao din chung nht cho Website ca mnh. V d website ca bn c layout gm 5 phn banner, footer, left, right V content(phn cha ni dung hin th cho cc tin). Nh vy bn c th thy trn trang web c cc phn c cch trnh by khng thay i trong qu trnh duyt tin. banner, footer, left, right: bn c th cc phn ny vo mt MasterPage v tt cc trang web trong website ca bn s p dng layout ny thng qua contentpage I. To MasterPage Cc bc to MasterPage ging vi to cc trang aspx bnh thng nhng trn hp Add New Item bn chn MasterPage bn thy di t tn phn m rng ca n s l Master. Bn c th to nhiu MasterPage cho ng dng web ca mnh. V d:

Code 1.

MasterPage html{ background-color:#e5e5e5; font-family:Verdana;}

http://www.ebook.edu.vn

124

.content{ background-color:White; border:black 1px solid; width:700px; margin:auto;} .leftcolumm{ float:left; border-right:black 1px solid; width:200px; padding:5px; height:300px} .rightcolumm{ float:left; padding:5px; height:300px} s dng MasterPage cho cc trang aspx bn cn khai bo trn ch dn vi thuc tnh MasterPageFile=Tn _MasterPage ca bn v d

code 2 Trinh bay menu Left

http://www.ebook.edu.vn

125

Trinh bay menu Left
Trinh bay menu Left
Trinh bay menu Left

Trinh bay noidung
Trinh bay noidung
Trinh bay noidung
Trinh bay noidung
Trn trang aspx bn khai bo 2 iu khin asp:content v trong thuc tnh ca n bn thit lp ContentPlaceHolderID=Ten_Placeholder trong trang masterPage. To mt Content mc nh Bn khng th kt hp mt iu khin Content vi tt c cc iu khin ContentPlaceHolder. Khi trn trang MasterPage ca bn c 3 ContentPlaceHolder m trong trang aspx ca bn ch s dng hai iu khin aspContent v ch n 2 ContentPlaceHolder trn trang MasterPage khi mc nh ContentPlaceHolder th 3 vn c hin th. ng k Master Page trong WebConfiguration Bn c th p dng MasterPage cho tt c cc trang trong mt Folder hay tt c cc Content trong ng dng web ca mnh. Thay v vic trong mi trang aspx bn phi gi li ch dn trang th ch dn th bn c th thm n vo trong file webconfiguration Trong v d di y l cch bn s ng k mt trang SimpleMasterPage vo ng dng web ca mnh c th p dng cho tt c cc trang trong foder(Sub Folder) cha Ch rng file web.config ny phi cng nm trong foleder :

http://www.ebook.edu.vn

126

S dng FindControl trong MasterPage. Khi bn cn chnh sa hay ly thng tin ca 1 iu khin t MasterPage bn c th s dng phng thc FindControl() trong mt Content Page V d

Trang Findcontrol.master Findcontrol

Trang Findcontrol.aspx void Page_Load(object sender, EventArgs e) {

http://www.ebook.edu.vn

127

Label lbl = (Label)Master.FindControl("lblTitle"); lbl.Text = "Trung tam dao tao cong nghe cao iTechPro"; } Lay gia tri tu masterpage
Lay gia tri tu masterpage
Lay gia tri tu masterpage
Lay gia tri tu masterpage
Lay gia tri tu masterpage
Trnh by thuc tnh MasterPage Bn c th trnh by thuc tnh , phng thc t MasterPage v c th chnh sa thuc tnh hay phng thc t trang Content. V d

Trang Expose.master public string BodyTitle { get { return lblBody.Text; } set { lblBody.Text = value; } }

http://www.ebook.edu.vn

128

Expose MasterPage Property

Trang Expose.aspx void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Master.BodyTitle = "Trung tam dao tao cong nghe cao iTechPro"; } }

http://www.ebook.edu.vn

129

Property, Property, Property, Property, Property,
Property, Property, Property, Property, Property,
Property, Property, Property, Property, Property,
Property, Property, Property, Property, Property
Trong v d trn bn s thy mt im mi l ch dn MasterType, s dng c thuc tnh hay phng thc t MasterPage ta phi thm vo ch dn MasterType v t thuc tnh VirtualPath=Ten_Mastepage.

Chng 6. Thit k Website vi themesBn c th to Themes bng cch bn thm vo ng dng mt Folder c bit ca ng dng c t tn l App_Themes trong th mc gc ca ng dng, Trong Folder themes c th cha nhiu kiu File bao gm c nh v text. bn c th t chc ni dung ca themes trong cc folder con ca n. Hai kiu ca File quan trng nht trong themes l skin files Cascading Style Sheet files Trong chng ny bn s c hc c hai cch trnh by trong thm vi CSS v Skin

1. Thm Skin vo trong themesMt Themes c th cha ng mt hoc nhiu Skin, mt Skin cho php bn thay i mt s thuc tnh ca cc iu khin trong asp.net m nhng thuc tnh biu din hin th ca control vi ngi dng. Bn c th to ra cc skin mc nh(s p dng cho cc iu khin trn form), skin p dng cho 1 iu khin c ch nh form. khng p dng skin mc nh cho iu khin bn c th s dng thuc tnh EnableTheming=false. V d: Trong v d ny ti s a ra 3 trng hp(mc nh, ch nh, ko p dng) p dng Skin vo trong cc iu khin trn Form. bc 1: Bn chn nh hnh 1

Hnh 1

http://www.ebook.edu.vn

130

bc 2: hp thoi Add New Item hin ra bn chn Skin File v t tn Skin ca mnh vo hp Name v nhn vo nt Add nh hnh sau:

Hnh 2 bc 3: hp thoi thng bo hin ra bn chn YES.

bc 4: trong Project ca bn s thm vo th mc App_Theme v Skin Simple s c ng dn sau:.

http://www.ebook.edu.vn

131

Trong File simple.skin bn son ni dung nh sau: V s dng skin ny cho trang aspx ca chng ta, bn phi thm vo ch dn Theme=simple trong ch dn

Nh trang Themes.aspx sau: Code1.

Using Themes Skin ti iu khin c ch nh

http://www.ebook.edu.vn

132

Skin mc nh cho iu khin TextBox Khng p dng Skin mc nh kt xut ca chng trnh:

Khi s dng Themes th mc nh nu trong cc iu khin trn Form c quy nh thuc tnh th hin th ca iu khin s b nh hng ca cc thuc tnh . Tuy nhin bn cng c th ghi cc thuc tnh s dng thuc tnh trong Themes quy nh, bng cch a vo ch dn . ng k Themes vi web.config Khi bn mun s dng themes cho tt c cc trang web trong website ca mnh bn c th ng k n vo trong file web.config trong ng dng web ca mnh nh sau:

http://www.ebook.edu.vn

133

ghi vo thuc tnh ca iu khin trong website Trong mt trang ta ko mun s dng Themes, ta c th g b n trong trang ny bng cch: Thm CSS ti Themes Css l mt thay th cho skins iu khin cch xut hin ca cc thnh phn ca c HTML v ASPNET Khi thm css vo folder Themes th n s c p dng cho tt c cc trang c p dng theme

V d: File simple.csshtml{background-color:gray;font:14px Georgia,Serif;} .content{margin:auto;width:600px;border:solid 1px black;backgroundcolor:White;padding:10px;} h1{color:Gray;font-size:18px;border-bottom:solid 1px orange;} label{font-weight:bold;} input{background-color:Yellow;border:double 3px orange;} .button{background-color:#eeeeee;} File skintotheme.aspx SIMPLE CSS

http://www.ebook.edu.vn

134

Registration Form





Kt xut ca chng trnh

v d trn css c s dng ti kiu ca cc thnh phn html, bi v iu khin asp.net a ra m html khi trnh duyt ln p dng css cho cc iu khin ca aspx phi s dng vi th ca HTML, nh trog v d trn c hai iu khin TextBox v Button c a ra m HTML l th .

http://www.ebook.edu.vn

135

a nhiu CSS vo 1 Themes Khi bn mun a nhiu css vo 1 th mc themes, v d bn to ra hai file css l ThemeA.css v ThemesB.css th khi s dng bn phi dng c php:

Chng 7 xy dng v s dng cc iu khin do ngi dng to raMt webcontrol cho php bn xy dng nhng control mi t nhng control ca asp.net, bn c th d dng m rng ASPNET Framework t nhng control do mnh to ra. Vic thao tc vi webcontrol th hu ht l ging vi aspx, s dng webcontrol trn trang aspx bn phi ng k n trc khi s dng vi ch dn v d

TagPrefix: Ch nh khng gian tn m bn mun kt hp usercontrol v trang hin ti TagName: Ch nh tn m bn mun kt hp usercontrol v trang hin ti Src: ch n ng dn ca control(.ascs) V d 1: to mt webcontrol thc hin php tnh ton v s dng n trong 1 trang aspx

Code 1: Caculator.ascx

http://www.ebook.edu.vn

136

Code 2 Caculator.ascx.csusing System; public partial class Caculator : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e)

http://www.ebook.edu.vn

137

{ } protected void Calculator(object sender, CommandEventArgs e) { if (e.CommandName == "cal") { switch (e.CommandArgument.ToString()) { case "sum": lblresult.Text = Convert.ToString(int.Parse(txta.Text) + int.Parse(txtb.Text)); break; case "sub": lblresult.Text = Convert.ToString(int.Parse(txta.Text) int.Parse(txtb.Text)); break; case "mul": lblresult.Text = Convert.ToString(int.Parse(txta.Text) * int.Parse(txtb.Text)); break; case "div": { if (int.Parse(txtb.Text) != 0) lblresult.Text = Convert.ToString(int.Parse(txta.Text) / int.Parse(txtb.Text)); } break; default: // break;

http://www.ebook.edu.vn

138

} } } }

Code 3: Default.aspx CodeFile="Default.aspx.cs"

Su dung Webcontrol html{ background-color:#e5e5e5} .divmain{ background-color:White; margin:15px; padding:15px; top:30px; left:150px; position:absolute;}

http://www.ebook.edu.vn

139

S dng ch dn Reference Khi bn load 1 Usercontrol vi phng thc Page.LoadControl(), UserControl c tr v nh mt thc th ca lp System.Web.UI.WebControl. c ngha l bao gm tt c cc thuc tnh tu bin, thuc tnh ny khng c sn nh vi trng hp Load UserControl ng. Nu bn s dng Load UserControl ng bn cn p kiu ca UserControl v ng kiu trc khi s dng cc thuc tn. ly mt tham chiu ti mt Usercontrol bn cn phi s dng ch dn V d: bn mun thm d kin ca mi ngi xem h tng s dng ngn ng asp c bn hay ngn ng asp.net ? V tu thuc vo mi ngi h s chn asp hay aspnet a ra hin th mt UserControl.

Chng 8 iu khin ADO.NETHu ht ng dng hay cc website u cn phi c c s d liu, lu tr d liu, x l thng tin v a ra cc bo co, h tr tm kim Khi d liu tr thnh trung tm ca ng dng th cung cp cc chc nng ti ngi dng ph thuc vo kh nng thao tc d liu, vn m ngi thit k v ngi xy dng ng dng quan tm khi s dng d liu l:

Lu d liu tp trung m bo ton vn d liu m bo kh nng truy xut ng thi ca nhiu ngi dng trn d liu m bo thi gian hi p ngn cho mi ngi dng Bo mt d liu Trao i d liu gia cc h thng khc nhau

Nhng vn ny c gii quyt da vo kh nng ca cc h qun tr c s d liu(HQT CSDL) v cc phn mm x l d liu do HQL CSDL cung cp. Net truy xut d liu qua ADO.NET, c im chnh ca ADO.NET l kh nng lm vic vi d liu khng kt ni, d liu c lu tr trong b nh nh mt csdl thu nh gi l dataset, nhm tng tc tnh ton, x l tnh ton v hn ch s dng ti nguyn trn Database Server. c im quan trng th 2 l kh nng x l d liu chun XML, d liu dng XMl c th trao i gia bt

http://www.ebook.edu.vn

140

k h thng no nn ng dng ca bn s c nhiu kh nng lm vic vi nhiu ng dng khc.

I. Kin trc ADO .Net

Hnh 1

Kin trc ADO.NET c th chia lm 2 phn chnh:

- Managed Provider Component: bao gm cc i tng nh DataAdapter, DataReader, gi nhim v lm vic trc tip vi d liu nh database, file, - Content Component: bao gm cc i tng nh DataSet, DataTable, i din cho d liu thc s cn lm vic. DataReader l i tng mi, gip truy cp d liu nhanh chng nhng forward-only v read-only ging nh ADO RecordSet s dng Server cursor, OpenFowardOnly v LockReadOnly. DataSet cng l mt i tng mi, khng ch l d liu, DataSet c th coi l mt bn sao gn nh ca CSDL trong b nh vi nhiu bng v cc mi quan h. DataAdapter l i tng kt ni gia DataSet v CSDL, n bao gm 2 i tng Connection v Command cung cp d liu cho DataSet cng nh cp nht d liu t DataSet xung CSDL.

Trc khi i vo hc c th cc i tng ca ADO.NET chng ta cng xem qua mt v d HelloWorld vi ADO.NET qua bn s thy c cng vic cn thc hin khi thao tc vi database( v d ny mnh dng vi SQLExpress).

http://www.ebook.edu.vn

141

lm v d ny bn thc hin theo cc bc sau: bc 1. Nhn chut phi vo th mc App_Data chn new Item, Ca s Add New Item hin ra bn chn SqlDatabase nh hnh 1 sau

Hnh 2 bc 2. Nhp tn Database vo hp Name sau nhn Add. Trong Solution Explorer s thm vo Database trong th mc App_Data.

Hnh 3 bc 3. to bng d liu cho Database.mdf o bc 3.1 bn click p chut vo Datatabase.mdf -> Server Explorer hin ra nh sau:

http://www.ebook.edu.vn

142

Hnh 4 o bc 3.2 bn nhn chut phi vo Tables v chn Add New Table

Hnh 5 Trong mn hnh ca VS s hin ra nh hnh 6 v bn thao tc to cc trng d liu nh thao tc vi Access hay MSSQL 2000/2005

http://www.ebook.edu.vn

143

Hnh 6 bc 4.Vit code cho Hello.aspx.cs

using System; using System.Data; using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //chui kt ni n ngun d liu

http://www.ebook.edu.vn

144

string driver = "Data Source=(local)\\SQLEXPRESS;AttachDbFilename=|DataDirectory|Database.mdf;Integr ated Security=True;User Instance=True"; //i tng kt ni ti c s d liu SqlConnection sqlconn = new SqlConnection(driver); //Command iu khin truy vn sql SqlCommand sqlcom = sqlconn.CreateCommand(); sqlcom.CommandText = "select sTitle from tblHello where pkHelloID=1"; //m kt ni d liu sqlconn.Open(); //ly v chui gi tr trong c s d liu string result = (string)sqlcom.ExecuteScalar(); //ng kt ni sqlconn.Close(); //in gi tr ra mn hnh Response.Write(result); } } C bn cc bc thc hin vi database bc 1: Ti kt ni bc 2: To lnh iu khin truy vn SQL bc 3:M kt ni d liu bc 4: thc thi lnh bc 5: ng kt ni bc 6: in kt qu

II. i tng ConnectionKt ni c s d liu SQLServer Bn cn nhp khu lp SqlClient using System.Data.SqlClient;

http://www.ebook.edu.vn

145

Khai bo v khi to: SqlConnection sqlcon; string driver="server=localhost; UID=sa; PWD=; database=name_database"; sqlcon=new Sqlconnection(); sqlcon.ConnectionString=driver; Driver l chui kt ni n c s d liu trong trng hp ny mnh kt ni vi sqlserver 2000/2005 Kt ni vi c s d liu Access Bn cn nhp khu lp OleDb using System.Data.OleDb; OleDbConnection oleconn; string driver = "Provider=Microsoft.jet.OLEDB.4.0; Data Source=duongdan_tendata"; oleconn = new OleDbConnection(); oleconn.ConnectionString = driver;

1. Thuc tnh:ConnectString: cha ng chui kt ni ti c s d liu Database: Cha ng tn c s d liu trong chui kt ni ConnectString trn v bn c th thay i c s d liu trong lc thc thi bng phng thc ChangeDataBase:

Sqlconn.ChangeDatabase(name_database_thaydoi);Server: tn my ch bn tr ti Connect Timeout: s thi gian(tnh bng giy) ch kt ni d liu mc nh l 15giy, nu trong khong thi gian ny m vn cha kt ni xong mt li Connect Timeout c a ra. State: tr v trng thi ca i tng SqlConnection: bn c th kim tra trng thi ca State nh sau Response.Write(sqlconn.State)

2. Phng thc ca i tng Connection

http://www.ebook.edu.vn

146

Cc phng thc ca i tng Connection Open: cho php m d liu vi cc thuc tnh khai bo trong ConnectString Close: ng c s d liu ang m CreateCommand: phng thc cho php gn hay tr v mt i tng Command ng vi i tng Connection, nh v d HelloWorld SqlConnection sqlconn = new SqlConnection(driver); SqlCommand sqlcom = sqlconn.CreateCommand(); sqlcom.CommandText = "select sTitle from tblHello where pkHelloID=1"; BeginTransaction: Phng thc ny khai bo bt u mt chuyn tc, kt thc chuyn tc bn dng Table Commit Rollback: trong trng hp c li trong qu trnh thc thi bn c th s dng phng thc Rollback hu b cc chuyn tc thc hin. Dispose: dng hu b hay gii phng i tng Connection ang s dng

III. i tng SqlCommandKhai bo v khi to i tng Cch 1: SqlCommand sqlcom; sqlcom=new SqlCommand(ssql,sqlconn) cch 2: SqlCommand sqlcom = new SqlCommand(); sqlcom.Connection = sqlconn; sqlcom.CommandType = CommandType.Text; sqlcom.CommandText = "select sTitle from tblHello where pkHelloID=1"