2008-08-05 33 views

Trả lời

3

Bất kỳ nội dung nào của bạn cần được viết bên ngoài VBScript.

Trong VB6, you can write a Custom Collection class, thì bạn sẽ cần phải biên dịch thành ActiveX DLL và đăng ký nó trên máy chủ web của bạn để truy cập vào nó.

12

Một cái gì đó như thế này?

dim cars(2),x 
cars(0)="Volvo" 
cars(1)="Saab" 
cars(2)="BMW" 

For Each x in cars 
    response.write(x & "<br />") 
Next 

Xem www.w3schools.com.

Nếu bạn muốn kết hợp khóa và giá trị use a dictionary object thay vì:

Dim objDictionary 
Set objDictionary = CreateObject("Scripting.Dictionary") 
objDictionary.Add "Name", "Scott" 
objDictionary.Add "Age", "20" 
if objDictionary.Exists("Name") then 
    ' Do something 
else 
    ' Do something else 
end if 
2

Gần nhất bạn sẽ nhận được được sử dụng một từ điển (như đã đề cập bởi Pacifika)

Dim objDictionary 
Set objDictionary = CreateObject("Scripting.Dictionary") 
objDictionary.CompareMode = vbTextCompare 'makes the keys case insensitive' 
objDictionary.Add "Name", "Scott" 
objDictionary.Add "Age", "20" 

Nhưng tôi vòng qua từ điển của tôi giống như bộ sưu tập

For Each Entry In objDictionary 
    Response.write objDictionary(Entry) & "<br />" 
Next 

Bạn có thể lặp lại vi Từ điển lốp theo cách này viết ra các giá trị mà sẽ trông như thế này:

Scott 
20 

Bạn cũng có thể làm được điều này

For Each Entry In objDictionary 
    Response.write Entry & ": " & objDictionary(Entry) & "<br />" 
Next 

nào sẽ tạo ra

Name: Scott 
Age: 20 
0

Như Brett nói, nó tốt hơn để sử dụng thành phần vb để tạo bộ sưu tập. Các đối tượng từ điển không được sử dụng phổ biến trong ASP trừ khi các ứng dụng dựa trên nhu cầu cụ thể.

1

Một cách tiếp cận mà tôi đã sử dụng trước đây là sử dụng thuộc tính của bộ sưu tập trả về một mảng, có thể được lặp lại.

Class MyCollection 
    Public Property Get Items 
     Items = ReturnItemsAsAnArray() 
    End Property 
    ... 
End Class 

Lặp như:

Set things = New MyCollection 
For Each thing in things.Items 
    ... 
Next 
0

Hãy rất cẩn thận về việc sử dụng VB Script điển Object!
Chỉ cần khám phá này "autovivication" điều, có nguồn gốc trên đối tượng này: http://en.wikipedia.org/wiki/Autovivification

Vì vậy, khi bạn cần phải so sánh giá trị, KHÔNG BAO GIỜ sử dụng một so sánh boolen như:
If objDic.Item("varName") <> "" Then ...
chí này tự động thêm khóa "varName" vào từ điển (nếu nó không tồn tại, có giá trị trống), để thực hiện đánh giá biểu thức boolean.

Nếu cần, hãy sử dụng thay vì If objDic.Exists("varName").

Chỉ cần dành một vài ngày gõ tường, với Mcrosoft này "tính năng" ...
vbscript-dictionary-object-creating-a-key-which-never-existed-but-present-in-another-object

Các vấn đề liên quan