Измените цикл for на это: -
For Each key in colPayments
Set objPayment = colPayments(key)
Response.Write objPayment.Name
Next
Есть несколько вещей, на которые нужно обратить внимание.
Используйте Set для назначения объекта . В VBScript необходимо использовать ключевое слово Set
, как указано выше, при назначении объекта переменной.
Словарь на самом деле не является коллекцией Похоже, вы пытались использовать словарь в качестве порядкового набора, это не так. Словарь сценариев является строго ассоциативным массивом и не имеет надежного порядка. В отличие от .NET Dictionary For Each
для объекта возвращает перечисление только используемых ключей, а не пары KeyValue.
Избегайте использования скобок при использовании оператора процедуры Обратите внимание, что при вызове Response.Write отсутствуют пропущенные паратезы. Хотя вы часто будете видеть, что они успешно используются, когда есть только один параметр (его интерпретируется как выражение), это будет синтаксической ошибкой, когда потребуется 2 или более параметров.