Tải bản đầy đủ (.pdf) (10 trang)

Bài 6: Thiết kê và lập trình web với ASP.NET - Kết buộc dữ liệu với ASP.NET

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (782.09 KB, 10 trang )

Lp trình và Thit k Web 2

i
6

i

6
KtKt
bucbuc
dd
liuliu
vivi
ASP .NETASP .NET
KtKt
bucbuc
dd
liuliu
vivi
ASP

.NETASP

.NET
Ths
Trn
Th
Bích
Hnh
Ths
.


Trn
Th
Bích
Hnh
Khoa CNTT Khoa CNTT –– H.KHTNH.KHTN
© 2009 Khoa Công ngh thông tin
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
NidNid
Ni

d
ung
Ni

d
ung

Kt
buc
d
liu
Kt
buc
d
liu
 DataSource Control
 DataBound Control
 Biu thc kt buc d liu
 Tham sô hóa câu truy vn
© 2009 Khoa CNTT - HKHTN

2
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
NidNid
Ni

d
ung
Ni

d
ung

Kt
buc
d
liu
Kt
buc
d
liu
 DataSource Control
 DataBound Control
 Biu thc kt buc d liu
 Tham sô hóa câu truy vn
© 2009 Khoa CNTT - HKHTN
3
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
KtKt
b b 
dd

lili
ii
ASP NETASP NET
KtKt
b
u

c
b
u

c
dd
li
u
li
uv
i
v
i
ASP
.
NETASP
.
NET

Kt
buc
d
liu

bao
gm
:
Kt
buc
d
liu
bao
gm
:
– Ly& Hinth d liu
Sp
xp
phân
trang
cache
d
liu

Sp
xp
,
phân
trang
,
cache

d
liu
– Cpnht, thêm, xóa d liu

© 2009 Khoa CNTT - HKHTN
4
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
KtKt
b b 
dd
lili
ii
ASP NETASP NET
KtKt
b
u

c
b
u

c
dd
li
u
li
uv
i
v
i
ASP
.
NETASP
.

NET

Gm
2
loi
control
h
tr
vic
truy
xut
d
liu
:
Gm
2

loi
control

h
tr
vic
truy
xut
d
liu
:
DataSource control
DataBound Control

ObjectDataSource
SqlDataSource
List Controls
AdRotator
AccessDataSource
XmlDataSource
SiteMapDataSource
DataList
DetailsView
FormView
SiteMapDataSource
FormView
GridView
Menu
- Không phát sinh giao din
- Phát sinh giao din
-
Kt
buc
đn
mt
Repeater
TreeView
- Ktni vi CSDL
- c ghi d liu
- Làm cu ni trung gian gia
d li

u và controls khác
Kt

buc
đn
mt
DataSource đ lyd liu
thông qua
DataSourceID
- ThitlpThuc tính khóa
thông
qua
DataKeyNames
© 2009 Khoa CNTT - HKHTN
5

thông
qua

DataKeyNames
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
NidNid
Ni

d
ung
Ni

d
ung

Kt
buc

d
liu
Kt
buc
d
liu
 DataSource Control
 DataBound Control
 Biu thc kt buc d liu
 Tham sô hóa câu truy vn
© 2009 Khoa CNTT - HKHTN
6
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
DtS C t lDtS C t l
D
a
t
a
S
ource
C
on
t
ro
lD
a
t
a
S
ource

C
on
t
ro
l
DataSource Control Ý ngha s dng
SqlDataSource Ktni d liu vi MS SQL Server, OLE DB, ODBC,
Oracle,
ObjectDataSource Ktni d liu vi các đi tng nghip v, lp đi
tng,
AccessDataSource Ktni d liu vi MS Access
XmlDataSource
K
tnid liuvitptinXML
XmlDataSource
K
t

ni

d

liu

vi

tp

tin


XML
SiteMapDataSource Kt ni d liu vi tp tin Sitemap
© 2009 Khoa CNTT - HKHTN
7
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
DtS C t lDtS C t l
CtiCti
D
a
t
a
S
ource
C
on
t
ro
lD
a
t
a
S
ource
C
on
t
ro
l

C

onnec
ti
on
C
onnec
ti
on
© 2009 Khoa CNTT - HKHTN
8
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
DtS C t lDtS C t l
Wb fiWb fi
D
a
t
a
S
ource
C
on
t
ro
l

D
a
t
a
S
ource

C
on
t
ro
l

––
W
e
b
.con
fi
g
W
e
b
.con
fi
g
<?
l
i
"
1
0
"?>
<?
xm
l
vers

i
on=
"
1
.
0
"?>
<configuration>
<
appSettings/>
<
ti St i
>
<
connec
ti
on
St
r
i
ngs
>
<add name=“QLTV_CnnString”
connectionString="Data Source=.\SQLEXPRESS;
AttachDbFilename=
|DataDirectory|\QLTV.mdf;
Integrated Sec rit Tr e
Integrated

Sec

u
rit
y=
Tr
u
e
;
User Instance=True"
providerName="System.Data.SqlClient" />
<
add
name
"
AdventureWorks
CnnString

<
add
name
=
"
AdventureWorks
_
CnnString

connectionString="Data Source=SECURITYAGENT\;
Initial Catalog=AdventureWorks;
User ID=sa;Password=sa"
providerName
"

System Data SqlClient
"/>
providerName
=
"
System
.
Data
.
SqlClient
"

/>
</connectionStrings>
</
configuration>
© 2009 Khoa CNTT - HKHTN
9
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
DtS C t lDtS C t l
SlDtSSlDtS
D
a
t
a
S
ource
C
on
t

ro
l

D
a
t
a
S
ource
C
on
t
ro
l

S
q
lD
a
t
a
S
ource
S
q
lD
a
t
a
S

ource
<body>
<form id="form1" runat="server">
<
div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="
<%$ ConnectionStrings:AdventureWorks_CnnString %>“
SelectCommand="SELECT [ContactID], [CreditCardID], [ModifiedDate] FROM
[ContactCreditCard]">
</
asp:SqlDataSource>
</div>
</
form>
</
body>
© 2009 Khoa CNTT - HKHTN
10
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
DtS C t lDtS C t l
ThiThi

tt
ll

ââ
tt

SQLSQL

D
a
t
a
S
ource
C
on
t
ro
lD
a
t
a
S
ource
C
on
t
ro
l
––
ThiThi

tt
ll

ppc
â
uc

â
u
t
ruy
t
ruy vv

nn
SQLSQL
© 2009 Khoa CNTT - HKHTN
11
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
NidNid
Ni

d
ung
Ni

d
ung

Kt
buc
d
liu
Kt
buc
d
liu

 DataSource Control
 DataBound Control
 Biu thc kt buc d liu
 Tham sô hóa câu truy vn
© 2009 Khoa CNTT - HKHTN
12
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
DtB dC t lDtB dC t l
D
a
t
a
B
oun
d

C
on
t
ro
lD
a
t
a
B
oun
d

C
on

t
ro
l
DataBound Control Ý ngha s dng
GridView Hinth d liu di dng bng, cho phép sp xp trên
ct, phân trang d liu, cp nht hoc xóa d liu
DetailsView Hinth mt dòng d liutimtthi đim di dng
bng
, cho phép phân trang, cpnhthocxóad liu
FormView Ging DetailsView, hinthi di dng Form, cho phép
đnh ngha View t các control và kt buc d liu cho
các control
các

control
DataList Hinth d liu di dng danh sách. Cho phép thay
đi layout hin th nhiuct
Repeater Hinth d liudi dng danh sách. Tđnh ngha
cách thchinth (Template)
© 2009 Khoa CNTT - HKHTN
13
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
GidViGidVi
G
r
id

Vi
ew
G

r
id

Vi
ew
© 2009 Khoa CNTT - HKHTN
14
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Dtil ViDtil Vi
D
e
t
a
il
s
Vi
ew
D
e
t
a
il
s
Vi
ew
© 2009 Khoa CNTT - HKHTN
15
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
FViFVi
F

orm
Vi
ew
F
orm
Vi
ew
© 2009 Khoa CNTT - HKHTN
16
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Dt LitDt Lit
D
a
t
a
Li
s
tD
a
t
a
Li
s
t
© 2009 Khoa CNTT - HKHTN
17
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
RtRt
R
epea

t
e
rR
epea
t
e
r
© 2009 Khoa CNTT - HKHTN
18
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Dt B dC t lDt B dC t l
TltTlt
D
a
t
a
B
oun
d

C
on
t
ro
l

D
a
t
a

B
oun
d

C
on
t
ro
l

T
emp
l
a
t
es
T
emp
l
a
t
es
Templates Ý ngha
HeaderTemplate Qui đnh ni dung & layout ca dòng Tiêu đ danh sách
ItemTem
p
late Qui đ

nh n


i dun
g
& la
y
out hinthi

các m

cd

li

u
p


gy



SelectedItemTemplate Qui đnh ni dung & layout ca mcd liu đang đc
chn
EditItemTemplate Qui đnh ni dung & layout ca mcd liu đang đc
chnh sa(cpnht)
AlternatingItem
Templa t e
Qui
đ

nh

ni
dung & layout
ca
c
a
m
c
d


li

u
k
ê

ti

p
AlternatingItem
Templa t e
Qui

đ

nh
ni
dung

&


layout

ca
c
a
m
c
d


li

u
k
ê

ti

p
SeperatorTemplate Qui đnh hình thcth hin Phân cách giacácmcd
liu
liu
FooterTemplate Qui đnh ni dung & layout ca dòng cui danh sách

© 2009 Khoa CNTT - HKHTN
19
PagerTemplate Qui đnh hình thcthê

hinchcnng phân trang

LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Ví dVí d
TltTlt


d



d

T
emp
l
a
t
es
T
emp
l
a
t
es
© 2009 Khoa CNTT - HKHTN
20
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Dt B dC t lDt B dC t l
ThTh

títí

hh
D
a
t
a
B
oun
d

C
on
t
ro
l

D
a
t
a
B
oun
d

C
on
t
ro
l

Th

u
Th
u

cc
títí
n
h
n
h
Thuctính Ýngha
DataSourceID Thitlp ngund liu
DataKe
y
Names Thitl

p
các thu

ctínhkhóatron
g
bn
g
d

li

u
y


p

g
g

AllowSorting Tt/Btchcnng t đng spxp (GridView)
AllowPa
g
in
g
Tt/B

tchcnn
g
t

đ

n
g
p
hân tran
g
gg

g


g
p

g
PageSize Qui đnh Sô dòng d liuhinthi trong 1 trang (GridView)
Pa
g
eIndex Ch

sô tran
g
hinhành
g
g
ItemIndex Ch sô mcd liu hinhành
EditItemIndex Ch sô mcd liu đang đc cpnht
AutoGenerateRows/Items T đng phát sinh hình thchinthi tng ng viCSDL
AutoGenerateDelete
/Edit/
T

đ

ng
phá
t
sinh

c

t
Delete/Edit/Insert
© 2009 Khoa CNTT - HKHTN

21
AutoGenerateDelete
/Edit/
InsertButton
T


đ

ng
phá
t
sinh

c

t
Delete/Edit/Insert
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Dt B dC t lDt B dC t l
SS
kiki

D
a
t
a
B
oun
d


C
on
t
ro
l

D
a
t
a
B
oun
d

C
on
t
ro
l

SS
 
kiki

nn
S kinÝngha
Item[Row]Deleting/Editing/Updating
/Inserting
S kin phát sinh sau khi click các nút

Delete/Edit/Update/Insert
Item[Row]Deleted/Edited/Updated/
Inserted
S kin sau khi thc thi xong thao tác
Delete/Edit/Update/Insert d liu
RowCancelingEdit S

kinkhiclick nút Cancel  chê đô

Edit
(GridView)
PageIndexChanged
S

ki

n
chuy

n
trang
PageIndexChanged
S


ki

n
chuy


n
trang
SelectedIndexChanged S kin chn1 mc/dòng d liu
Sorting S kin phát sinh sau khi click chcnng sort
Sorted
S kin sau khi thc thi xong chcnng sort
© 2009 Khoa CNTT - HKHTN
22
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Ví dVí d


d



d

protected void GridViewCategories_RowUpdating(object sender,
ii
Gr
i
dV
i
ewUpdateEventArgs e)
{
//
H
y
b

l

nh Update n

u không
th
a đi

uki

n
//

H
y

b

l

nh

Update

n

u

không


th
a

đi

u

ki

n
try {
int id = Int32.Parse(e.Keys["CategoryId"].ToString());
object newName = e.NewValues["CategoryName"];
object oldName = e.OldValues["CategoryName“];
if (
ld
)
if

(
newName
=
= o
ld
Name
)
throw new Exception();
}
catch
{

}{
e.Cancel = true;
}
© 2009 Khoa CNTT - HKHTN
}
23
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
NidNid
Ni

d
ung
Ni

d
ung

Kt
buc
d
liu
Kt
buc
d
liu
 DataSource Control
 DataBound Control
 Biu thc kt buc d liu
 Tham sô hóa câu truy vn
© 2009 Khoa CNTT - HKHTN

24
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
BiBi
thth
ktkt
b b 
dd
lili
Bi
u
Bi
u
th
c
th
c
ktkt
b
u

c
b
u

c
dd
li
u
li
u



pháp
chung
cho
vic
kt
buc
(Data Binding)
cho
các

pháp
chung
cho
vic
kt
buc
(Data

Binding)

cho
các
Data bound control trong ASP.NET :
<%#
Biuthcktbuc
%>
<%#
Biu


thc

kt

buc

%>
 Vicktbucd liu trong data source ca các control s
đcthchin khi phng thc
DataBind() đcgi
© 2009 Khoa CNTT - HKHTN
25
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
<html xmlns=" >
<
body
>
<
body
>
<form id="form1" runat="server">
<
div>
<
asp:DataList ID="MyList" runat="server">
<ItemTemplate>
Here is a value:
<%# Container.DataItem %>
</

ItemTemplate>
</
asp
:
DataList
>
</
asp
:
DataList
>
</div>
</
form>
</
body>
</html>
© 2009 Khoa CNTT - HKHTN
26
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Bi th ktb  d liBi th ktb  d li
Bi
u
th
c
kt

b
u


c
d

li
u
Bi
u
th
c
kt

b
u

c
d

li
u

Thuc tính đn
Thuc

tính

đn
VD: <%# custID %>
 Tp hp
VD: <asp:ListBox id="List1“ datasource='<%# myArray %>‘
runat="server">

 Biu thc
VD: <%# (cst.FirstName + " " + cst.LastName )%>

Ktqu cavicgiphng thc

Kt

qu

ca

vic

gi

phng

thc
VD: <%# GetBalance(custID) %>
<%
#
Eval
(
CustomerID
)
%>
© 2009 Khoa CNTT - HKHTN
#
(
)

<%# Bind(FirstName) %>
27
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Bi th ktb  d liBi th ktb  d li
Ví dVí d
Bi
u
th
c
kt

b
u

c
d

li
u
Bi
u
th
c
kt

b
u

c
d


li
u
––


d



d

<body>
<
form id="form1" runat="server">
i
<d
i
v>
<
asp:DropDownList ID="StateList" runat="server" AutoPostBack="True">
<
asp:ListItem>IN</asp:ListItem>
<
asp:ListItem>KS</asp:ListItem>
i
/
i
<asp:L
i

stItem>MD<
/
a
sp:L
i
stItem>
<
asp:ListItem>MI</asp:ListItem>
<
asp:ListItem>OR</asp:ListItem>
<
asp:ListItem>UT</asp:ListItem>
/
DDLit
<
/
a
sp
:
D
rop
D
own
Li
s
t
>
Selected State:
<
asp:Label ID="Label1"

tt
'
%#SttLitSl tdIt T t%'
t
ex
t
=
'
<
%#

St
a
t
e
Li
s
t
.
S
e
l
ec
t
e
dIt
em.
T
ex
t


%
>
'

runat="server" />
</
div>
</
form>
</
bd
>
</
b
o
d
y
>
public partial class
_
Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
© 2009 Khoa CNTT - HKHTN
28
Page.DataBind();
}
}

Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
NidNid
Ni

d
ung
Ni

d
ung

Kt
buc
d
liu
Kt
buc
d
liu
 DataSource Control
 DataBound Control
 Biu thc kt buc d liu
 Tham sô hóa câu truy vn
© 2009 Khoa CNTT - HKHTN
29
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
ThTh
ôô

hóhó

ââ
tt

Th
am
Th
am ss
ôô

hóhó
aac
â
uc
â
u
t
ruy
t
ruy vv

nn

S


d
ng
đ

i

v

i

c
câu
truy
v

n

đi

u
ki

n
ho

c
c

n
S


d
ng
đ


i
v

i

c
câu
truy
v

n



đi

u
ki

n
ho

c
c

n
nhnvàogia tr

Select * from Table Where …
– Insert into Table Values(…)


Delete Table Where

Delete

Table

Where

– Update Table Set … Where …
 Cách thchin
1. Tham sô hóa câu truy vn SQL cho DataSource control
2. nh ngha nhóm tham sô tng ng vi câu truy vn
3. nh ngha ngungia tr cho các tham sô
© 2009 Khoa CNTT - HKHTN
30
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
BB

11
ThTh

hóhó
ââ
tt

SQLSQL
BB





cc
1

1

––
Th
am
Th
am s

s


a

ac
â
uc
â
u
t
ruy
t
ruy v

nv


n
SQLSQL

SQL
Data Provider
:
@
TenThamSo

SQL

Data

Provider
:

@
TenThamSo
SELECT * FROM HocSinh WHERE tenhocsinh = @ten
INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb)
VALUES(@id, @ten, @dtb)

Các
provider
khác
:
?

Các
provider


khác
:

?
SELECT * FROM HocSinh WHERE tenhocsinh = ?
INSERT
INTO
HocSinh
(
id hocsinh
,
tenhocsinh
,
dtb
)
INSERT

INTO

HocSinh
(
id
_
hocsinh
,

tenhocsinh
,


dtb
)
VALUES(?, ?, ?)
© 2009 Khoa CNTT - HKHTN
31
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
BB

22


hh
hh
hóhó
thth
ôô

BB




cc
2

2

––



n
h
n
h
ng
h
ng
h
aan

n

mm
th
am
th
am ss
ôô


c
nhó
m
tham
s
ô

tng

ng

v

i
câu
truy
v

n

c
nhó
m
tham
s
ô

tng

ng
v

i
câu
truy
v

n
– <SelectParameters> </SelectParameters>
<
InsertParameters

></
InsertParameters
>

<
InsertParameters
>

</
InsertParameters
>
– <DeleteParameters> </DeleteParameters>
UdtP t
/
UdtP t

<
U
p
d
a
t
e
P
arame
t
ers> <
/
U
p

d
a
t
e
P
arame
t
ers>
© 2009 Khoa CNTT - HKHTN
32
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
BB

33


hh
hh

ii

t 

t 
hh
thth
ôô

BB





cc
3

3

––


n
h
n
h
ng
h
ng
h
aa ngungu

nng
i
ag
i
a
t
r



t
r

c
h
oc
h
o
th
am
th
am ss
ôô
Loithamsô Các Thuctínhquantrng
Name,
DBT
T
DBT
ype,
T
ype,
DefaultValue, ConvertEmptyStringToNull,
Direction
<asp:Parameter> Name
<asp:ControlParameter> ControlID, PropertyName
<asp:FormParameter> FormField
<asp:QueryStringParameter> QueryStringField
CkiP t
CkiN
<asp:

C
oo
ki
e
P
arame
t
er>
C
oo
ki
e
N
ame
<asp:SessionParameter> SessionField
© 2009 Khoa CNTT - HKHTN
33
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Ví dVí d


d



d

<asp:AccessDataSource ID="AccessDataSourceCategory" runat="server"
ii
Confl

i
ctDetect
i
on="CompareAllValues"
DataFile="~/App_Data/Products.mdb"
SelectCommand
="
SELECT
*
FROM [Categories]

SelectCommand
SELECT

FROM

[Categories]
UpdateCommand="UPDATE [Categories] SET [Name] = ? WHERE
[CategoryId] =
? AND [Name] = ?"
Old l t tSt i
"iil{
0
}"
Old
Va
l
uesParame
t
erForma

tSt
r
i
ng=
"
or
i
g
i
na
l_{
0
}"
>
<UpdateParameters>
<as
p
:Parameter
N
ame="Name" T
yp
e="Strin
g
"
/
>
p
yp g /
<asp:Parameter Name="original_CategoryId" Type="Int32" />
<asp:Parameter Name="original_Name" Type="String" />

</UpdateParameters>
</asp:AccessDataSource>
© 2009 Khoa CNTT - HKHTN
34
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
SS
kiki


DtSDtS
CtlCtl
SS
 
kiki

nnc

c

aa
D
a
t
a
S
ource
D
a
t
a

S
ource
C
on
t
ro
lC
on
t
ro
l
S


ki

n
Ý
n
g
ha


g
Seleting/Inserting/Deleting/Updating S kin trc khi thchin thao tác
select/insert/delete/update
Selected/Inserted/Deleted/Updated S kin sau khi thchin thao tác
select/insert/delete/update
protected void AccessDataSourceCategory_Inserting(object sender,
S

q
lDataSourceStatusEventAr
g
s e)
qg
{
// Hybo thao tác Insert
if ([iukinkhôngtha])
e Cancel
true
e
.
Cancel
=
true
;
}
© 2009 Khoa CNTT - HKHTN
35
LptrìnhvàThitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
Ví dVí d


d



d

protected void AccessDataSourceCategory_Inserted(object

sender, SqlDataSourceStatusEventArgs e)
{
//


ó

á
á
//
Ki

m
tra n

u c
ó

l

i
p
h
á
t sinh tron
g
qu
á
trình
thchin insert (ví d trùng khóa) thi xutthôngbáoli

Exce
p
tion ex = e.Exce
p
tion
;
p
p
;
if (ex != null)
{
e.ExceptionHandled = true;
LabelMessage.Text = ex.Message;
}
}
© 2009 Khoa CNTT - HKHTN
36
Lp trình và Thitk Web 2 – Bài 6: Ktbucd liu (DataBinding)
TT
ktkt
T
ng
T
ng
ktkt

DataSource
Control
DataSource
Control

– Tham sô hóa câu truy vn
X


ly

s

ki

n

X


ly

s


ki

n
 DataBound Control
– Paging, Sorting
– Edit Item Template
– Simple Databinding

Custom Databindin
g

g
© 2009 Khoa CNTT - HKHTN
37

×