使用ASP指令碼技術

來源:互聯網
上載者:User
指令碼 在VB指令碼中,你不必定義變數或者象在其他指令碼語言中明確的定義他們的類型。一個變數在你第一次使用的時候存在。但是,這個特性讓你的代碼廣泛的存在打字稿中。如果你在代碼中錯誤的定義一個變數名,那麼一個新的變數將被建立。你的指令碼可能不能正常的工作,而你也有可能不能意識到這個錯誤。

轉自:中國軟體網 www.csdn.com.cn
在你使用變數的時候,你要養成定義他們的習慣,你所需要做的就是測試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 t



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.