對學習,使用ASP的做網(wǎng)站的人的一點建議
前言:作為asp的學習者,,我把我的以點心得體會寫下來,希望能對中級學習者有所幫助。 注意:本文章謝絕除藍色理想{http://www.blueidead.com},和c++使用者{http://www.cjjer.com}外的任何機構(gòu),個人轉(zhuǎn)載。 作者:老農(nóng),5do8
當您想要動態(tài)做網(wǎng)站的時候,可能最簡單,最容易的就是ASP網(wǎng)站的開發(fā)了,記住,往往那些看起來最簡單的東西問題也越多.學好asp需要掌握vb的一點基礎(chǔ),或者學過c++或者c的人都很容易理解的,如果您沒有以點編程基礎(chǔ)的話建議您學c語言。
當您知道幾大對象和FSO以后,您可以上路了,給您一個網(wǎng)站,你怎么做?我們就說說這事,首先是界面的實際問題,xhtml,這是方向,相關(guān)參照 http://www.xhtmlcms.com ,我們看看這個網(wǎng)站的首頁源碼:
<!--#include file="inc/home.asp"--> <!--#include file="inc/setup.asp"--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <HTML xmlns="http://www.w3.org/1999/xhtml"> <HEAD> <TITLE><%=xhtmlcms_hometitle%></TITLE> <META http-equiv=Content-Type content="text/html; charset=gb2312"> <META content="" name="keywords"> <META content="MSHTML 6.00.2900.2180" name=GENERATOR> <STYLE title=MXNA type=text/css> @import url("styles/main.css");</STYLE> </HEAD> <body> <%Call xhtmlcmsalltop()%> <div id="css_left"> <%Call left_userdata()%> <span class="links">特別板塊</span> <%Call favform()%> <span class="links">最近更新</span> <%Call givetopn(0,"ul","li")%> <span class="links">永久歸檔</span> <%Call givetopn(1,"ul","li")%> </div> <div class="boot_sort"> <%response.write(sortsetup)%> </div> <div id="child_left"> <div class="userform"> <%Call ShowUserLoginif()%> </div> <%Call defaultmain()%> </div> <div id="child_right"> <span class="links">置頂推薦</span> <%Call givetopn(2,"ul","li")%> <span class="links">最近回復<span> <a href="action.asp?action=updatereply">更新</a> </span> </span> <%readsessionreply%> <span class="links">友情&推薦站點</span> <%Call showmylink("dl","dd")%> </div> <SCRIPT language=javascript src="js/thissame.js" type="text/javascript"></SCRIPT></body></html>
只是一行代碼,您可能注意到了,都是表現(xiàn)div的關(guān)系,其實分了3大塊,css_top,css_left,css_main,css_right.只要控制好關(guān)系,就能表達不同的數(shù)據(jù)表現(xiàn)方式。
這是我在這里感到最重要的一點,也希望學asp的都能熟練xhtml,坦白說,您花10%的學asp的功夫就能學精xhtml.關(guān)于xhtml的其他資料,請使用gg查找,此處打住。
好了,我們決定用id和class控制顯示了,第二步呢?用gg找相似的界面網(wǎng)站抄襲?去死,別這么賤,那樣不厚道和不明智的。
一般說來,客戶都會給我們開發(fā)程序的人員幾張紙的要求,您需要的是從中提出網(wǎng)站的框架,別來框架網(wǎng)頁,這里的框架是結(jié)構(gòu)的意思,就是structures的意思,這里我創(chuàng)個詞web site structures,就是這東西,如果您能意識到這點,說明您已經(jīng)入門了.坦白的說,這需要一些經(jīng)歷的,你是不是看見預先做過的項目就是頭疼呀,是的,這是機構(gòu)不明確的原因,因為您就把一些文件的功能忘的干干凈凈了,列出網(wǎng)站的框架,在一張紙上,表明層次結(jié)構(gòu)給每個開發(fā)者,讓他們明白他們面向的是一個機器,那里是手,那里是腳,手的功能和腳的功能都是些什么,然后確定命名.這點很重要。
接下來是分開了,打碎網(wǎng)站,集體化到面.打個比方,對網(wǎng)站的會員您可以寫個class表現(xiàn),注意,這里注重的模塊化,我們把會員看作一個對象,用asp表現(xiàn)出它具有的面板,提交數(shù)據(jù),查詢數(shù)據(jù)的功能,不要在網(wǎng)站的很多地方select,累死你,以后找東西或者修改的時候就麻煩了,把數(shù)據(jù)庫操作寫成一個類,單獨模塊,盡量能拋出錯誤信息,因為一切是用asp判斷的,數(shù)據(jù)庫的這個類寫起來有點點意思,好的可以速度快,健壯行強,不過不能繼承的化太肉麻了,說也白搭....當然,您不知道rs.movenext的話就不知道我在說什么,或者您對set new沒概念的話那也就此打住,別看了,沒意義,本篇不適合您閱讀。
現(xiàn)在我們把很多都模塊劃了,對不對?接下來是一件很不爽的事情,但還是要干的,asp的vb寫的class不能繼承,因為有些弱智的關(guān)系.我們必須再把要表現(xiàn)的地方提供交叉的,就是實例化的時候注意要最小精簡化。
面上的class實現(xiàn)了,現(xiàn)在到具體的基本代碼編寫了,先說明一下,網(wǎng)站總歸有些const變量,這個變量你都放到一個文件里面,大家公用,讀取速度也快,不要在這里聲明一個const,一定要強式聲明變量,這是因為有時候變量的作用域不一樣,你使用的時候交叉一下能搞癱瘓你.這是變量的問題,還有的就是sub和function 的問題,只要明白sub和function的返回變量的方式不同就行了。 還要注意的時候不要把rs常常開著,盡量少讀,最好返回到數(shù)組變量里面,讀數(shù)組,select的時候也只查您需要的字段,不要*完事. 對用戶友好這點您也需要好好思量一下。
這些都些搞定了,請美工出手,然后模擬圖片效果...
這里我一直沒有提到的時候后臺設(shè)計,不管多么好的設(shè)計,后臺垃圾的話時間長了你的麻煩也就來臨了,總歸要搞定這些問題:數(shù)據(jù)庫處理,模板控制,IP管理,用戶管理...這些都能后臺控制,記住不要前臺和后臺公用inclde file,那樣會很浪費資源的,限制權(quán)限的都加上
<%Call seterrurl(3)%>
這個3代表級別的高低,這是應用模塊的。
后臺要與前臺完全獨立,不要潛套文件,修改表現(xiàn)層的時候那你就麻煩大了,其實我要說的是要做到后臺控制前臺的一切.你可以慢慢思量一下,給您一個例子:
<span class="links">系統(tǒng)設(shè)置/inc/</span> <span class="links">音樂管理/Music/</span> <span class="links">普通文章管理/user/</span> <span class="links">Css樣式管理/Style/</span> <span class="links">訪問記錄&IP管理</span> <span class="links">管理特區(qū)/manager.asp/</span> <span class="links">Frame框架管理</span> <span class="links">整體欄目/sort.asp/</span> <span class="links">站內(nèi)下載/download/</span> <span class="links">類模板管理/Class/</span> <span class="links">數(shù)據(jù)庫管理/Data/</span> <span class="links">用戶管理/User/</span> <span class="links">友情鏈接</span>
緩存盡量后臺控制,不要用時間控制,除非特殊情況,把控制的鑰匙放在一個緩存數(shù)組里面,不過,有時候會莫名的情況,這是后話。
按照這個思路來,不會有問題的.這是我的體會,下面對一些人的后臺區(qū)論壇發(fā)帖回帖提點建議。
您感到asp真的很難很難,一個for循環(huán)都不能理解的話,我告訴你,你不需要知道了,因為你不是那塊料.也就免發(fā)帖問了,讓人懷疑你的能力問題,別那么厚顏無恥的說"我是新手",好像新手都是弱智的似的,發(fā)帖前先gg找找答案,找不到再問,好像任何一下子在能gg到的問題都是多大挑戰(zhàn)性的問題似的,so不要"頂"了,沒意思?4分走人,那好,我封你的ID,.后臺區(qū)不要那么沒意義的回復,注意的是,每帖必須回的能解決問題或者說有意義,別tmd皮笑肉不笑,我也封您的ID,不看班規(guī)全死。
經(jīng)典論壇討論原帖討論地址: http://www.95time.cn/bbs/NewsDetail.asp?id=2358561
出處:藍色理想
責任編輯:moby
◎進入論壇網(wǎng)絡編程版塊參加討論
|