《Web編程基礎》實驗報告
一、留言板的簡介(一)留言板
留言板是一種電子便簽管理系統,是用 ASP 或其它腳本語言編寫的網絡應用程序。在網絡用戶交流中起很大的作用, 每個人都可以將他的資料和要求等信息保留在頁面上,以供他人觀看。留言板供其他網友給自己留言,或者臨時存放自己的感受。留言操作相對簡單, 在您進入網站后, 進入任何一個留言板貨社區均可以看到有輸入框,輸入后提交即可。留言板提供完備的信息發布功能,在網絡用戶交流中也有很大的作用。而這個留言板僅僅是簡單的留言和管理員對留言板進行設置和進行回復、刪除管理的工具。該留言板簡單但實用, 而且具備了大多數留言板的基本功能。
二、需求分析(一)需求分析
要求系統具有良好的人機界面, 能夠滿足用戶的留言要求, 能夠讓訪客在查看留言內容后,對留言的內容發表自己的意見,管理員能夠實現對留言的回復及刪除操作, 網站最大限度地實現維護和易操作性,網站運行穩定、安全可靠。(二)設計目標
界面設計美觀友好,使用靈活便捷,數據存儲安全可靠,提供留言查看、留言發表、留言回復、留言刪除功能,系統最大限度地實現易維護和易操作性。(三)功能分析
可以按照發言時間的先后順序,留言板自動排序,友好簡潔的管理界面,便于管理員維護留言板,管理員具有回復和刪除留言的權限,具有頁數跳轉功能系統功能模塊圖,三、系統功能設計
在編寫留言系統前,首先需要確定留言系統所需要的一些功能模塊和適用場景,例如留言系統是以何種形式呈現給用戶, 如何對這些留言進行管理等等,這些功能都是需要在開發初級進行設計和規劃的。后臺主頁,后臺主頁面, 后臺管理,后臺留言信息管理,后臺會員。前臺主頁,留言系統網站登陸界面,主頁,留言動態。登陸界面主要有,注冊、登陸、看帖、發帖。(一)主要功能 ,、留言網站用戶登陸界面功能
當用戶訪問 W eb 頁面時需要進行登錄進入留言板網站界面,用戶不進行登錄就不能夠進入系統,也不能夠分享相應的信息。管理員可以配置是否需要進行登錄才能查看留言板網站的內容, 如果管理員設置需要登錄查看,則用戶不登陸就不能夠查看相應的內容。
2、用戶主頁功能
用戶登錄之后就可以看到留言板系統的內容。
3、用戶注冊功能
訪客需要注冊賬戶后才能夠看帖,發帖。
4、用戶看帖功能
用戶登錄留言板網站后,就可以查看到網站內的留言貼。
5、用戶發帖功能
用戶登錄留言板網站后,就可以根據其它留言貼而發帖。
6、管理員登錄功能
為了方便管理留言板系統,管理員進行對留言板管理。
7、回復功能
用戶對留言進行回復(二)數據庫設計 ASP.NET 留言板系統在數據庫上并不是很困難, 但是也不會簡單,其中包含了很多的功能, 這些功能能夠讓用戶在網站上分享自己的見解、意見、聊天等,所以在數據庫的設計上, 其表的數量和表與表之間的關系也原有的模塊或系統更加復雜。
1、數據表的創建
創建表可以通過 SQL Server 進行創建
2、事務表 Admin Member Info
3、公告數據
公告數據可以不使用數據庫進行存儲,在這里可以使用 txt 文檔進行數據存儲, 這樣不僅可以減輕數據庫服務器的壓力, 也能夠增加公告中文本的可擴展性。注意,對于公告的數據直接存儲在 txt 文檔中,當首頁需要調用公告時,可以直接從 txt 文檔中讀取數據進行 HTML 呈現。
(四)設計技術
1、ASP Microsoft Active Server Pages 即我們所稱的 ASP,其實是一套微軟開發的服務器端腳本環境。Active Server Page 是創建動態網頁的一個很好的工具, 它起一種編程語言的作用,可以利用它編寫動態產生 HTML 的程序代碼。而且 ASP 也是服務器端腳本環境,可以用來創建交互式 WEB 頁并建立強大的的 Web 應用程序。因此,只要用戶瀏覽 Web 站點并請求一個 ASP 頁,Web 服務器就可以處理相應的 ASP 代碼,生成 HTML 代碼,然后將它傳遞到用戶瀏覽器并顯示出網頁。ASP 內含于 IIS4.0 和 5.0 之中,通過 ASP 我們可以結合 HTML 網頁、ASP 指令和 ActiveX 元件建立動態、交互且高效的 WEB服務器應用程序。有了 ASP 就不必擔心客戶的瀏覽器是否能運行所編寫的代碼, 因為所有的程序都將在服務器端執行, 包括所有嵌在普通HTML 中的腳本程序。當程序執行完畢后,服務器僅將執行的結果返回給客戶瀏覽器, 這樣也就減輕了客戶端瀏覽器的負擔, 大大提高了交互的速度。
2、SQL SQL 全稱是“結構化查詢語言(Structured Query Language)” ,最早的是 IBM 的圣約瑟研究實驗室為其關系數據庫管理系統 SYSTEM R開發的一種查詢語言,它的前身是 SQUARE 語言。SQL 語言結構簡潔,功能強大,簡單易學,所以自從 IBM 公司 1981 年推出以來,SQL 語言,得到了廣泛的應用。如今無論是像 Oracle ,Sybase, SQL Server這些大型的數據庫管理系統,還是像 Visual Foxporo, PowerBuilder這些微機上常用的數據庫開發系統,都支持 SQL 語言作為查詢語言。
3、IIS IIS 是 Internet Information Server 的縮寫,它是微軟公司主推的服務器,最新的版本是 Windows2003 里面包含的 IIS 6,IIS 與WindowNT Server 完全集成在一起,因而用戶能夠利用 Windows NTServer 和 NTFS,NT File SystemNT 的文件系統,內置的安全特性,建立強大,靈活而安全的 Internet 和 Intranet 站點。IIS 支持 HTTP,Hypertext Transfer Protocol,超文本傳輸協議, ,FTP,Fele Transfer Protocol,文件傳輸協議,以及 SMTP 協議,通過使用 CGI 和 ISAPI,IIS 可以得到高度的擴展。
四、系統界面和代碼實現
1、用戶登錄界面, 代碼如下, u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
L o g i n
:
S y s t e m.W e b.U I.P a g e { p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e)
{
} p r o t e c t e d
v o i d
B t n L o g i n _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
i f
(T x t N a m e.T e x t
= =
“ ”
|
T x t P a s s.T e x t
= =
“ ”)
{ L a b e l 1.T e x t
=
“ 必須輸入帳號和密碼,”;r e t u r n;
} e l s e
{ S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l C a t a l o g = B B S;I n t e g r a t e d
S e c u r i t y = t r u e ”);c o n n.O p e n();S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d();
C m d.C o n n e c t i o n
=
c o n n;C m d.C o m m a n d T e x t
=
“ s e l e c t
[ 用戶名]
f r o m
[ m e m b e r ]
w h e r e
[ 用戶名] = ' ”
+
T x t N a m e.T e x t +
“ '
a n d
[ 密碼] = ' ”
+
T x t P a s s.T e x t
+
“ ' ”;S q l D a t a R e a d e r
d r
=
C m d.E x e c u t e R e a d e r();i f
(d r.R e a d()){ S e s s i o n [ “ m e m ” ]
=
T x t N a m e.T e x t;
/ / 登錄成功后記下該用戶昵稱,以便后續功能使用
L a b e l 1.T e x t
=
“ 登錄成功,”;T x t N a m e.T e x t
=
“ ”;T x t N a m e.E n a b l e d
=
f a l s e;T x t P a s s.T e x t
=
“ ”;T x t P a s s.E n a b l e d
=
f a l s e;d r.C l o s e();
} e l s e {
L a b e l 1.T e x t
=
“ 昵稱不存在或密碼不對,”;
} c o n n.C l o s e();
}
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);
} }
2、用戶注冊界面, 代碼如下,u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
_ D e f a u l t
:
S y s t e m.W e b.U I.P a g e
{
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e)
{
} p u b l i c
b o o l
C h e c k I n p u t(){
i f
(T x t N a m e.T e x t
= =
“ ”
|
T x t P a s s.T e x t
= =
“ ”
| T x t P a s s C o n f.T e x t
= =
“ ”
|
T x t E m a i l.T e x t
= =
“ ”){ L a b e l 1.T e x t
=
“ 你輸入的信息不正確,請重新輸入,”;T x t N a m e.T e x t
=
“ ”;T x t P a s s.T e x t
=
“ ”;T x t P a s s C o n f.T e x t
=
“ ”;T x t E m a i l.T e x t
=
“ ”;r e t u r n
f a l s e;
} e l s e {
i f
(T x t P a s s.T e x t
!=
T x t P a s s C o n f.T e x t){
L a b e l 1.T e x t
=
“ 你兩次輸入的密碼不同,請重新輸入,”;T x t N a m e.T e x t
=
“ ”;T x t P a s s.T e x t
=
“ ”;T x t P a s s C o n f.T e x t
=
“ ”;T x t E m a i l.T e x t
=
“ ”;r e t u r n
f a l s e;
}
} r e t u r n
t r u e;
} p r o t e c t e d
v o i d
B t n R e g _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){ i f
(C h e c k I n p u t()){ S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l
C a t a l o g = B B S;I n t e g r a t e d S e c u r i t y = t r u e ”);c o n n.O p e n();/ / 檢查用戶是否已存在
S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d();C m d.C o n n e c t i o n
=
c o n n;C m d.C o m m a n d T e x t
=
“ s e l e c t
[ 用戶名]
f r o m
m e m b e r ”;S q l D a t a R e a d e r
d r
=
C m d.E x e c u t e R e a d e r();w h i l e
(d r.R e a d()){ i f
(d r.G e t S t r i n g(0)
= =
T x t N a m e.T e x t){
L a b e l 1.T e x t
=
T x t N a m e.T e x t
+
“ 已經存在,請你選擇另外的昵稱,”;c o n n.C l o s e();r e t u r n;
}
} c o n n.C l o s e();s t r i n g
S q l S t r;S q l S t r
=
“ I n s e r t
i n t o
m e m b e r([ 用戶名] , [ 密碼] , [ 電子郵件])
v a l u e s(' ”
+
T x t N a m e.T e x t +
“ ' , ' ”
+
T x t P a s s.T e x t
+
“ ' , ' ”
+
T x t E m a i l.T e x t
+
“ ')”;C m d.C o m m a n d T e x t
=
S q l S t r;c o n n.O p e n();C m d.E x e c u t e N o n Q u e r y();c o n n.C l o s e();L a b e l 1.T e x t
=
“ 恭喜你,你已注冊成功,”;}
}
p r o t e c t e d
v o i d
B t n C a n c e l _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.W r i t e(“ < s c r i p t
l a n g u a g e = j a v a s c r i p t > a l e r t(' 用戶已取消注冊,');< / s c r i p t > ”);
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);
} } 3、看帖界面, 代碼如下, u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
S h o w
:
S y s t e m.W e b.U I.P a g e {
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e){ S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l
C a t a l o g = B B S;I n t e g r a t e d S e c u r i t y = t r u e ”);S q l D a t a A d a p t e r
a d a p t e r
=
n e w
S q l D a t a A d a p t e r(“ s e l e c t
*
f r o m
[ I n f o ] ” ,c o n n);D a t a S e t
d s
=
n e w
D a t a S e t();a d a p t e r.F i l l(d s ,“ I n f o T a b l e ”);G r i d V i e w 1.D a t a S o u r c e
=
d s.T a b l e s [ 0 ].D e f a u l t V i e w;G r i d V i e w 1.D a t a B i n d();} p r o t e c t e d
v o i d
G r i d V i e w 1 _ P a g e I n d e x C h a n g i n g(o b j e c t
s e n d e r ,G r i d V i e w P a g e E v e n t A r g s
e){
G r i d V i e w 1.P a g e I n d e x
=
e.N e w P a g e I n d e x;G r i d V i e w 1.D a t a B i n d();} p r o t e c t e d
v o i d
B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){ R e s p o n s e.R e d i r e c t
(“ L o g i n.a s p x ”);} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);} }
4、發帖界面, 代碼如下, u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
S e n d
:
S y s t e m.W e b.U I.P a g e {
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e){
} p r o t e c t e d
v o i d
B t n S e n d _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
L b l C a u t i o n.T e x t
=
“ 你必須輸入主題和內容,”;R e t u r n;
} S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l
C a t a l o g = B B S;I n t e g r a t e d S e c u r i t y = t r u e ”);s t r i n g
S q l S t r;S q l S t r
=
“ I n s e r t
i n t o
i n f o(主題, 張貼者昵稱, 內容, 張貼時間, 回復編號)
”;S q l S t r
=
S q l S t r
+
“
v a l u e s(' ”
+
T x t S u b j e c t.T e x t
+
“ ' , ' ”
+
S e s s i o n [ “ m e m ” ]
+
“ ' , ' ”
+ T x t C o n t e n t.T e x t;S q l S t r
=
S q l S t r
+
“ ' , ' ”
+
D a t e T i m e.N o w
+
“ ' , ' 0 ')”;S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d(S q l S t r ,c o n n);c o n n.O p e n();C m d.E x e c u t e N o n Q u e r y();c o n n.C l o s e();L b l C a u t i o n.T e x t
=
“ 已成功發帖,”;T x t S u b j e c t.T e x t
=
“ ”;T x t C o n t e n t.T e x t
=
“ ”;
} p r o t e c t e d
v o i d
M e n u 1 _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e)
{
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);
} } 5、管理員登錄界面, 代碼如下, u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
g u a n l i
:
S y s t e m.W e b.U I.P a g e {
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e){
} p r o t e c t e d
v o i d
B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
i f
(T e x t B o x 1.T e x t
= =
“ ”
|
T e x t B o x 2.T e x t
= =
“ ”){
L a b e l 1.T e x t
=
“ 必須輸入帳號和密碼,”;r e t u r n;
} e l s e { S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l C a t a l o g = B B S;I n t e g r a t e d
S e c u r i t y = t r u e ”);c o n n.O p e n();
S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d();C m d.C o n n e c t i o n
=
c o n n;C m d.C o m m a n d T e x t
=
“ s e l e c t
[ 用戶名]
f r o m
[ a d m i n ]
w h e r e
[ 用戶名] = ' ”
+
T e x t B o x 1.T e x t +
“ '
a n d
[ 密碼] = ' ”
+
T e x t B o x 2.T e x t
+
“ ' ”;S q l D a t a R e a d e r
d r
=
C m d.E x e c u t e R e a d e r();i f
(d r.R e a d()){
S e s s i o n [ “ m e m ” ]
=
T e x t B o x 1.T e x t;
/ / 登錄成功后記下該用戶昵稱,以便后續功能使用
L a b e l 1.T e x t
=
“ 登錄成功,”;T e x t B o x 1.T e x t
=
“ ”;T e x t B o x 1.E n a b l e d
=
f a l s e;T e x t B o x 2.T e x t
=
“ ”;T e x t B o x 2.E n a b l e d
=
f a l s e;d r.C l o s e();R e s p o n s e.R e d i r e c t(“ S h o w A r t i c l e.a s p x ”);}
e l s e {
L a b e l 1.T e x t
=
“ 昵稱不存在或密碼不對,”;
} c o n n.C l o s e();
}
} p r o t e c t e d
v o i d
B u t t o n 2 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.W r i t e(“ < s c r i p t
l a n g u a g e = j a v a s c r i p t > a l e r t(' 用戶已取消注冊,');< / s c r i p t > ”);
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);} p r o t e c t e d
v o i d
B u t t o n 3 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ L o g i n.a s p x ”);} }
6、顯示發帖信息界面, 代碼如下,u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
S h o w A l l
:
S y s t e m.W e b.U I.P a g e {
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e){ S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l
C a t a l o g = B B S;I n t e g r a t e d S e c u r i t y = t r u e ”);S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d(“ s e l e c t
*
f r o m
[ I n f o ]
w h e r e
I D = ”
+ R e q u e s t.Q u e r y S t r i n g [ “ i d ” ] ,c o n n);c o n n.O p e n();S q l D a t a R e a d e r
o b j = C m d.E x e c u t e R e a d e r();w h i l e
(o b j.R e a d()){
L b l N a m e.T e x t
=
o b j.G e t V a l u e(2).T o S t r i n g();L b l D a t e.T e x t
=
o b j.G e t V a l u e(4).T o S t r i n g();T x t S u b j e c t.T e x t
=
o b j.G e t V a l u e(1).T o S t r i n g();T x t C o n t e n t.T e x t
=
o b j.G e t V a l u e(3).T o S t r i n g();
} o b j.C l o s e();c o n n.C l o s e();s t r i n g
s q l
=
“ S e l e c t
*
F r o m
[ i n f o ]
w h e r e
回復編號= ' ”
+
R e q u e s t.Q u e r y S t r i n g [ “ i d ” ]
+
“ ' ”;S q l D a t a A d a p t e r
a d a p t e r
=
n e w
S q l D a t a A d a p t e r(s q l ,c o n n);D a t a S e t
d s
=
n e w
D a t a S e t();a d a p t e r.F i l l(d s ,“ R e p l y ”);D a t a L i s t 1.D a t a S o u r c e
=
d s.T a b l e s [ 0 ].D e f a u l t V i e w;D a t a L i s t 1.D a t a B i n d();
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);} }
7、回復界面, 代碼如下, u s i n g
S y s t e m.D a t a.S q l C l i e n t;p u b l i c
p a r t i a l
c l a s s
S h o w A r t i c l e
:
S y s t e m.W e b.U I.P a g e {
p r o t e c t e d
v o i d
P a g e _ L o a d(o b j e c t
s e n d e r ,E v e n t A r g s
e){
s t r i n g
s t r
=
“ 1 2 3 4 ”;S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l
C a t a l o g = B B S;I n t e g r a t e d S e c u r i t y = t r u e ”);S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d(“ s e l e c t
*
f r o m
[ i n f o ]
w h e r e
[ 主題] = ”
+
s t r ,c o n n);c o n n.O p e n();S q l D a t a R e a d e r
o b j
=
C m d.E x e c u t e R e a d e r();w h i l e
(o b j.R e a d()){
L b l N a m e.T e x t
=
o b j.G e t V a l u e(2).T o S t r i n g();L b l D a t e.T e x t
=
o b j.G e t V a l u e(4).T o S t r i n g();T x t S u b j e c t.T e x t
=
o b j.G e t V a l u e(1).T o S t r i n g();T x t C o n t e n t.T e x t
=
o b j.G e t V a l u e(3).T o S t r i n g();}
c o n n.C l o s e();} p r o t e c t e d
v o i d
B t n R e p l y _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
i f
(T x t R e.T e x t
= =
“ ”){
L b l C a u t i o n.T e x t
=
“ 請輸入回帖內容,”;
} e l s e {
s t r i n g
S q l S t r;S q l S t r
=
“ I n s e r t
i n t o
i n f o([ 主題] , [ 張貼者昵稱] , [ 內容] , [ 張貼時間] , [ 回復編號])
”;S q l S t r
=
S q l S t r
+
“
v a l u e s(' R e : ”
+
T x t S u b j e c t.T e x t +
“ ' , ' ”
+
S e s s i o n [ “ m e m ” ]
+ “ ' , ' ”
+
T x t R e.T e x t;S q l S t r
=
S q l S t r
+
“ ' , ' ”
+
D a t e T i m e.N o w
+
“ ' , ' ”
+
R e q u e s t.Q u e r y S t r i n g [ “ I D ” ]
+
“ ')”;S q l C o n n e c t i o n
c o n n
=
n e w
S q l C o n n e c t i o n(“ D a t a
S o u r c e =.;I n i t i a l C a t a l o g = B B S;I n t e g r a t e d
S e c u r i t y = t r u e ”);S q l C o m m a n d
C m d
=
n e w
S q l C o m m a n d(S q l S t r ,c o n n);c o n n.O p e n();C m d.E x e c u t e N o n Q u e r y();c o n n.C l o s e();L b l C a u t i o n.T e x t
=
“ 已成功回帖,”;} } p r o t e c t e d
v o i d
B t n A l l R e _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ S h o w A l l.a s p x ? i d = ”
+
R e q u e s t.Q u e r y S t r i n g [ “ i d ” ]);} p r o t e c t e d
v o i d
B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ L o g i n.a s p x ”);
} p r o t e c t e d
v o i d
L i n k B u t t o n 1 _ C l i c k(o b j e c t
s e n d e r ,E v e n t A r g s
e){
R e s p o n s e.R e d i r e c t(“ g u a n l i.a s p x ”);
} }
8、Menu 控件,五、總結
上述就是我們組留言板管理系統的全部設計和開發過程。通過這次實訓設計, 使我們感到高科技、新知識的力量, 讓我們知道我們還有很多知識需要學習,這是我們第一次運用 ASP.NET 做的完整的設計程序, 加之水平有限, 設計中難免有不當之處, 還請老師給予批評、指正。
學習ASP.NET,我是從VFP、ASP轉型而來的。
我學習的ASP.NET,走的是asp.net(c#)+Sql2005這條路。
之前學習VFP時,就對數據庫是了深刻的了解,對CS結構的項目有了大概的認識與體驗。如今學習ASP.NET,速度要比他人快得多,至少更容易上手。
關于這方面的學習,我的重點放在BS結構的網站項目上,我不太喜歡CS結構的程序;因為我覺得,CS結構的程序,要想讓別人看到,除非別人知道并擁有您的軟件,或者購買您的CS程序,否則,沒有人會知道您的程序的。
但是,BS結構的網站程序,就不同了,您可以將您的網站發布到互聯網上,這樣,就可以讓很多的陌生的不知名的可遇不可求的網友來訪問您的網站,從而,他們就會知道您的網站程序,這更能充分體現出一個程序的價值所在。
這兩者的區別就在于,CS結構的程序,必須安裝到任何一個客戶端才能使用;而BS結構的程序,只需要配置好服務器,連網的計算機,在隨時隨地都能打開您的網站;這不僅省去了安裝的麻煩,同時更有效的解決了時間和空間的限制、打破資源的局限性,讓網站程序的價值得以充分體現出來。
之前我學習ASP,是通過dw學習的,當時,就覺得非常麻煩,尤其是html標簽文件與ASP代碼,是同放在一個文件里面的,這就產生了大量的冗余的代碼,修改的時候覺得非常麻煩,即不容易維護、更不容易修改。看上去,眼睛都花了。
還好,轉向ASP.NET的學習,正符合自己的個性思維,在學習的過程中,如魚得水,僅需要學習一下基本的操作和語法,其它基本沒有障礙。
學習了ASP.NET的代碼分離模式與無刷新技術,認識到了網站的真正的結構,最終才對BS結構的網站程序有了進一步的認識。
同時,對SQL大型數據庫的認識才有了質的改變。
《ASP.NET數據庫編程》教學大綱
課程編號:
開課部門:
適用專業:軟件專業
總學時:90(其中理論45學時,實踐45學時)
第一部分
一、課程的性質和任務
本課程主要以微軟的 ASP.NET 程序設計為基礎進行 Web 系統構建和網絡程序設計開發。Active Server Pages . NET(ASP . NET)提供了迄今為止最高級的 Web 開發平臺。是建立在.NET 框架的通用語言運行環境(Common Language Runtime,CLR)上的編程框架,可用于在服務器上生成功能強大的 Web 應用程序。與以前的 Web 開發模型相比,ASP.NET 具有開發效率高、使用簡單快捷、管理更簡便、全新的語言支持以及清晰的程序結構等優點。
大綱說明
二、課程教學基本要求
本課程是一門高級考證課程,除讓學生掌握ASP.NET開發之外,還必須讓他們掌握各個知識點,熟練使用開發環境,多做練習,順利通過考證。
二、推薦教材與參考書
《ASP.NET數據庫開發經典案例》中國水利出版社 羅斌等編著
《ASP.NET職業技能培訓教程》 勞動和社會保障部全國計算機信息高新技術考試指定教材 2004年4月
《ASP.NET試題匯編》 勞動和社會保障部全國計算機信息高新技術考試指定教材 2004年4月
《ASP.NET程序設計》
陳惠貞 陳俊榮著 中國鐵道出版社
2004年5月
四、教學方法與教學形式建議
由于本課程是一門實踐性和技能性較強的課程,因此教師上課最好直接在機房進行,采取邊講邊練的形式。教學應該力求通俗易懂、多用一些圖片等手段對重點、難點問題進行講解和說明。同時通過學生實踐操作,使得學生更好的理解掌握。
第二部分 教學內容與教學要求
第 1 章 ASP NET 基礎(4學時)
本章主要介紹 ASP.NET 編程的網絡基礎知識和 網絡程序設計的相關概念,Web 和 Web 應用程序開發的概念及相關的基礎知識。
本章主要講述什么是 ASP.NET、ASP.NET 的發展、如何安裝 ASP.NET 框架、如何配置 IIS、如何安裝 Visual Studio.NET 以及如何創建和運行 ASP.NET 應用程序。創建虛擬目錄、其他文本編輯器的使用、Visual Studio.NET 簡介、創建 ASP . NET Web 應用程序、創建新 ASP.NET(Web 窗體)、如何添加控件、保存和瀏覽頁
第 2 章
C# 語言(8學時)
C# 是微軟.NET 開發平臺下的編程語言,是.NET 開發平臺的核心。微軟的.NET 為開發程序開創了新的局面,使開發網絡程序變得簡單,該平臺也提供一種更為強大有效的 Web 服務,通過豐富的類庫可以使程序員快速開發所需要的程序。本章主要講解C#語言基礎及C#面向對象編程的思想及方式
第 3 章
HTML 控件(8學時)
本章主要講解HTML標記及HTML控件,掌握HTML控件的功能及格式,熟練掌握ASP.NET中常用的HTML控件。
第 4 章
Web 服務器控件(8學時)
本章主要講解Web 服務器控件,掌握Web 服務器控件的功能及格式,熟練掌握ASP.NET中常用的Web 服務器控件。
第 5 章
Web 高級控件(8學時)
本章主要講解Web 高級控件,熟練掌握幾個Web 高級控件,如:Calendar控件、DataGrid控件、Adrotator控件等,以及掌握Web驗證控件等。
第 6 章
數據庫編程(12學時)
本章從 Connection 對象入手,首先以 SQL Server 和 Access 為例介紹了連接數據庫的兩種不同方式,然后詳細探討了 ADO.Net 的兩種訪問數據源的方式:使用 DataReader 對象,以及把 DataSet 對象和 DataAdapter 對象結合起來。接下來,介紹了三種數據顯示控件 Repeater 控件、DataList 控件和 DataGrid 控件。
第 7 章
高級應用(8學時)
本章將介紹 ASP.NET 的高級應用,具體包括用戶控件和自定義控件、XML 基礎知識、XML 在 ASP.NET 中的應用、緩存技術、Web Service 及其相關技術。