あなたは正しかった、それは使用するのは難しくなかった。通常の配列でクリエイティブになるだけの問題でした。これが私がしたことです:
<%
Function Img(aParamArray)
Dim oImageTag,aImageTagKeys, val, param, key, output
Set oImageTag = CreateObject("Scripting.Dictionary")
For Each param In aParamArray
val = Split(param, "::")
If Ubound(val) = 1 Then
oImageTag(val(0)) = val(1)
End If
Next
aImageTagKeys = oImageTag.Keys
Img = "<img "
For Each key in aImageTagKeys
If oImageTag(key) <> "" Then
Img = Img & key & "=""" & oImageTag(key) & """ "
End If
Next
If iDocType = 0 Or iDocType = 1 Or iDocType = 6 Then
Img = Img & ">"
Else
Img = Img & "/>"
End If
End Function
%>
--またはデフォルトを設定して、サポートされている属性のみを出力できます--
<%
Function Img(aParamArray)
Dim oImageTag,aImageTagKeys, val, param, key, output
Set oImageTag = CreateObject("Scripting.Dictionary")
oImageTag("src") = ""
oImageTag("alt") = ""
oImageTag("class") = ""
oImageTag("id") = ""
oImageTag("width") = ""
oImageTag("height") = ""
oImageTag("usemap") = ""
oImageTag("title") = ""
oImageTag("style") = ""
oImageTag("dir") = ""
oImageTag("lang") = ""
oImageTag("ismap") = ""
oImageTag("onabort") = ""
oImageTag("onclick") = ""
oImageTag("ondblclick") = ""
oImageTag("onmousedown") = ""
oImageTag("onmouseout") = ""
oImageTag("onmouseover") = ""
oImageTag("onmouseup") = ""
oImageTag("onkeydown") = ""
oImageTag("onkeypress") = ""
oImageTag("onkeyup") = ""
For Each param In aParamArray
val = Split(param, "::")
If Ubound(val) = 1 Then
If oImageTag.Exists(val(0)) Then
oImageTag(val(0)) = val(1)
End If
End If
Next
aImageTagKeys = oImageTag.Keys
Img = "<img "
For Each key in aImageTagKeys
If oImageTag(key) <> "" Then
Img = Img & key & "=""" & oImageTag(key) & """ "
End If
Next
If iDocType = 0 Or iDocType = 1 Or iDocType = 6 Then
Img = Img & ">"
Else
Img = Img & "/>"
End If
End Function
%>
そしてそれをこのように呼んでください:
<% =Img(Array(_
"src::http://www.domain.com/img.jpg",_
"alt::Some alt text",_
"width::30",_
"height::30",_
"class::noborder"_
)) %>
これで、Doctypeに関係なく画像タグの出力を簡単に制御でき、SQLサーバーからの画像の出力は、通常のインデックス付き配列から疑似連想配列を作成できるようになったため、はるかに簡単になります。
これを理解するためのポイントは、画像タグを作成することではなく、実際には、SQLサーバーからのいくつかの要因とデータに基づいて、データとフォームのビュー全体を構築することでしたが、理解するために単純化する必要がありました。今では完全に機能しています。
あなたの提案をありがとう!