|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。编程|初级 (1) 遍历Contents纠合的代码
为了遍历Contents纠合,可以使用一个For Each ... Next布局。纠合中的每项可所以一个复杂的Variant类型变量、一个Variant数组或一个对象的援用。由于需求对每品种型的值停止分歧的处置,所以就不能不对每个停止反省来辨别其类型。
在VBScript中可以使用VarType函数完成这个任务。这里利用IsObject和IsArray函数取代:
For Each objItem in Application.Contents
If IsObject(Application.Contents(objItem)) Then
Response.Write “Object reference: ‘” & objItem & “’
”
ElseIf IsArray(Application.Contents(objItem)) Then
Response.Write “Array: ‘” & objItem & “’ contents are:
”
VarArray = Application.Contents(objItem)
‘Note: the following only works with a one-dimensional array
For intLoop = 0 To UBound(varArray)
Response.Write “ Index(“ & intLoop & “) = “ & _
VarArray(intLoop) & “
”
Next
Else
Response.Write “Variable: ‘” & objItem & “’ = “ _
& Application.Contents(objItem) & “
”
End If
Next
注重法式若何从Application对象检索该数组。将其分派给一个部分(Variant)变量,利用上面的语句:
varArray = Application.Contents(objItem)
利用UBound函数可以查找出数组的巨细(元素的数目),这个值可以作为遍历的终止前提:
For intLoop = 0 UBound(varArray)
这个例子是一维数组,并将只显示如许的一个数组的内容。可依据需求编纂代码以处置多维数组,例如:
For intLoop = 0 To UBound(varArray)
IntNumberOfDimensions = UBound(varArray, 1)
For intDimension = 0 To intNumberOfDimensions
Response.Write “ Index(“ & intLoop & “) = “ _
& varArray(intLoop, intDimension)
Next
Response.Write “
”
Next
(2) 遍历StaticObjects纠合的代码
StaticObjects纠合包括了一切在global.asa中利用<OBJECT>元素声明的对象援用。由于每一个条目都是一个对象变量,可用复杂些的代码对这个数组停止遍历。咱们将输入对象的名字(在ID属性华夏有的界说):
For Each objItem in Application.StaticObjects
If IsObject(Application.StaticObjects(objItem)) Then
Response.Write “<OBJECT> element: ID=’” & objItem & “’
”
End If
Next
1. 增添值到Contents纠合
增添值到Contents纠合的办法,与在global.asa网页的剧本代码中利用过的办法不异。示例网页答应把一个新的Variant值增添到Application对象中,并已有建议的名字和值(可依据需求停止编纂),如图3-15所示:
图3-15 增添值到Contents纠合的屏幕
单击按钮,从头载入这个网页,把值增添到Application.Contents纠合中,而且在列表中显示,如图3-16所示:
图3-16 显示Contents纠合内容的屏幕
增添新的Contents条目标代码
一切的按钮和其他HTML控件放置在示例网页中的一个窗体上。ACTION设置了以后网页的途径,提交该窗体时,从头装入。METHOD属性为“POST”,所以控件中的值呈现在Request.Form纠合中。在之前的章节中采取过这两种手艺:
<FORM ACTION=”<% = Request.ServerVariables(“SCRIPT_NAME”) %>” METHOD=”POST”>
该窗体上的按钮都是通俗的HTML INPUT控件,具有不异的题目(三个空格)但名字分歧。例如,创立第一个按钮(把值增添到Application对象中)的代码是:
<INPUT TYPE=”SUBMIT” NAME=”cmdAdd” VALUE=” ”>
从头载入该网页时,反省Request.Form纠合,剖断单击的是哪一个SUBMIT按钮,并停止响应的处置。假如是增添一个值到Application对象的按钮(该按钮在HTML的<INPUT>元素中被定名为cmdAdd),利用上面的法式段:
If Len(Request.Form("cmdAdd")) Then
strVarName = Request.Form("txtVarName")
strVarValue = Request.Form("txtVarValue")
Application.Lock
Application("strVarName") = strVarValue
Application.Unlock
End If
注重法式若何利用Application.Lock和Application.Unlock办法,确保这些值不会因两个用户并发地会见而发生凌乱。假如只是对一个特定的值停止设置,普通不成能产生这类情形。但一向利用Lock和Unlock办法是明智的。
2. Contents纠合中删除值
在例子网页的底部有两个按钮,如图3-17所示:
图3-17 显示在网页底部的两个按钮
这两个按钮答应从Application.Contents纠合中删除值。第一个按钮从纠合中删除单个的指定值,下拉列表框显示的是Contents纠合值的名字的列表(记住,不克不及从StaticObjects纠合中删除值,由于它们是静态的)。
经由过程遍历Contents纠合(如后面咱们所做的)履行ASP网页时,创立该列表。然而,咱们仅搜集每项的名字并把它们放到<SELECT>列表元素内的<OPTION>元素中:
…
<SELECT NAME=”lstRemove” SIZE=”1”>
<%
For Each objItem in Application.Contents
Response.Write “<OPTION>” & objItem & “</OPTION>”
Next
&>
</SELECT>
…
该ASP代码履行今后,在阅读器中看到的了局是:
<SELECT NAME=”lstRemove” SIZE=”1”>
<OPTION>ADOConnection</OPTION>
<OPTION>Variant_Array</OPTION>
<OPTION>Start_Time</OPTION>
<OPTIO</p>[1] [2] [3] 下一页
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的 |
|