第一篇:aspnet軟件開(kāi)發(fā)學(xué)習(xí)總結(jié)
asp.net學(xué)習(xí)經(jīng)驗(yàn)總結(jié)
通過(guò)幾個(gè)月的學(xué)習(xí),我初步掌握ASP.NET開(kāi)發(fā)平臺(tái)的基本知識(shí),也通過(guò)老師的教學(xué),完成了實(shí)際項(xiàng)目中的應(yīng)用。由于大學(xué)學(xué)習(xí)中打下了較為扎實(shí)的C#基礎(chǔ),所以在選擇開(kāi)發(fā)平臺(tái)學(xué)習(xí)時(shí)選擇了ASP.NET開(kāi)發(fā)平臺(tái)。ASP.NET是基于網(wǎng)絡(luò)的交互開(kāi)發(fā)平臺(tái),可以通過(guò)微軟的C#語(yǔ)言以及Visual Studio 2010開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā)。
在學(xué)習(xí)ASP.NET之前,對(duì)網(wǎng)絡(luò)交互的開(kāi)發(fā)平臺(tái)是非常陌生的。并不知道如何才能實(shí)現(xiàn)網(wǎng)站的開(kāi)發(fā)和實(shí)現(xiàn)。通過(guò)ASP.NET的學(xué)習(xí),我成功的使用WEB2.0和MVC2.0兩種架構(gòu)模式分別開(kāi)發(fā)了資訊類網(wǎng)站和商務(wù)類網(wǎng)站。下面我將對(duì)開(kāi)發(fā)過(guò)程的學(xué)習(xí)進(jìn)行總結(jié)。
首先是資訊類網(wǎng)站的開(kāi)發(fā),選擇使用了方便入手的web2.0架構(gòu)平臺(tái)。Web2.0以邏輯上的表示層、數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)邏輯層。通過(guò)三層架構(gòu)間函數(shù)的調(diào)用,可以增加系統(tǒng)的安全性,也可以提高代碼的可讀性。通過(guò)對(duì)資訊類網(wǎng)站的開(kāi)發(fā)我逐漸熟悉了ASP.NET的開(kāi)發(fā)過(guò)程以及交互模式,通過(guò)與ADO.NET的配合使用,完成了與數(shù)據(jù)庫(kù)的交互工作。半個(gè)月的時(shí)間初步完成了資訊類新聞網(wǎng)的開(kāi)發(fā)工作,實(shí)現(xiàn)了用戶注冊(cè)、登錄,分欄目顯示圖文新聞信息,點(diǎn)擊查看詳情。后臺(tái)實(shí)現(xiàn)了對(duì)用戶角色的管理以及新聞的管理、編輯、上傳工作。較完整的理解了ASP.NET中WEB2.0架構(gòu)的基本開(kāi)發(fā)過(guò)程。對(duì)三層架構(gòu)有了初步的理解和認(rèn)識(shí)。接下來(lái)的時(shí)間我學(xué)習(xí)了使用MVC2.0開(kāi)發(fā)商務(wù)網(wǎng)站。MVC同樣是三層架構(gòu)模型。與WEB開(kāi)發(fā)架構(gòu)的主要區(qū)別在于,MVC是物理上的三層架構(gòu),而WEB是邏輯上的三層架構(gòu)。MVC解放了路由機(jī)制,使得頁(yè)面的交互速度大幅提高。通過(guò)訪問(wèn)controler層,調(diào)用DAL層函數(shù),使用MODEL層存儲(chǔ)數(shù)據(jù),使用DBHELPER類中的通用方法,實(shí)現(xiàn)參數(shù)的傳遞,以及與數(shù)據(jù)庫(kù)的交互,最終將參數(shù)返回到VIEW層,實(shí)現(xiàn)頁(yè)面的顯示。MVC架構(gòu)的開(kāi)發(fā)優(yōu)勢(shì)在于,給了程序員絕對(duì)的自由,可以通過(guò)JS、JQ寫(xiě)出各種需要的顯示效果,頁(yè)面的可讀性和自由性也大大提高。同時(shí),MVC也兼顧了WEB的優(yōu)點(diǎn),方便了代碼的模塊化傳遞,增加代碼的復(fù)用性,提高代碼的可讀性。通過(guò)一個(gè)半月的開(kāi)發(fā)工作,我成功實(shí)現(xiàn)了商務(wù)網(wǎng)站的基本功能,實(shí)現(xiàn)了支付接口,前臺(tái)的注冊(cè)登錄,商品展示、購(gòu)買(mǎi)。后臺(tái)的訂單管理,用戶管理以及角色授權(quán)等功能。
通過(guò)學(xué)習(xí)ASP.NET我基本熟悉了網(wǎng)站的開(kāi)發(fā)模式、架構(gòu)以及開(kāi)發(fā)流程,通過(guò)實(shí)際項(xiàng)目的演練,也讓我能夠?qū)⒋髮W(xué)學(xué)習(xí)中的理論運(yùn)用到實(shí)踐。現(xiàn)階段所需要的就是繼續(xù)加深C#的學(xué)習(xí)深度,了解JS、JQ庫(kù)的寫(xiě)作規(guī)范,爭(zhēng)取能夠盡早使用自己編寫(xiě)的JS庫(kù)完成個(gè)人網(wǎng)站的建設(shè)開(kāi)發(fā)工作。很感謝成都華育國(guó)際的老師和同學(xué)在這幾個(gè)月時(shí)間里給我的幫助,讓我能夠在ASP.NET的開(kāi)發(fā)中達(dá)到入門(mén)水平。希望通過(guò)自身的努力,將自己的技術(shù)進(jìn)一步提高。
第二篇:aspnet總結(jié)
學(xué)習(xí)ASP.NET,我是從VFP、ASP轉(zhuǎn)型而來(lái)的。
我學(xué)習(xí)的ASP.NET,走的是asp.net(c#)+Sql2005這條路。
之前學(xué)習(xí)VFP時(shí),就對(duì)數(shù)據(jù)庫(kù)是了深刻的了解,對(duì)CS結(jié)構(gòu)的項(xiàng)目有了大概的認(rèn)識(shí)與體驗(yàn)。如今學(xué)習(xí)ASP.NET,速度要比他人快得多,至少更容易上手。
關(guān)于這方面的學(xué)習(xí),我的重點(diǎn)放在BS結(jié)構(gòu)的網(wǎng)站項(xiàng)目上,我不太喜歡CS結(jié)構(gòu)的程序;因?yàn)槲矣X(jué)得,CS結(jié)構(gòu)的程序,要想讓別人看到,除非別人知道并擁有您的軟件,或者購(gòu)買(mǎi)您的CS程序,否則,沒(méi)有人會(huì)知道您的程序的。
但是,BS結(jié)構(gòu)的網(wǎng)站程序,就不同了,您可以將您的網(wǎng)站發(fā)布到互聯(lián)網(wǎng)上,這樣,就可以讓很多的陌生的不知名的可遇不可求的網(wǎng)友來(lái)訪問(wèn)您的網(wǎng)站,從而,他們就會(huì)知道您的網(wǎng)站程序,這更能充分體現(xiàn)出一個(gè)程序的價(jià)值所在。
這兩者的區(qū)別就在于,CS結(jié)構(gòu)的程序,必須安裝到任何一個(gè)客戶端才能使用;而B(niǎo)S結(jié)構(gòu)的程序,只需要配置好服務(wù)器,連網(wǎng)的計(jì)算機(jī),在隨時(shí)隨地都能打開(kāi)您的網(wǎng)站;這不僅省去了安裝的麻煩,同時(shí)更有效的解決了時(shí)間和空間的限制、打破資源的局限性,讓網(wǎng)站程序的價(jià)值得以充分體現(xiàn)出來(lái)。
之前我學(xué)習(xí)ASP,是通過(guò)dw學(xué)習(xí)的,當(dāng)時(shí),就覺(jué)得非常麻煩,尤其是html標(biāo)簽文件與ASP代碼,是同放在一個(gè)文件里面的,這就產(chǎn)生了大量的冗余的代碼,修改的時(shí)候覺(jué)得非常麻煩,即不容易維護(hù)、更不容易修改。看上去,眼睛都花了。
還好,轉(zhuǎn)向ASP.NET的學(xué)習(xí),正符合自己的個(gè)性思維,在學(xué)習(xí)的過(guò)程中,如魚(yú)得水,僅需要學(xué)習(xí)一下基本的操作和語(yǔ)法,其它基本沒(méi)有障礙。
學(xué)習(xí)了ASP.NET的代碼分離模式與無(wú)刷新技術(shù),認(rèn)識(shí)到了網(wǎng)站的真正的結(jié)構(gòu),最終才對(duì)BS結(jié)構(gòu)的網(wǎng)站程序有了進(jìn)一步的認(rèn)識(shí)。
同時(shí),對(duì)SQL大型數(shù)據(jù)庫(kù)的認(rèn)識(shí)才有了質(zhì)的改變。
第三篇:ASPNET留言板
一、留言板的簡(jiǎn)介(一)留言板
留言板是一種電子便簽管理系統(tǒng),是用 ASP 或其它腳本語(yǔ)言編寫(xiě)的網(wǎng)絡(luò)應(yīng)用程序。在網(wǎng)絡(luò)用戶交流中起很大的作用, 每個(gè)人都可以將他的資料和要求等信息保留在頁(yè)面上,以供他人觀看。留言板供其他網(wǎng)友給自己留言,或者臨時(shí)存放自己的感受。留言操作相對(duì)簡(jiǎn)單, 在您進(jìn)入網(wǎng)站后, 進(jìn)入任何一個(gè)留言板貨社區(qū)均可以看到有輸入框,輸入后提交即可。留言板提供完備的信息發(fā)布功能,在網(wǎng)絡(luò)用戶交流中也有很大的作用。而這個(gè)留言板僅僅是簡(jiǎn)單的留言和管理員對(duì)留言板進(jìn)行設(shè)置和進(jìn)行回復(fù)、刪除管理的工具。該留言板簡(jiǎn)單但實(shí)用, 而且具備了大多數(shù)留言板的基本功能。
二、需求分析(一)需求分析
要求系統(tǒng)具有良好的人機(jī)界面, 能夠滿足用戶的留言要求, 能夠讓訪客在查看留言內(nèi)容后,對(duì)留言的內(nèi)容發(fā)表自己的意見(jiàn),管理員能夠?qū)崿F(xiàn)對(duì)留言的回復(fù)及刪除操作, 網(wǎng)站最大限度地實(shí)現(xiàn)維護(hù)和易操作性,網(wǎng)站運(yùn)行穩(wěn)定、安全可靠。(二)設(shè)計(jì)目標(biāo)
界面設(shè)計(jì)美觀友好,使用靈活便捷,數(shù)據(jù)存儲(chǔ)安全可靠,提供留言查看、留言發(fā)表、留言回復(fù)、留言刪除功能,系統(tǒng)最大限度地實(shí)現(xiàn)易維護(hù)和易操作性。(三)功能分析
可以按照發(fā)言時(shí)間的先后順序,留言板自動(dòng)排序,友好簡(jiǎn)潔的管理界面,便于管理員維護(hù)留言板,管理員具有回復(fù)和刪除留言的權(quán)限,具有頁(yè)數(shù)跳轉(zhuǎn)功能系統(tǒng)功能模塊圖,三、系統(tǒng)功能設(shè)計(jì)
在編寫(xiě)留言系統(tǒng)前,首先需要確定留言系統(tǒng)所需要的一些功能模塊和適用場(chǎng)景,例如留言系統(tǒng)是以何種形式呈現(xiàn)給用戶, 如何對(duì)這些留言進(jìn)行管理等等,這些功能都是需要在開(kāi)發(fā)初級(jí)進(jìn)行設(shè)計(jì)和規(guī)劃的。后臺(tái)主頁(yè),后臺(tái)主頁(yè)面, 后臺(tái)管理,后臺(tái)留言信息管理,后臺(tái)會(huì)員。前臺(tái)主頁(yè),留言系統(tǒng)網(wǎng)站登陸界面,主頁(yè),留言動(dòng)態(tài)。登陸界面主要有,注冊(cè)、登陸、看帖、發(fā)帖。(一)主要功能 ,、留言網(wǎng)站用戶登陸界面功能
當(dāng)用戶訪問(wèn) W eb 頁(yè)面時(shí)需要進(jìn)行登錄進(jìn)入留言板網(wǎng)站界面,用戶不進(jìn)行登錄就不能夠進(jìn)入系統(tǒng),也不能夠分享相應(yīng)的信息。管理員可以配置是否需要進(jìn)行登錄才能查看留言板網(wǎng)站的內(nèi)容, 如果管理員設(shè)置需要登錄查看,則用戶不登陸就不能夠查看相應(yīng)的內(nèi)容。
2、用戶主頁(yè)功能
用戶登錄之后就可以看到留言板系統(tǒng)的內(nèi)容。
3、用戶注冊(cè)功能
訪客需要注冊(cè)賬戶后才能夠看帖,發(fā)帖。
4、用戶看帖功能
用戶登錄留言板網(wǎng)站后,就可以查看到網(wǎng)站內(nèi)的留言貼。
5、用戶發(fā)帖功能
用戶登錄留言板網(wǎng)站后,就可以根據(jù)其它留言貼而發(fā)帖。
6、管理員登錄功能
為了方便管理留言板系統(tǒng),管理員進(jìn)行對(duì)留言板管理。
7、回復(fù)功能
用戶對(duì)留言進(jìn)行回復(fù)(二)數(shù)據(jù)庫(kù)設(shè)計(jì) ASP.NET 留言板系統(tǒng)在數(shù)據(jù)庫(kù)上并不是很困難, 但是也不會(huì)簡(jiǎn)單,其中包含了很多的功能, 這些功能能夠讓用戶在網(wǎng)站上分享自己的見(jiàn)解、意見(jiàn)、聊天等,所以在數(shù)據(jù)庫(kù)的設(shè)計(jì)上, 其表的數(shù)量和表與表之間的關(guān)系也原有的模塊或系統(tǒng)更加復(fù)雜。
1、數(shù)據(jù)表的創(chuàng)建
創(chuàng)建表可以通過(guò) SQL Server 進(jìn)行創(chuàng)建
2、事務(wù)表 Admin Member Info
3、公告數(shù)據(jù)
公告數(shù)據(jù)可以不使用數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),在這里可以使用 txt 文檔進(jìn)行數(shù)據(jù)存儲(chǔ), 這樣不僅可以減輕數(shù)據(jù)庫(kù)服務(wù)器的壓力, 也能夠增加公告中文本的可擴(kuò)展性。注意,對(duì)于公告的數(shù)據(jù)直接存儲(chǔ)在 txt 文檔中,當(dāng)首頁(yè)需要調(diào)用公告時(shí),可以直接從 txt 文檔中讀取數(shù)據(jù)進(jìn)行 HTML 呈現(xiàn)。
(四)設(shè)計(jì)技術(shù)
1、ASP Microsoft Active Server Pages 即我們所稱的 ASP,其實(shí)是一套微軟開(kāi)發(fā)的服務(wù)器端腳本環(huán)境。Active Server Page 是創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè)的一個(gè)很好的工具, 它起一種編程語(yǔ)言的作用,可以利用它編寫(xiě)動(dòng)態(tài)產(chǎn)生 HTML 的程序代碼。而且 ASP 也是服務(wù)器端腳本環(huán)境,可以用來(lái)創(chuàng)建交互式 WEB 頁(yè)并建立強(qiáng)大的的 Web 應(yīng)用程序。因此,只要用戶瀏覽 Web 站點(diǎn)并請(qǐng)求一個(gè) ASP 頁(yè),Web 服務(wù)器就可以處理相應(yīng)的 ASP 代碼,生成 HTML 代碼,然后將它傳遞到用戶瀏覽器并顯示出網(wǎng)頁(yè)。ASP 內(nèi)含于 IIS4.0 和 5.0 之中,通過(guò) ASP 我們可以結(jié)合 HTML 網(wǎng)頁(yè)、ASP 指令和 ActiveX 元件建立動(dòng)態(tài)、交互且高效的 WEB服務(wù)器應(yīng)用程序。有了 ASP 就不必?fù)?dān)心客戶的瀏覽器是否能運(yùn)行所編寫(xiě)的代碼, 因?yàn)樗械某绦蚨紝⒃诜?wù)器端執(zhí)行, 包括所有嵌在普通HTML 中的腳本程序。當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器, 這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān), 大大提高了交互的速度。
2、SQL SQL 全稱是“結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language)” ,最早的是 IBM 的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) SYSTEM R開(kāi)發(fā)的一種查詢語(yǔ)言,它的前身是 SQUARE 語(yǔ)言。SQL 語(yǔ)言結(jié)構(gòu)簡(jiǎn)潔,功能強(qiáng)大,簡(jiǎn)單易學(xué),所以自從 IBM 公司 1981 年推出以來(lái),SQL 語(yǔ)言,得到了廣泛的應(yīng)用。如今無(wú)論是像 Oracle ,Sybase, SQL Server這些大型的數(shù)據(jù)庫(kù)管理系統(tǒng),還是像 Visual Foxporo, PowerBuilder這些微機(jī)上常用的數(shù)據(jù)庫(kù)開(kāi)發(fā)系統(tǒng),都支持 SQL 語(yǔ)言作為查詢語(yǔ)言。
3、IIS IIS 是 Internet Information Server 的縮寫(xiě),它是微軟公司主推的服務(wù)器,最新的版本是 Windows2003 里面包含的 IIS 6,IIS 與WindowNT Server 完全集成在一起,因而用戶能夠利用 Windows NTServer 和 NTFS,NT File SystemNT 的文件系統(tǒng),內(nèi)置的安全特性,建立強(qiáng)大,靈活而安全的 Internet 和 Intranet 站點(diǎn)。IIS 支持 HTTP,Hypertext Transfer Protocol,超文本傳輸協(xié)議, ,FTP,Fele Transfer Protocol,文件傳輸協(xié)議,以及 SMTP 協(xié)議,通過(guò)使用 CGI 和 ISAPI,IIS 可以得到高度的擴(kuò)展。
四、系統(tǒng)界面和代碼實(shí)現(xiàn)
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
=
“ 必須輸入帳號(hào)和密碼,”;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;
/ / 登錄成功后記下該用戶昵稱,以便后續(xù)功能使用
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
=
“ 昵稱不存在或密碼不對(duì),”;
} 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、用戶注冊(cè)界面, 代碼如下,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
=
“ 你輸入的信息不正確,請(qǐng)重新輸入,”;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
=
“ 你兩次輸入的密碼不同,請(qǐng)重新輸入,”;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
+
“ 已經(jīng)存在,請(qǐng)你選擇另外的昵稱,”;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
=
“ 恭喜你,你已注冊(cè)成功,”;}
}
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(' 用戶已取消注冊(cè),');< / 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、發(fā)帖界面, 代碼如下, 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
=
“ 你必須輸入主題和內(nèi)容,”;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(主題, 張貼者昵稱, 內(nèi)容, 張貼時(shí)間, 回復(fù)編號(hà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
=
“ 已成功發(fā)帖,”;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
=
“ 必須輸入帳號(hào)和密碼,”;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;
/ / 登錄成功后記下該用戶昵稱,以便后續(xù)功能使用
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
=
“ 昵稱不存在或密碼不對(duì),”;
} 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(' 用戶已取消注冊(cè),');< / 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、顯示發(fā)帖信息界面, 代碼如下,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
回復(fù)編號(hào)= ' ”
+
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、回復(fù)界面, 代碼如下, 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
=
“ 請(qǐng)輸入回帖內(nèi)容,”;
} 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([ 主題] , [ 張貼者昵稱] , [ 內(nèi)容] , [ 張貼時(shí)間] , [ 回復(fù)編號(hà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 控件,五、總結(jié)
上述就是我們組留言板管理系統(tǒng)的全部設(shè)計(jì)和開(kāi)發(fā)過(guò)程。通過(guò)這次實(shí)訓(xùn)設(shè)計(jì), 使我們感到高科技、新知識(shí)的力量, 讓我們知道我們還有很多知識(shí)需要學(xué)習(xí),這是我們第一次運(yùn)用 ASP.NET 做的完整的設(shè)計(jì)程序, 加之水平有限, 設(shè)計(jì)中難免有不當(dāng)之處, 還請(qǐng)老師給予批評(píng)、指正。
第四篇:ASPNET教學(xué)大綱(本站推薦)
《ASP.NET數(shù)據(jù)庫(kù)編程》教學(xué)大綱
課程編號(hào):
開(kāi)課部門(mén):
適用專業(yè):軟件專業(yè)
總學(xué)時(shí):90(其中理論45學(xué)時(shí),實(shí)踐45學(xué)時(shí))
第一部分
一、課程的性質(zhì)和任務(wù)
本課程主要以微軟的 ASP.NET 程序設(shè)計(jì)為基礎(chǔ)進(jìn)行 Web 系統(tǒng)構(gòu)建和網(wǎng)絡(luò)程序設(shè)計(jì)開(kāi)發(fā)。Active Server Pages . NET(ASP . NET)提供了迄今為止最高級(jí)的 Web 開(kāi)發(fā)平臺(tái)。是建立在.NET 框架的通用語(yǔ)言運(yùn)行環(huán)境(Common Language Runtime,CLR)上的編程框架,可用于在服務(wù)器上生成功能強(qiáng)大的 Web 應(yīng)用程序。與以前的 Web 開(kāi)發(fā)模型相比,ASP.NET 具有開(kāi)發(fā)效率高、使用簡(jiǎn)單快捷、管理更簡(jiǎn)便、全新的語(yǔ)言支持以及清晰的程序結(jié)構(gòu)等優(yōu)點(diǎn)。
大綱說(shuō)明
二、課程教學(xué)基本要求
本課程是一門(mén)高級(jí)考證課程,除讓學(xué)生掌握ASP.NET開(kāi)發(fā)之外,還必須讓他們掌握各個(gè)知識(shí)點(diǎn),熟練使用開(kāi)發(fā)環(huán)境,多做練習(xí),順利通過(guò)考證。
二、推薦教材與參考書(shū)
《ASP.NET數(shù)據(jù)庫(kù)開(kāi)發(fā)經(jīng)典案例》中國(guó)水利出版社 羅斌等編著
《ASP.NET職業(yè)技能培訓(xùn)教程》 勞動(dòng)和社會(huì)保障部全國(guó)計(jì)算機(jī)信息高新技術(shù)考試指定教材 2004年4月
《ASP.NET試題匯編》 勞動(dòng)和社會(huì)保障部全國(guó)計(jì)算機(jī)信息高新技術(shù)考試指定教材 2004年4月
《ASP.NET程序設(shè)計(jì)》
陳惠貞 陳俊榮著 中國(guó)鐵道出版社
2004年5月
四、教學(xué)方法與教學(xué)形式建議
由于本課程是一門(mén)實(shí)踐性和技能性較強(qiáng)的課程,因此教師上課最好直接在機(jī)房進(jìn)行,采取邊講邊練的形式。教學(xué)應(yīng)該力求通俗易懂、多用一些圖片等手段對(duì)重點(diǎn)、難點(diǎn)問(wèn)題進(jìn)行講解和說(shuō)明。同時(shí)通過(guò)學(xué)生實(shí)踐操作,使得學(xué)生更好的理解掌握。
第二部分 教學(xué)內(nèi)容與教學(xué)要求
第 1 章 ASP NET 基礎(chǔ)(4學(xué)時(shí))
本章主要介紹 ASP.NET 編程的網(wǎng)絡(luò)基礎(chǔ)知識(shí)和 網(wǎng)絡(luò)程序設(shè)計(jì)的相關(guān)概念,Web 和 Web 應(yīng)用程序開(kāi)發(fā)的概念及相關(guān)的基礎(chǔ)知識(shí)。
本章主要講述什么是 ASP.NET、ASP.NET 的發(fā)展、如何安裝 ASP.NET 框架、如何配置 IIS、如何安裝 Visual Studio.NET 以及如何創(chuàng)建和運(yùn)行 ASP.NET 應(yīng)用程序。創(chuàng)建虛擬目錄、其他文本編輯器的使用、Visual Studio.NET 簡(jiǎn)介、創(chuàng)建 ASP . NET Web 應(yīng)用程序、創(chuàng)建新 ASP.NET(Web 窗體)、如何添加控件、保存和瀏覽頁(yè)
第 2 章
C# 語(yǔ)言(8學(xué)時(shí))
C# 是微軟.NET 開(kāi)發(fā)平臺(tái)下的編程語(yǔ)言,是.NET 開(kāi)發(fā)平臺(tái)的核心。微軟的.NET 為開(kāi)發(fā)程序開(kāi)創(chuàng)了新的局面,使開(kāi)發(fā)網(wǎng)絡(luò)程序變得簡(jiǎn)單,該平臺(tái)也提供一種更為強(qiáng)大有效的 Web 服務(wù),通過(guò)豐富的類庫(kù)可以使程序員快速開(kāi)發(fā)所需要的程序。本章主要講解C#語(yǔ)言基礎(chǔ)及C#面向?qū)ο缶幊痰乃枷爰胺绞?/p>
第 3 章
HTML 控件(8學(xué)時(shí))
本章主要講解HTML標(biāo)記及HTML控件,掌握HTML控件的功能及格式,熟練掌握ASP.NET中常用的HTML控件。
第 4 章
Web 服務(wù)器控件(8學(xué)時(shí))
本章主要講解Web 服務(wù)器控件,掌握Web 服務(wù)器控件的功能及格式,熟練掌握ASP.NET中常用的Web 服務(wù)器控件。
第 5 章
Web 高級(jí)控件(8學(xué)時(shí))
本章主要講解Web 高級(jí)控件,熟練掌握幾個(gè)Web 高級(jí)控件,如:Calendar控件、DataGrid控件、Adrotator控件等,以及掌握Web驗(yàn)證控件等。
第 6 章
數(shù)據(jù)庫(kù)編程(12學(xué)時(shí))
本章從 Connection 對(duì)象入手,首先以 SQL Server 和 Access 為例介紹了連接數(shù)據(jù)庫(kù)的兩種不同方式,然后詳細(xì)探討了 ADO.Net 的兩種訪問(wèn)數(shù)據(jù)源的方式:使用 DataReader 對(duì)象,以及把 DataSet 對(duì)象和 DataAdapter 對(duì)象結(jié)合起來(lái)。接下來(lái),介紹了三種數(shù)據(jù)顯示控件 Repeater 控件、DataList 控件和 DataGrid 控件。
第 7 章
高級(jí)應(yīng)用(8學(xué)時(shí))
本章將介紹 ASP.NET 的高級(jí)應(yīng)用,具體包括用戶控件和自定義控件、XML 基礎(chǔ)知識(shí)、XML 在 ASP.NET 中的應(yīng)用、緩存技術(shù)、Web Service 及其相關(guān)技術(shù)。
第五篇:ASPNET開(kāi)發(fā)注意問(wèn)題總結(jié)
ASP.NTE開(kāi)發(fā)
web pages 什么是 Razor ?
Razor 是一種將基于服務(wù)器的代碼添加到網(wǎng)頁(yè)中的標(biāo)記語(yǔ)法
Razor 具有傳統(tǒng) ASP.NET 標(biāo)記的功能,但更容易使用并且更容易學(xué)習(xí)Razor 是一種服務(wù)器端標(biāo)記語(yǔ)法,與 ASP 和 PHP 很像 Razor 支持 C# 和 Visual Basic 編程語(yǔ)言
Razor不是一種編程語(yǔ)言,是一種將(C#或vb)這種語(yǔ)言添加到網(wǎng)頁(yè)端中的標(biāo)記法。
帶 Razor 語(yǔ)法的 ASP.NET 網(wǎng)頁(yè)有特殊的文件擴(kuò)展名.cshtml(Razor C#)或者.vbhtml(Razor VB)。后綴名不是.aspx
當(dāng)服務(wù)器讀取頁(yè)面時(shí),它首先運(yùn)行 Razor 代碼,然后再發(fā)送 HTML 頁(yè)面到瀏覽器。
實(shí)例:
Hello Web Pages
The time is @DateTime.Now