在VB腳本中,你不必定義變量或者象在其他腳本語言中明確的定義他們的類型。一個變量在你第一次使用的時候存在。但是,這個特性讓你的代碼廣泛的存在打字稿中。如果你在代碼中錯誤的定義一個變量名,那么一個新的變量將被創(chuàng)建。你的腳本可能不能正常的工作,而你也有可能不能意識到這個錯誤。 轉自:動態(tài)網制作指南 www.knowsky.com 在你使用變量的時候,你要養(yǎng)成定義他們的習慣,你所需要做的就是測試Dim variableName:%<%Dim IntUserID%>% IntUserID現在可以使用了。為了另外一個安全網, 使用Option Explicit. 如果你打開Option Explicit, 你將會在使用變量的任何時候發(fā)出錯誤的信號。這個聽起來很乏味,但是當你的腳本發(fā)生錯誤的時候,他可以給你一些線索,否則你要艱難的找出錯誤出在哪里。 為了使用Option Explicit, 將下面的內容作為你腳本的第一行內容: <% Option Explicit %> 如果你想要看看當你忘記定義了變量的時候會發(fā)生什么狀況,可以運行下面這點代碼: <% Option Explicit %> <:% strName = Request.Form("Name") %> 因為strName變量 (Dim strName) 沒有被定義,你將會看到發(fā)生下面這些錯誤: 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中的記錄的任何部分有額外的空間,你將迅速的執(zhí)行錯誤問題。 你可以修正一整個串后者在左邊或者右邊執(zhí)行進程: <% 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和整型差不多,特別地,如果你在那個區(qū)域使用了AutoNumber性能。你輸入的ID事實上是一個串。因此,這兩個永遠不可能匹配除非你轉換成相同的類型。
Request.QueryString: 使用FileSystemObject, 你可以測試一個文本—比如, *.html, *.asp, *.inc., *.gif—或者目錄的存在。如果文件存在,你可以想要一連串的時間發(fā)生。如果文件不存在,你可能需要其他的事件發(fā)生,使用下面的代碼: <% 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中,一個腳本在它被發(fā)送到瀏覽器之前就被執(zhí)行,所以,你不需要使用普通的HTML注釋標簽來從舊的瀏覽器隱藏腳本。事實上,你的腳本不會在HTML源中顯示,因為那個源代碼被瀏覽器交出去了,所以,舊的瀏覽器不會突然的發(fā)射任何代碼到屏幕上。 你可能想要注釋來注釋你的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文件被發(fā)送,包含文件從特殊文件中出來并直接寫到屏幕上作為HTML的內容。因此,如果你做一個視圖源代碼,你看到的顯示頁面和你輸入的是一樣的效果。
對于一個普通的HTML來說,當為站點創(chuàng)建一個模版的時候,它會節(jié)省很多的時間。頭部,頁腳和導航元素是顯示在你大量頁面中的一部分。當你使用包含的時候,你就要輸入文件一次并在需要的時候調用它。這有幾個優(yōu)點: 更新內容的時候,你只需要更新一個文件。 包含meat是從HTML頁面中隔離的,所以任何人想對內容做出修改都可以避免弄亂腳本。 你的核心HTML文件更小和更實用。 在ASP中,包含是無價的。你可以一遍又一遍的使用腳本,甚至一些時候可以象一個連接串那么簡單的存儲在包含中,并且,它可以在不可利用的頁面刪除。 為了使用包含文件,你使用這些格式的任意一個: <!-- #INCLUDE FILE="filename.inc" --> 或者 <!-- #INCLUDE VIRTUAL="/filename.inc" -->. 文件引用包含使用了相關的路徑。VIRTUAL引用一個絕對的路徑到相關的服務器上。如果你想移動目錄和文件,最簡單的方法就是默認使用VIRTUAL,這樣在后來你就不會遇到一些意想不到的錯誤。另外一方面,當你測試文件的時候,你需要利用文件,因為他依靠你如何設置的個人服務器。 在標準的HTML中,你一般都給你的包含文件使用.inc后綴。在ASP中,你能使用.asp。這個可以防止你的文件可以輕易的別他人打開并閱讀。
|