第四章 Doking’s BLOG首页的实现 $ E1 S: N' p& b: u+ _# a5 s
; ]6 R8 M+ _ ?+ u% X: X8 C' _
现在,万事俱备,应该着手Doking’s BLOG的页面设计和数据库前台的实现。
# T, N* {9 u" ^% D* G& Z
! U+ ~6 r: a p: ^
4.1 基本页面设计
1 h' g* y# a; I& j7 r# \
c+ l8 K) C& n) z! S: R 这里,不是要谈网页艺术创造的知识,而是讲解在Dreamweaver MX2004中构建网站内页的思路和方法。
4 D' G9 ~+ O5 W& I/ {9 w- X" s! X7 E7 f9 [
4.1.1 网站设计思路
- F, p6 i$ z! ?+ d; L" R9 N
- V- O. T* r e 每个网页开始前,一般要在Firworks或在Photoshop等图像设计软件中设计好基本页面设计,图4-1-1就是Photoshop中设计好的基本页面设计图。
+ P. a% `; `$ |; M) v; O1 ~# Y
# y* W+ d9 X, z, b |4 P9 L, ?4 H2 _0 }2 }: o, J) m7 \( Z) }
) g% d" p9 o) Y& _' [3 i% D9 X
, h5 F3 ?2 w2 w7 f- ^7 k
7 ]6 p4 E9 P' y% n, d) C
图4-1-1 Doking’s BLOG基本页面设计图
! k% i" U' i8 t) w
+ h6 r" n' l4 k. P8 h# k
在图4-1-1中序号①画上红色方圈部分的是网页的左边栏目,目前是空白的,它的栏目在以后章节中会一一添加上去的,序号②画上红色方圈部分的是网站的导航条,它是由第三章建立的dkblog.mdb数据库中的LM表动态生成的。基本思路已清楚后,开始构建立网站的模板。
. }5 M6 ^2 v# G2 G, h! u6 X6 A) n* t
4.1.2 构建网站模板 5 p, `! c, J, ^" `' `2 M; D
: X# ^% g- D6 L j% s 设计思路:构建网站模板,统一网站网页设计。网站的栏目菜单内容由于数据表动态LM生成,也方便网站栏目菜单内容的修改。
3 W" X, ~& w2 i8 Y- h' f
5 f+ `+ a I- a0 `5 o3 s1 |$ b
(1)打开【文件】→【新建】,打开【新文档】的对话框,选择“类别:”为“模板页”,选择“模板页:”为“ASP.NET VB 模板”,结果如图4-1-2所示。
) q/ X+ i, i4 U) W6 t, g* F! \1 I; S/ B! s, ]6 `
- h F! p$ `$ a
7 x2 j, H# ?+ j' n4 c6 z' {% _ 6 e( R9 }. W6 h4 E
! c7 K" s' E+ C
图4-1-2 新建模板对话框
: c3 n3 ]7 |0 E' L3 a& s, O; H4 j& I' ^
(2)单击“创建”按钮,插入图层,在其属性窗口中,把ID设为“main”,把“左(L)”和“上(T)”设为0px,把“宽(W)”设为100%,把对齐方式设为居中。这样是为了把网页居中。
n) F6 O5 W3 g/ c- }
f% {; ^! ^# y1 b: u2 ? a7 z" @ (3)插入一个表格,把ID设为“bodyT”,设宽为780像素(这个是根据你的基本页面设计图的宽度而设计的),单位格的边距和间距设置为0,边框粗细设为0。
# U; q% w" @7 i* Q
9 w- \! _6 p& }. c (4)把“bodyT”表格第二行的垂直对齐方式设为顶端,再拆分为2列,第1列的宽度设为220px,第1列的宽度设为560px(分配列的宽度也是根据你的基本页面设计图而分配的),把第1列的背景颜色设为RGB(236,236,236)。
9 |3 d/ ^9 G; m: u+ @
% O* u3 X/ s" P# b; G; a1 p (5)给“bodyT”表格的第一、三行分别插入相应的背景图,把第一行的的垂直对齐方式设为底部,水平对齐方式设为右边。
4 x( |+ T2 i5 [0 j i/ _. @) ~2 _$ M5 \& o5 c
(6)还可以根据需要设计好标题、字体大小,连接字体的颜色或或配色方案等。
# N+ M5 A& E) c9 D( y& I% m' ]. ^9 c9 H9 b: P) i( z. l
(7)建立网站的导航条。
9 d, U$ N8 x5 J$ x/ L
( E! E4 h* _9 L t* Y' j; b! B6 F ①启动Access2003,打开dkblog.mdb数据库,在LM表的LM字段中按顺序输入平面设计、3D设计、网页设计、网络编程等4个记录,如图4-1-3 所示。
4 Q0 n, Y! ~; [3 w
/ }( t7 Q% J+ w: i- C( u
7 u& f1 E: N4 {6 E
+ q; |# K; V) Q" C" K4 h$ n
3 j2 h H4 E) Z3 j1 {" Q8 s9 q9 d& T& H `! @9 T* q
图4-1-3 LM表数据录入
' R i+ g7 R- g0 |- X
! [. R6 w Y" l, l# G% G2 B7 X
②返回Dreamweaver,切换到【服务器行为】面板,单击“ ”按钮,在下拉菜单中选择“数据集”,如图4-1-4所示。
( T7 _. n, x2 N0 I5 O
& X7 o" V, B$ M' A. B L5 Y: F: Y! W4 u
3 M4 ^/ f" E0 x2 x- S- R% n% {' F
' M0 A5 s+ N! H0 X9 Q% W, |% X i
. u& b1 b9 V8 \# K5 ^图4-1-4 添加数据集
5 M# } @9 p8 U- U' E
+ v& K* I' y, u9 S v0 Q% T$ I ③在弹出【数据集】对话框中,输入数据集名称为“menuda”,在连接下拉菜单中选择“dkconn”,在表格的下拉菜单中选择LM表,选择列为“全部”选项,在排序下拉菜单中选择字段“LMID”,设排序为升序,结果如图4-1-5所示:
6 X. `6 v3 B9 X M
# J% q6 t9 F" o1 g8 x
0 @+ ~. h- i' C5 h, Y6 L9 p
* P' c- W, Z9 |+ Q# g& S
+ p$ }9 Y: _! ^7 X4 c- b
9 `1 J. P: g, M8 k" ~3 `, q" n0 j g" M! ~
图4-1-5 数据集对话框
2 `( u ~7 `$ a9 x& y# M' e J, B5 s5 v; t# \, F- P* Z2 }. G: j) ~
④单击“测试”按钮,出现如图4-1-6所示的对话框,说明数据集创建成功,单击“确定”按钮完成。
1 l- [# M! v% x7 k0 d4 N+ B5 A3 `1 ?' v9 i
1 J& R; [/ z) R7 n& v, p
, e6 n9 \% H5 R2 `) V& a$ _
3 @( f# m! ]) w' h+ p
: R. T, S# r2 Q& p) A' k+ v图4-1-6 数据集测试对话框
& t/ F% j T; K0 }; y
9 Z1 M8 ^) e# x$ r: Y- Z
⑤切换到【绑定】选项卡,展开数据集(menuda)的字段,如图4-1-7所示:
' L3 H D; Y* i# t0 S
) C3 A" t, w" t
; f0 V- f9 r1 q2 V" E
4 l. @8 {" f- J7 j R, `& V
. D# C7 R$ m5 q
% ^( ~# P; x8 q: R- f* R
图4-1-7 绑定选项卡
2 P% u, Q, i. A1 `, t4 U
! a, Q2 V8 k! L6 G/ g⑥拖拉LM字段至表格bodyT的第一行,如图4-1-8所示:
3 s) m* V3 @) Z8 V! S4 w' c; Q* K
8 J9 _* O1 X2 P0 o
3 Z( s9 C8 s8 n& d1 r* w
) A6 Z6 [4 t( t, v# N& S
# N+ k( x8 D& ^% {/ Q* W* t/ f6 e! \1 G9 B" j8 C X6 q0 d& b
图4-1-8拖拉LM字段
# {$ ]5 X7 b; _0 O; F2 j8 E9 u6 R" c0 X% \
⑦放开鼠标,这时第一行会增加一段带阴影的字符:{menuda.LM},在其前输入“主页 | ”,其后输入符号“ | 联系我们”,结果如图4-1-9所示:
# f& U' a9 @$ J% c9 c, I' S1 H: c; d! C7 N
, O0 q* U% m% \ _4 _
: ~( ^2 {) M- d" s) s9 `. Q. S ' y. }/ N! ?7 ~* U7 U: |
! B; B, p3 V1 ?2 q1 q# R图4-1-9 绑定数据到bodyT表中
9 K$ t# j7 J% v( F9 }
0 C( @! N. h# b V. z
⑧选择带阴影字符{menuda.LM}和后面的字符“ | ”,选择【插入】菜单→【应用程序对象】→【重复区域】,在弹出【重复区域】的对话框中选择数据集为“menuda”,把显示记录选为“所有记录”,如图4-1-10所示,单击“确定”按钮完成网站导航菜单。
4 b1 d# h7 z$ x9 x/ }: ~
8 \- K% {9 n" T, U. u
: X/ {! U3 s2 _
" B! E$ a! u) ` 3 y4 m6 ]7 J+ f% p$ A
2 u7 g; U; H( \6 k# M o
图4-1-10 重复区域对话框
1 d, @! J$ X( p: G9 D
: i0 s" f- N4 H: {6 b5 z
(7)把鼠标移到表格bodyT第二行第二列,选择【插入】菜单→【模板对象】→【可编辑区域】,在【新建可编辑区域】对话框中,输入名称为“mainbody”,按下“确定”键,如图4-1-11所示:
: C0 t" S! d/ w- K w5 u% x+ y( I/ ~8 a( }6 `
?' W/ v% Z7 L6 E7 o, Y. n
" T1 q. {: M+ s
, L& w1 i! s" ^7 O3 H4 d. ? O9 w' u0 I! @
图4-1-11 新建可编辑区域
3 p) t/ g$ g4 @# M: k
, |) n# u4 f/ d2 Z( H$ K5 L. Q 这样就完成网站模板的初期工作,保存模板为bkblog.dwt.aspx。
7 B$ C( z5 E' ]* \7 [5 r1 D
/ ?" ^' }9 w) y' j( Y6 }. i: h" f
4.1.3 首页的页面设计 : J, G+ k d' A. e. p4 X
, i+ H3 ^6 M+ W: M( M 设计思路:完成网站的模板建设工作后,得以它来构建网站和更新网站。
' W( P8 X& b! e' j! z
! p: {5 g; a* e5 t$ T5 } (1)新建“ASP.NET VB” 动态页,打开【修改】菜单→【模板】→【应用模板到页】,在弹出的【选择模板】对话框中,选择模板“dkblog”,单击“选择”按钮,如图4-1-12所示:
- q" N! o5 D; z& D7 {" i4 F% r* B' y+ Z+ d! R
" E! a) b! U9 c
3 o% m- B$ e' L9 W
& }' D; ^% ?) N; R& [( ?# h% m9 w' x1 L, h l6 C% ~: _0 @7 {8 `
图4-1-12 选择模板
' P4 T2 u' N! X% t( j
9 w2 W0 |5 e0 q' l; [& B
(2)把鼠标移到“mainbody”可编辑区域中,插入表格,设其ID为“ztre”,其实它设计成如图4-1-13所示,这是每一个学习笔记将要显示的内容。
1 V) h% j* `, }7 K
! u* _% r4 }) v- J
8 y8 G6 y( C2 l: f; j# i8 B
0 X7 `4 r$ E( O: X# x3 r5 L
8 ?9 ?- }# C! N/ S7 ^6 `
; _: @; x1 Z: ~& o图4-1-13 每一个学习笔记将要显示的内容
& e( p. U4 u* a# d9 ~1 l# x0 T" R, z. w y9 G# ~- d5 f
4.2 插入数据集
1 J5 n" Y" p& ~( D) w8 X* L% h% f9 g1 `4 W+ W" e. ]6 f7 e) _* K
这一节讲解的插入数据集可没有上一节讲解的那么简单。首先看看图4-1-13,每个学习笔记将要显示主题、发表时间、笔记分类(即所属分栏目)、作者(姓名)、回复(个数),再来看看ZT表其设计图(3.2节中的图3-2-2),只有LMID(分类栏目的ID),没有栏目名,这个要连接LM表才能取得;只有YHID(发表者的ID),没有作者的姓名,这个要连接YH表才能取得;其它都可以从ZT表中获得数据。“好复杂啊!”其实不用担心,在Access中就可以解决一切困难。
; L2 Y- f# L0 w S% L9 y
+ h+ J3 [4 {: _. \6 D+ `+ ?3 Z+ E8 s% Q 4.2.1 建立数据表连接查询
8 C$ f; _% v, O2 X. Q5 J
; T! b4 c- |6 c (1)启动Access2003,选择【查询】→双击【在设计视图中创建查询】,在弹出的【显示表】窗口,如图4-2-1所示:
+ t: F! v! c! I/ t
. v2 G9 K. R; ]/ \
% H2 j$ y3 | c9 X! ~" z
+ \) }- A' a% l R% K3 g
. R; c- l" A+ K7 N( B8 E! M! f9 k
) Q' b, Q% e) z8 z图4-2-1 添加查询连接表
" @; E2 n* C, b
( D- I& i3 `) f
(2)按次序分别添加LM表、ZT表、YH表, 结果如图4-2-2所示:
0 Y4 @/ D/ l( P6 m4 @" Z! f# }6 m$ t- G) p4 c
( x5 s9 c/ @& Z2 V$ \
2 O) M) O7 t8 d! k/ [: Z" {- g9 {, Y ( U6 @4 e0 u$ P
! \8 C) M$ v& C6 `图4-2-2 数据表连接视图
. G# ~$ l6 H/ L/ D+ D) |. {. d/ q
5 d+ @7 Z! Q$ T' p& L! x6 K
(3)把查询字段设计为,如图4-2-3所示:
! y( n! G6 ?& m/ J
V/ x7 I, P, c c, _8 E
8 s7 M1 y' }; V3 N& p! [0 e
$ Y6 R+ I. m/ E
& J( J) {' c. g
& x. d# ^- E, Z" |7 L. Q( s图4-2-3 查询字段设计图
$ Q: C3 L& U8 m; j
9 G, W0 x. |6 d5 E# g: o (4)保存这个查询为ZTRE,完成在Access中数据表连接查询。
( i# m& K/ u$ o; o
1 J/ x. n6 b' P) R% b0 r, t 4.2.2 插入数据集
' ]& T; ]4 j7 K, c0 z2 i
. Y4 O$ ^" Z# H7 d8 A" ?1 J (1)返回到Dreamweaver,切换到【服务器行为】面板,单击“ ”按钮,添加数据集Ztre,选择表格为刚才在Access中新建的查询ZTRE,其它的有关设置,如图4-2-4所示:
5 M( [; S! L0 G6 s; X$ S% p
& y% O* n& Q: i/ D' y
) M' P# C9 }! h+ i G: K
9 l: _. Z, T5 L* \, m$ [ ! `- b- ~ o7 U4 A- u
# q% D0 t0 y; m6 y( C2 I图4-2-4 Ztre数据集的设置
( l: g/ @6 h' U, t" F( t0 _7 i9 o
! c" S! k% [4 F. a, _ (2)切换到【绑定】选项卡,展开数据集(Ztre),拖拉字段ZTNAME替换表格ztre中的“学习笔记主题”,拖拉字段ZTTIME替换“发表时间”,拖拉字段LM替换“分类”,拖拉字段ZYTEXT到表格ztre的第二行空白处,其他设计如图4-2-5所示:
# w# O; K0 i0 q6 m) e' y; l( I( j9 u
8 J8 {) v, z8 j7 Y3 Q$ \3 [
- t- N( b( o2 G, ~ / S4 \3 H9 s; U1 `8 t
8 J g V& K0 \ r图4-2-5 绑定数据到ztre表中
" T! j4 t" [* K* f# k" ^
5 Y5 I+ b- d( ] Y9 a3 _( l(3)切换到【服务器行为】面板,可以看已增添了许多动态文本,双击动态文本(Ztre.ZYTEXT),选格式为“编码—HTML编码格式”,如图4-2-6所示:
5 V O* n' ]& x5 c( g: E+ b( J
2 H2 T; u2 p1 O+ j" P$ n3 A5 w. ~
5 C; J2 F: q- q7 p. H
- `0 _. x0 X6 [( C; P" l3 K ( ~) I# w3 Q! N& x/ X4 ?/ l- U
- \+ {# E$ e3 Z1 i. U5 U. E图4-2-6 设动态文本格式
* }; q9 E; c. {
) R z @% x! y7 Q1 X: `. q9 \# _ (4)选择表格ztre的第一、二、三行,并把它们定义的重复区域,其设置如图4-2-7所示。
& _/ |8 |6 r2 f9 Y. ]4 w
# x) Q' ~3 D8 o8 X
% J! A0 g' z9 |, m: c
& g7 I2 o' V* T7 e& _ / e( X5 C1 ], `; U* \" z6 f% ~( H
5 T- ~- P8 ?9 s7 w' _
图4-2-7 定义重复区域
3 Z; A' v, w- @% i9 \
) K5 L1 i2 p# u4 c Y 这样就完成了主页插入数据集和数据绑定工作。
8 U( R- n) m* Y6 Y. K& d3 e) |) f5 y
% w& j% [( s8 X& V4.3 分页显示
+ g# o- C8 q" ^7 k
) r, \: i( f0 z: s5 N0 z3 t" T
(1)选择“首页”,在【服务器行为】面板,单击“ ”按钮,选择【数据集分页】→【移至第一页】,如图4-3-1所示:
/ B" _5 G3 E% N
$ O( X3 Q Q. V& J$ y
, x$ o q4 U: B4 J5 t1 S! H
; z9 S) f/ h4 G7 w
9 U v. r8 B$ Z
6 f/ z- k) Q$ K7 q图4-3-1 数据集分页菜单
0 G/ a6 v5 Q4 {% d9 n
4 e$ D/ d8 w; R
(2)在弹出的对话框中,选择数据集为Ztre,按“确定”键,如图4-3-2所示:
- d% |; [% P1 \7 X
! d- E0 [- x- |1 ^6 h3 Z2 D7 j. K
( s( H& o& S; O4 Y* S$ ^" ?
* ~5 J% G4 M5 q8 |
, B- v! }+ R" p* D* r: Z* a图4-3-2 移至第一页对话框
3 g S5 F0 B4 r$ q
, W1 M, v2 c" u5 H5 D/ c (3)选定“前一页”,定义为数据集分页的“移至前一页”;选定“后一页”,定义为数据集分页的“移至下一页”;选定“最后”,定义为数据集分页的“移至最后一页”。
5 o+ j3 [+ ?9 j7 j! `% q+ I z r+ d% u! x7 o, I' z3 O
(4)把“页码”改为“当前页码:”在【服务器行为】面板,单击“ ”按钮,选择【显示记录记数】→【显示当前页号】。
5 K5 B. n) `8 r: \: B
y, P8 S) c/ C7 D$ Q/ s) ^/ ?6 {
(5)保存了index.aspx,这样就完成了首页的设计工作,在Access中给相应ZT表、YH表随便输入几个记录,进行IE浏览器中浏览(下面的章节中如无特别说明,笔记全属于“网络编程”栏目),大概如图4-3-3所示:
6 ^1 v% C0 D7 F Z: S+ b3 {, ?
: ~, D: q6 J4 o/ o- O1 B' F! I3 V* g, o. N" q( @2 }, w- |8 X
4 W& }5 z- d$ h3 ^3 T9 [
3 N3 J# C/ a. x+ y$ E
9 y/ P4 ~, H0 N5 K图4-3-3 首页浏览图