字典类型在VBScript中不匹配

时间:2009-10-20 21:12:41

标签: vbscript dictionary type-mismatch

我收到的错误是:类型不匹配:'stylesheets'

样式表定义为:

sub stylesheets(collection)
    for each key in collection.Keys
        response.write(stylesheet(key, collection.Item(key)))
    next
end sub

' returns a link tag for each object in the collection
function stylesheet(asset, media_type)
    if (media_type="") then
        media_type="screen"
    end if
    return "<link href=""" & asset_url(asset) & """ type=""text/css"" media=""" _
        &  media_type & """ />"
end function

它被称为:

<% stylesheets(site_stylesheets) %>

其中site_stylesheets已定义为:

' stylesheets is a collection of the stylesheets to be included on all pages
Set site_stylesheets = CreateObject("Scripting.Dictionary")
site_stylesheets.Add "css/endoworks.css", "screen"

自从我完成任何VBScript以来已经有很长一段时间了。我真的很感激任何帮助。

2 个答案:

答案 0 :(得分:0)

尝试在调用样式表时删除括号。有关详细信息,请参阅this问题。在调用只有一个参数的sub时,我认为你不能使用括号。

试试这个

<% stylesheets site_stylesheets %>

或者

<% call stylesheets(site_stylesheets) %>

答案 1 :(得分:0)

我最终只是将stylesheets的循环逻辑放入header子[例程]。现在工作正常。

@ Tester101:我尝试了你的建议,但他们没有解决问题。

编辑:我实际上发现我在stylesheets子例程中有一个header参数,这是stylesheets子被调用的地方。所以它试图用site_stylesheets的参数执行nothing。不敢相信我错过了。