搜索
熱搜: 活動 交友 discuz
查看: 2217|回復: 0
打印 上一主題 下一主題

[教學] 使用ASP腳本技術

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-14 04:52:59 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
在VB腳本中,你不必定義變量或者像在其他腳本語言中明確的定義他們的類型。一個變量在你第一次使用的時候存在。但是,這個特性讓你的代碼廣泛的存在打字稿中。如果你在代碼中錯誤的定義一個變量名,那麼一個新的變量將被創建。你的腳本可能不能正常的工作,而你也有可能不能意識到這個錯誤。轉自:動態網製作指南 www.knowsky.com

在你使用變量的時候,你要養成定義他們的習慣,你所需要做的就是測試Dim variableName:
%<%Dim IntUserID%>%
IntUserID現在可以使用了。為了另外一個安全網、使用Option Explicit. 如果你打開Option Explicit、你將會在使用變量的任何時候發出錯誤的信號。這個聽起來很乏味,但是當你的腳本發生錯誤的時候,他可以給你一些線索,否則你要艱難的找出錯誤出在哪裡。
為了使用Option Explicit、將下面的內容作為你腳本的第一行內容:
<% Option Explicit %>
如果你想要看看當你忘記定義了變量的時候會發生什麼狀況,可以運行下面這點代碼:
<% Option Explicit %>
<:% strName = Request.Form("Name") %>
因為strName變量 (Dim strName) 沒有被定義,你將會看到發生下面這些錯誤:
Microsoft VBScript runtime error '800a01f4'
Variable is undefined: 'strName'
/e/oe-test.asp、line 10
使用Len
你可以使用Len(string)函數來確定文本的串的長度:
<%
IntString = "This is a Simple Sentence."
IntStringLength = Len(IntString)
Response.Write "There are " & IntStringLength & " characters (including spaces) in the sentence shown below:"
Response.Write "" & IntString & ""
%>
如果你想知道Len是如何手動工作,你可以想想你要求用戶輸入他們的五位數字代碼或者三位PIN的形式。使用Len,你效驗是否輸入了足夠的數字。
使用Trim
Trimming 串是你想要在開始就獲得的東西。很多時候,一個串在開始或者結束的時候有一個額外的空間,如果你不平衡它,你可能會擔心浪費時間到這些變量上。
<% strName = Request.Form("Name")
strCheckName = "Amy Cowen"
If strName = strCheckName THEN
Response.Write "Success! The names matched."
Else
Response.Write "Sorry. The names do not match."
End if
%>
如果strName的值是 " Amy Cowen",因為那個是我怎樣將它輸入到形式box中,然後測試兩個變量是否一樣,結果不是,因為 "Amy Cowen" 不是" Amy Cowen."
同樣地,如果你將Name輸入到URL中:
<% Response.Write " & objRec("Name") & "">Your Site" %>
如果Name中的記錄的任何部分有額外的空間,你將迅速的執行錯誤問題。
你可以修正一整個串後者在左邊或者右邊執行進程:
<% strComments = Request.Form("Comments")
strComments = Trim(strComments)
%>
假定用戶已經輸入::
" I am having problems installing the software I downloaded. "
上面的修整語句將會打散額外的空間,只留下下面的內容:
"I am having problems installing the software I downloaded."
現在,回到我們的 " Amy Cowen" 例子,如果我添加了下面的腳本,我們就會成功:
strName = Trim(strName)
在右邊修整、使用Rtrim(string). 在左邊修整、使用Ltrim(string).
轉換
當你開始使用和VB差不多的語言的時候,你會犯一些簡單的錯誤,比如比較整型的512和串512。如果你認識到前一個512和後一個512是不一樣的,你可以想想為什麼給出的腳本不能正常工作。

假想一下,你傳送一個檔案的ID到ASP腳本中,使用Request.QueryString,你會確定這個檔案的ID就是用戶想要編輯的。你需要從資料庫中為記錄輸入一些信息並將它們顯示在螢幕上。資料庫中的ID和整型差不多,特別地,如果你在那個區域使用了AutoNumber性能。你輸入的ID事實上是一個串。因此,這兩個永遠不可能匹配除非你轉換成相同的類型。
Request.QueryString:
使用FileSystemObject、你可以測試一個文本-比如、*.html、*.asp、*.inc.、*.gif-或者目錄的存在。如果檔案存在,你可以想要一連串的時間發生。如果檔案不存在,你可能需要其他的事件發生,使用下面的代碼: <%
    sPath="/profiles/" & strFileName & ".asp"
    sFile=Server.MapPath(sPath)
    Set fe=Server.CreateObject("Scripting.FileSystemObject")
    if fe.FileExists(sFile) THEN
      'do something
      Response.Write "Yeah! I found it!."
      Response.Write "You can access that file by "
      Response.Write "<A HREF=""" & sPath & """>Clicking Here</A>."
    else
      'do something
      Response.Write "Sorry. The requested file does not exist."
    end if
%>
為了簡單的測試你這個檔案,添加腳本到最上面:
    strFileName = "name"
    ' First assign the name of a file you have to this variable.
' strFileName holds just the name、not the extension or the path.
    ' Make sure you change the path for sPath to the virtual directory your file is in
    ' Run the script.
    ' Then come back and change the strFileName variable to the name of a file
    ' you do NOT have.
  ' Run the script.
改變被輸入的代碼為一個整型是非常容易的並且可以讓你以後的工作變得容易一點,樣本的格式是這樣的:
<%
dim intUserID intUserID = Request.QueryString("userID")
intUserID = CInt(intUserID)
' intUserID is now an integer.
%>
你同樣也可以註釋你的ASP代碼並使用它們。
註釋代碼
  在ASP中,一個腳本在它被發送到瀏覽器之前就被執行,所以,你不需要使用普通的HTML註釋標籤來從舊的瀏覽器隱藏腳本。事實上,你的腳本不會在HTML源中顯示,因為那個來源碼被瀏覽器交出去了,所以,舊的瀏覽器不會突然的發射任何代碼到螢幕上。
你可能想要註釋來註釋你的ASP腳本,在VB腳本中,你可以使用省略符來記錄註釋:
<%
currentdate = now
' make sure you use quotation marks around the HTML code
' the & serves to concatenate the string
Response.Write "Today is: " & currentdate & "<BR>"
%>
在ASP腳本中使用//來表示註釋
使用包含
如果以前你使用過.shtml檔案,你可能已經熟悉了包含的工作過程,如果沒有,我們將一步一步告訴你如何使用。

   一個包含是容量,它存儲在一個單獨的檔案中。在標準的HTML中,包含通常使用.inc擴展。在ASP中,你使用.asp,.txt或者.inc副檔名。接著你將調用檔案到HTML代碼中。當HTML檔案被發送,包含檔案從特殊檔案中出來並直接寫到螢幕上作為HTML的內容。因此,如果你做一個視圖來源碼,你看到的顯示頁面和你輸入的是一樣的效果。
對於一個普通的HTML來說,當為站點創建一個模版的時候,它會節省很多的時間。頭部,頁腳和導航元素是顯示在你大量頁面中的一部分。當你使用包含的時候,你就要輸入檔案一次並在需要的時候調用它。這有幾個優點:
更新內容的時候,你只需要更新一個檔案。
包含meat是從HTML頁面中隔離的,所以任何人想對內容做出修改都可以避免弄亂腳本。
你的核心HTML檔案更小和更實用。
在ASP中,包含是無價的。你可以一遍又一遍的使用腳本,甚至一些時候可以像一個連接串那麼簡單的存儲在包含中,並且,它可以在不可利用的頁面刪除。
為了使用包含檔案,你使用這些格式的任意一個:
<!-- #INCLUDE FILE="filename.inc" -->
或者
<!-- #INCLUDE VIRTUAL="/filename.inc" -->.
  檔案引用包含使用了相關的路徑。VIRTUAL引用一個絕對的路徑到相關的服務器上。如果你想移動目錄和檔案,最簡單的方法就是預設使用VIRTUAL,這樣在後來你就不會遇到一些意想不到的錯誤。另外一方面,當你測試檔案的時候,你需要利用檔案,因為他依靠你如何設置的個人服務器。
  在標準的HTML中,你一般都給你的包含檔案使用.inc後綴。在ASP中,你能使用.asp。這個可以防止你的檔案可以輕易的別他人打開並閱讀。
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

本論壇為非營利之網路平台,所有文章內容均為網友自行發表,不代表論壇立場!若涉及侵權、違法等情事,請告知版主處理。


Page Rank Check

廣告刊登  |   交換連結  |   贊助我們  |   服務條款  |   免責聲明  |   客服中心  |   中央分站

手機版|中央論壇

GMT+8, 2026-5-3 04:11 , Processed in 0.033000 second(s), 17 queries .

Powered by Discuz!

© 2005-2015 Copyrights. Set by YIDAS

快速回復 返回頂部 返回列表