• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Asp動(dòng)態(tài)網(wǎng)頁(yè)參數(shù)傳遞淺析

    2014-12-31 00:00:00尹杰
    電子世界 2014年20期

    【摘要】隨著web技術(shù)的快速發(fā)展,動(dòng)態(tài)網(wǎng)頁(yè)已經(jīng)成為網(wǎng)頁(yè)的主流。在眾多的動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)技術(shù)中,asp以其簡(jiǎn)單、易學(xué)、易用而著稱。本文結(jié)合實(shí)例,對(duì)asp動(dòng)態(tài)網(wǎng)頁(yè)中兩種常見參數(shù)傳遞類型進(jìn)行分析及闡述。

    【關(guān)鍵詞】asp;動(dòng)態(tài)網(wǎng)頁(yè);表單;參數(shù);傳遞

    筆者所在教研室已經(jīng)連續(xù)若干年為高職計(jì)算機(jī)專業(yè)學(xué)生開設(shè)asp動(dòng)態(tài)網(wǎng)站設(shè)計(jì)與開發(fā)課程,取得了比較理想的效果。學(xué)生能設(shè)計(jì)編寫一些普通的動(dòng)態(tài)網(wǎng)頁(yè)文件,也能通過網(wǎng)頁(yè)設(shè)計(jì)摸板設(shè)計(jì)簡(jiǎn)易網(wǎng)站。在教學(xué)過程中,筆者發(fā)現(xiàn)參數(shù)傳遞作為一項(xiàng)重要技術(shù)在動(dòng)態(tài)網(wǎng)頁(yè)中被普遍應(yīng)用,也是教學(xué)中的重點(diǎn)及難點(diǎn)。但教材中往往只是寥寥數(shù)筆帶過,未加詳細(xì)說(shuō)明,以致大部分學(xué)生對(duì)此一知半解,無(wú)法融會(huì)貫通地運(yùn)用。鑒于此,本文就asp教學(xué)中最常見的兩種參數(shù)傳遞類型進(jìn)行詳細(xì)的介紹及分析。

    1.表單(form)提交中的參數(shù)傳遞

    表單在網(wǎng)頁(yè)中非常多見,比如我們?cè)谏暇W(wǎng)時(shí)經(jīng)常會(huì)碰到的注冊(cè)個(gè)人信息、搜索站點(diǎn)內(nèi)容、bbs中留言等,這些都可以用asp提供的表單來(lái)實(shí)現(xiàn)。表單最常用的語(yǔ)法如下:

    lt;form name=form的名稱, action=處理輸入數(shù)據(jù)的程序的url, method=輸入的數(shù)據(jù)傳送到服務(wù)器的方式,取值為post或getgt;

    form表單元素(如文本框、單選框、復(fù)選框和下拉選擇框等)

    lt;/formgt;

    當(dāng)表單填寫完畢后,單擊提交按鈕就可以將客戶端的信息送到服務(wù)器端的表單處理程序進(jìn)行處理了。教師在介紹表單提交的時(shí)候,通常先介紹post這種傳輸方式,此方式將表單內(nèi)各字段名稱與其內(nèi)容放置在html表頭(header)內(nèi)作為http消息的實(shí)體內(nèi)容一起傳送給服務(wù)器端交由action中的程序處理,該程序會(huì)通過標(biāo)準(zhǔn)輸入方式,將表單的數(shù)據(jù)讀出并加以處理,而用戶是看不到這個(gè)過程的。而第二種方式:get,通過url請(qǐng)求來(lái)傳遞用戶的數(shù)據(jù),即將表單內(nèi)各字段名稱與其內(nèi)容,以成對(duì)的字符串連接,置于action屬性所指程序的url后,再將其送到服務(wù)器。其格式為“處理程序的url?字段1=輸入數(shù)據(jù)1amp;字段2=輸入數(shù)據(jù)2amp;…”,其中?代表url地址的結(jié)尾與數(shù)據(jù)參數(shù)的開端,參數(shù)與參數(shù)之間利用一個(gè)連接符amp;來(lái)區(qū)分。字母數(shù)字字符原樣發(fā)送,但空格轉(zhuǎn)換為\"+\"號(hào),其它符號(hào)轉(zhuǎn)換為%xx,其中xx為該符號(hào)以十六進(jìn)制表示的ascll值。當(dāng)表單通過get方式傳送表單數(shù)據(jù)時(shí),提交的數(shù)據(jù)會(huì)作為參數(shù)來(lái)傳遞,用戶可以在地址欄中看到參數(shù)的具體情況。下面我們以個(gè)人信息表單提交為例進(jìn)行說(shuō)明。

    圖1所示為表單提交數(shù)據(jù)的頁(yè)面,action中的文件通過request.querystring(‘字段名’)接收表單提交的數(shù)據(jù),在地址欄中顯示參數(shù),各參數(shù)用amp;連接。

    圖1 表單提交數(shù)據(jù)的頁(yè)面

    2.列表超鏈接中頁(yè)面參數(shù)的傳遞

    動(dòng)態(tài)網(wǎng)頁(yè)中列表非常常見。列表中的每一項(xiàng)都設(shè)置成超鏈接,當(dāng)點(diǎn)擊各個(gè)超鏈接時(shí),會(huì)連接到名稱相同的一個(gè)頁(yè)面,此時(shí)地址欄中除了顯示頁(yè)面名稱外,后面還帶有傳遞的參數(shù),根據(jù)參數(shù)值的不同而顯示不同的頁(yè)面內(nèi)容。這是動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)中的常用方法,不但減少了網(wǎng)站中文件的數(shù)目,減小了文件的冗余度,而且提高了運(yùn)行速度。例如新聞標(biāo)題列表頁(yè)面中,包含新聞標(biāo)題列表超鏈接,點(diǎn)擊每個(gè)超鏈接會(huì)連接到不同的新聞內(nèi)容頁(yè)面,此時(shí)會(huì)把新聞編號(hào)作為網(wǎng)頁(yè)中傳遞的參數(shù)。再比如圖書銷售頁(yè)面,會(huì)把圖書編號(hào)作為網(wǎng)頁(yè)中傳遞的參數(shù)。在列表中選擇要購(gòu)買的圖書的超鏈接(第一本),會(huì)連接到圖書訂購(gòu)頁(yè)面,頁(yè)面中顯示第一本圖書的相關(guān)信息:作者、出版社、出版日期、頁(yè)數(shù)、單價(jià)、圖書封面等(如圖2所示)。點(diǎn)擊其它圖書的超鏈接,會(huì)連接到對(duì)應(yīng)其他圖書的相關(guān)信息頁(yè)面。一般來(lái)說(shuō),作為參數(shù)傳遞的字段在后臺(tái)的數(shù)據(jù)庫(kù)表中要保證其值的唯一性,即沒有重復(fù)值。下面就以圖書銷售頁(yè)面為例來(lái)進(jìn)行說(shuō)明。

    在圖書銷售主頁(yè)booksaling.htm頁(yè)面中點(diǎn)擊右側(cè)今日排行榜中的書名列表超鏈接,會(huì)連接到名為bookinfodetail.asp的圖書訂購(gòu)頁(yè)面,頁(yè)面地址欄中在文件名后顯示 bookid參數(shù)。此例中,bookid為后臺(tái)數(shù)據(jù)庫(kù)中圖書信息表的圖書編號(hào)字段,將作為參數(shù)在booksaling.htm頁(yè)面中通過點(diǎn)擊超鏈接傳遞到bookinfodetail.asp頁(yè)面中。

    booksaling.htm頁(yè)面主要代碼如下:

    Set cn=Server.CreateObject(\"ADODB.Connection\")

    cn.connectionstring=\"Provider=SQLOLEDB;UID=sa;pwd=123;\" amp; _

    “database=圖書銷售;Data Source= (local)”

    cn.Open " //連接數(shù)據(jù)庫(kù)

    ‘創(chuàng)建ADO對(duì)象

    Set rest=Server.CreateObject(\"ADODB.Recordset\")

    Set rs.ActiveConnection = cn

    rs.CursorType =1

    rs.LockType = 3

    querystr = “SELECT TOP 5 訂購(gòu)記錄.book_id,book_name,sum(book_sum) as sale_total “ _

    amp; “from 訂購(gòu)記錄,圖書信息 where 訂購(gòu)記錄.book_id=圖書信息.book_id “ _

    amp; “group by 訂購(gòu)記錄.book_id,book_name “ _

    amp; “order by sale_total DESC”

    rs.Open querystr " "http://查詢圖書信息的查詢語(yǔ)句,其中包含圖書編號(hào)bookid字段

    n=1

    while not rs.eof

    response.write \"lt;a target=_Blank href=BooksInfoDetail.asp?BookID=”

    response.write rs.fields(0)

    response.write “gt;”

    response.write n

    response.write “.”

    response.write rs.fields(1)

    response.write “l(fā)t;/agt;lt;brgt;”

    n=n+1

    rs.movenext

    wend

    rs.close

    cn.close

    set rs=nothing

    set cn=nothing

    bookinfodetail.asp頁(yè)面主要代碼如下:

    lt;%

    if request(“bookid”)lt;gt;”” then

    ‘建立數(shù)據(jù)庫(kù)連接

    Set cn=Server.CreateObject (\"ADODB.Connection\")

    cn.connectionstring=\"Provider=SQLOLEDB;UID=sa;pwd=123;\" amp; _

    “database=圖書銷售;Data Source=(local)”

    cn.Open

    querystr = “SELECT * FROM 圖書信息 WHERE book_id = \" amp; Request(\"bookid\")

    ‘創(chuàng)建Recordset對(duì)象

    Set rs=Server.CreateObject (\"ADODB.Recordset\")

    Set rs.ActiveConnection = cn

    rs.CursorType =1

    rs.LockType = 3

    ‘訪問數(shù)據(jù)庫(kù)獲得圖書記錄

    rs.open querystr

    %gt;

    圖2

    3.結(jié)束語(yǔ)

    雖然如今是.net技術(shù)流行的時(shí)代,但是Asp技術(shù)以其易學(xué)易用的特點(diǎn)在眾多高等院校中仍被廣泛應(yīng)用,動(dòng)態(tài)網(wǎng)頁(yè)中參數(shù)的傳遞是動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)中的重點(diǎn)和難點(diǎn),如果能很好的掌握其方法,對(duì)學(xué)生設(shè)計(jì)編寫動(dòng)態(tài)網(wǎng)站代碼將有很大的幫助。

    參考文獻(xiàn)

    [1]ASP 動(dòng)態(tài)網(wǎng)站開發(fā)實(shí)踐教程[M].清華大學(xué)出版社.

    [2]SQL SERVER數(shù)據(jù)庫(kù)開發(fā)經(jīng)典實(shí)例精解[M].機(jī)械工業(yè)出版社.

    法库县| 富民县| 拜城县| 淳安县| 会昌县| 乐业县| 疏附县| 唐山市| 老河口市| 手机| 景东| 深水埗区| 兴安盟| 兴化市| 彭水| 宕昌县| 纳雍县| 南川市| 广州市| 拉孜县| 来宾市| 曲松县| 钟山县| 阿鲁科尔沁旗| 营口市| 专栏| 贵阳市| 郓城县| 六枝特区| 灵宝市| 车致| 花垣县| 商城县| 德州市| 凤阳县| 中西区| 夏邑县| 富顺县| 昌黎县| 宜昌市| 滦平县|