The Physical path to this virtual website is: <%=Server.MapPath("")%>
2.我如何知道使用者所用的瀏覽器? 答:使用the Request object方法 strBrowser=Request.ServerVariables("HTTP_USER_AGENT") If Instr(strBrowser,"MSIE") <> 0 Then Response.redirect("ForMSIEOnly.htm") Else Response.redirect("ForAll.htm") End If 3.如何計(jì)算每天的平均反復(fù)訪(fǎng)問(wèn)人數(shù) 答:解決方法 <% startdate=DateDiff("d",Now,"01/01/1990") if strdate<0 then startdate=startdate*-1 avgvpd=Int((usercnt)/startdate) %> 顯示結(jié)果 <% response.write(avgvpd) %> that is it.this page have been viewed since November 10,1998 4.如何顯示隨機(jī)圖象 <% dim p,ppic,dpic ppic=12 randomize p=Int((ppic*rnd)+1) dpic="graphix/randompics/"&p&".gif" %> 顯示
">
6.如何確定對(duì)方的IP地址
答:<%=Request.serverVariables("REMOTE_ADDR)%>
7.如何鏈結(jié)到一副圖片上
答:<% @Languages=vbs cript %>
<% response.expires=0
strimagename="graphix/errors/erroriamge.gif"
response.redirect(strimagename)
%>
8.強(qiáng)迫輸入密碼對(duì)話(huà)框
答:把這句話(huà)放載頁(yè)面的開(kāi)頭
<% response.status="401 not Authorized"
response.end
%>
9.如何傳遞變量從一頁(yè)到另一頁(yè)
答:用 HIDDEN 類(lèi)型來(lái)傳遞變量
<% form method="post" action="mynextpage.asp">
<% for each item in request.form %>
<% next %>
10.為何我在 asp 程序內(nèi)使用 msgbox,程序出錯(cuò)說(shuō)沒(méi)有權(quán)限
答:由于 asp 是服務(wù)器運(yùn)行的,如果可以在服務(wù)器顯示一個(gè)對(duì)話(huà)框,那么你只好等有人按了確定之后,你的程序才能繼續(xù)執(zhí)行,而一般服務(wù)器不會(huì)有人守著,所以微軟不q不禁止這個(gè)函數(shù),并胡亂告訴你 ( 呵呵) 沒(méi)有權(quán)限。但是ASP和客戶(hù)端腳本結(jié)合倒可以顯示一個(gè)對(duì)話(huà)框,as follows:
<% yourVar="測(cè)試對(duì)話(huà)框"%>
<% s cript language=javas cript>
alert("<%=yourvar%>")
11.有沒(méi)有辦法保護(hù)自己的源代碼,不給人看到
答q可以去下載一個(gè)微軟的Windows s cript Encoder,它可以對(duì)asp的腳本和客戶(hù)端javas cript/vbs cript腳本進(jìn)行加密。。。不過(guò)客戶(hù)端加密后,只有ie5才能執(zhí)行,服務(wù)器端腳本加密后,只有服務(wù)器上安裝有s cript engine 5(裝一個(gè)ie5就有了)才能執(zhí)行。
12.怎樣才能將 query string 從一個(gè) asp 文件傳送到另一個(gè)?
答:前者文件加入下句: Response.Redirect("second.asp?" & Request.ServerVariables("QUERY_STRING"))
13.global.asa文件總是不起作用?
答:只有web目錄設(shè)置為web application, global.asa才有效,并且一個(gè)web application的根r錄下global.asa才有效。IIS4可以使用Internet Service Manager設(shè)置application setting 怎樣才能使得htm文件如同asp文件一樣可以執(zhí)行腳本代碼?
14.怎樣才能使得htm文件如同asp文件一樣可以執(zhí)行腳本代碼?
答:Internet Sevices Manager -> 選擇default web site ->右r鍵->菜單屬性-〉主目錄-> 應(yīng)用程序設(shè)置(Application Setting)-> 點(diǎn)擊按鈕 "配置"-> app mapping ->點(diǎn)擊按鈕"Add" -> executable browse選擇 WINNTSYSTEM32INETSRVASP.DLL EXTENSION 輸入 htm method exclusions 輸入PUT.delete 全部確定即可。但是值得注意的是這樣對(duì)htm也要由asp.dll處理,效率將降低。
15.如何注冊(cè)組件
答:有兩種方法。
第一種方法:手工注冊(cè) DLL 這種方法從Iis 3.0一直使用到Iis 4.0和其它的Web Server。它需要你在命令行方式下來(lái)執(zhí)行,進(jìn)入到包含有DLL的目錄,并輸入:regsvr32 component_name.dll 例如 c: emp
egsvr32 AspEmail.dll 它會(huì)把dll的特定信息注冊(cè)入服務(wù)器中的注冊(cè)表中。然后這個(gè)組件就可以在服務(wù)器上使用了,但是這個(gè)方法有一個(gè)缺陷。當(dāng)使用這種方法注冊(cè)完畢組件后,該組件必須要相應(yīng)的設(shè)置NT的匿名帳號(hào)有權(quán)限執(zhí)行這個(gè)dll。特別是一些組件需要讀取注冊(cè)表,所以,這個(gè)注冊(cè)件的方法僅僅是使用在服務(wù)器上沒(méi)有MTS的情況下,要取消注冊(cè)這個(gè)dll,使用:regsvr32 /u aspobject.dll example c: emp
egsvr32 /u aneiodbc.dll
第二種方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但是它提供了巨大的改進(jìn)。MTS允許你指定只有有權(quán)的用戶(hù)才能夠訪(fǎng)問(wèn)組件,大大提高了網(wǎng)站服務(wù)器上的安全性設(shè)置。在MTS上注冊(cè)組件的步驟如下:
1) 打開(kāi)IIS管理控制臺(tái)。
2) 展開(kāi)transaction server,右鍵單擊"pkgs installed"然后選擇"new package"。
3) 單擊"create an empty package"。
4) 給該包命名。
5) 指定administrator帳號(hào)或則使用"interactive"(如果服務(wù)器經(jīng)常是使用administrator 登陸的話(huà))。
6) 現(xiàn)在使用右鍵單擊你剛建立的那個(gè)包下面展開(kāi)后的"components"。選擇 "new then component"。
7) 選擇 "install new component" 。
8) 找到你的.dll文件然后選擇next到完成。
要?jiǎng)h除這個(gè)對(duì)象,只要選擇它的圖標(biāo),然后選擇delete。
附注:特別要注意第二種方法,它是用來(lái)調(diào)試自己編寫(xiě)組件的最好方法,而不必每次都需要重新啟動(dòng)機(jī)器了。
16. ASP與Access數(shù)據(jù)庫(kù)連接:
<%@ language=VBs cript%>
<%
dim conn,mdbfile
mdbfile=server.mappath("數(shù)據(jù)庫(kù)名稱(chēng).mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=數(shù)據(jù)庫(kù)密碼;dbq="&mdbfile
%>
17. ASP與SQL數(shù)據(jù)庫(kù)連接:
<%@ language=VBs cript%>
<%
dim conn
set conn=server.createobject("ADODB.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服務(wù)器名稱(chēng)或IP地址;UID=sa;PWD=數(shù)據(jù)庫(kù)密碼;DATABASE=數(shù)據(jù)庫(kù)名稱(chēng)
%>
建立記錄集對(duì)象:
set rs=server.createobject("adodb.recordset")
rs.open SQL語(yǔ)句,conn,3,2