ASP 基礎一

ASP是什麼?

•ASP代表Active Server Pages(動態服務器頁面)

•需在IIS中運行的程序

我自己的理解就是UI和邏輯代碼同在一個頁面中,而缺點就是不易維護。code-Behind是asp.net中的術語(代碼後置),它的出現解決了這一問題。

ASP基本語法:

ASP的腳本代碼都是用<% %>包裹起來的。

response.write輸出語句

1 <!DOCTYPE html>
2 <html>
3 <body>
4 <%
5 response.write("我愛你")
6 %>
7 </body>
8 </html>

也可以簡寫成<%

="我愛你"

%>

ASP主要使用兩種腳本語言,分別是VBScript和JavaScript,其中頁面默認是VB,如果需要指定,在頁面頂部插入<%@ language="JavaScript" %>來說明。

VB對於大小寫不敏感,js則敏感,需要注意。同時我自己覺得vb語法比較隨意,先學的是ASP.NET,C#的語法就較爲規範一點。最起碼寫完給個;號以表示結束,ASP就不用分號結尾。

ASP變量的聲明和使用:

 1 <!DOCTYPE html>
 2 <html>
 3 <body>
 4 
 5 <%
 6 Dim UserName
 7 name="阿三"
 8 response.write("你可以叫我: " & UserName)
 9 %>
10 
11 </body>
12 </html>
View Code

聲明他用的Dim,我覺得和JQury中那個var類似。都不表示具體的類型,無類型。至於&和C#中的“+”的作用相同,拼接字符串。 

ASP根據時間來判定輸出什麼內容(VB腳本--IF語句):

 1 <!DOCTYPE html>
 2 <html>
 3 <body>
 4 <%
 5 dim h
 6 h=hour(now())
 7 
 8 response.write("<p>" & now())
 9 response.write("</p>")
10 If h<12 then
11    response.write("Good Morning!")
12 else
13    response.write("Good day!")
14 end if
15 %>
16 </body>
17 </html>
View Code

因爲我現在沒有可測試的工具,所以有的想法只能先記錄一下。

其實我有點搞不懂爲什麼要這樣單行輸出,P標記寫在一起應該沒啥問題。

if 條件 then 

爲True執行 某代碼塊

else

執行某代碼

end if    以它說明整個if語句結束。

ASP數組使用For循環遍歷取值:

 1 <!DOCTYPE html>
 2 <html>
 3 <body>
 4 
 5 <%
 6 Dim Name(5),i
 7 Name(0) = "A"
 8 Name(1) = "B"
 9 Name(2) = "C"
10 Name(3) = "D"
11 
12 For i = 0 to 3
13       response.write(Name(i) & "<br>")
14 Next
15 %>
16 
17 </body>
18 </html>
View Code

看着這個to就有點懵,後來通過栗子發現,它表示從0到3,且等於3。與C#中有點差別,吶你看

For (i=0;i<4;i++)

{}

ASP子程序

當用VBScript編寫的ASP文件調用VBScript或JavaScript子程序時,可以使用call關鍵字調用,後面跟子程序名稱。

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <%
 5 sub vbproc(num1,num2)
 6 response.write(num1*num2)
 7 end sub
 8 %>
 9 </head>
10 <body>
11 
12 <p>Result: <%call vbproc(3,4)%></p>
13 
14 </body>
15 </html>
View Code

如果子程序需要參數,分兩種情況:

使用call,參數必須在括號裏面,即參數必須用括號括起來。

不使用call,參數則不需要用括號括起來。<%vbproc 3,4 %>;

如果子程序不需要參數參數,括號可選,括不括看你個人愛好。

當用JavaScript編寫的ASP文件調用VBScript或JavaScript子程序時,必須在子程序後面使用括號

子程序就好比如JQury中的方法,funcation zcx(){},我第一次聽到這個名詞的時候有點糊。

ASP表單

request.QueryString收集的是method=“get”的表單中的值。

 1 <!DOCTYPE html>
 2 <html>
 3 <body>
 4 <form action="demo_reqquery.asp" method="get">
 5 Your name: <input type="text" name="fname" size="20" />
 6 <input type="submit" value="Submit" />
 7 </form>
 8 <%
 9 dim fname
10 fname=Request.QueryString("fname")
11 If fname<>"" Then
12       Response.Write("Hello " & fname & "!<br>")
13       Response.Write("How are you today?")
14 End If
15 %>
16 </body>
17 </html>
View Code

該方法從表單傳出的信息對所有的用戶是可見的(如輸出的值會顯示在網頁的地址欄上),對發送的信息的數量也有限制。

request.Form收集使用method=“post”的表單中的值,信息不可見,且數量沒有限制。

 1 <!DOCTYPE html>
 2 <html>
 3 <body>
 4 <form action="demo_simpleform.asp" method="post">
 5 Your name: <input type="text" name="fname" size="20" />
 6 <input type="submit" value="Submit" />
 7 </form>
 8 <%
 9 dim fname
10 fname=Request.Form("fname")
11 If fname<>"" Then
12       Response.Write("Hello " & fname & "!<br>")
13       Response.Write("How are you today?")
14 End If
15 %>
16 </body>
17 </html>
View Code

對於表單中取到值,用 & &包裹起來,類似於在ADO.net寫數據的增刪改中,數據庫中的每一項用“+ +”包裹起來一樣;而前面也看到了,在輸出變量時,只用&開頭,這裏有點小疑問。感覺都是包裹一個變量數據,都統一用&&包裹或&開頭行不行?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章