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"