我认为这是不可能的,但只是问一下,在调用它之后,经典ASP中有没有办法设置变量值? 一个更明确的例子:
<img src="<%=imgSrc%>" alt="An image" />
<% imgSrc="animage.jpg" %>
或另一个,但只是解释:
<img src="<%=imgSrc%>" alt="An image" />
<% ASP BEFORE RENDER
imgSrc="animage.jpg"
%>
任何提示都会很好;)
答案 0 :(得分:1)
我认为没有办法做到这一点。然而,这是一个非常糟糕的做法。您应该始终在顶部声明变量并在使用之前为它们赋值。
答案 1 :(得分:1)
ASP引擎以线性方式处理ASP文件。
在上面的例子中
<img src="<%=imgSrc%>" alt="An Image" />`
已经写入缓冲区,因此之后发生的任何事情都不会影响该行的结果。
唯一的例外是Sub Procedure (虽然Sub Procedure中定义的值不一定返回到正在处理的行)和可以在任何地方定义的函数调用(顶部底部等)及其内容将在将行写入缓冲区之前处理,如
<img src="<%= GetImage(...) %>" alt="An Image" />`
会起作用。
要对此进行扩展,您应该使用Function
来保证正在处理的行中包含的值Sub
无法执行此操作,因为它不会返回任何内容(从技术上讲,您可以使用Sub
从ByRef
返回值,但即使这样也不适用于此方案,因为在Sub
值之前必须首先调用ByRef
访问)
使用上面的GetImage()
示例
'This function in this form isn't useful at all but it
'demonstrates the technique.
Function GetImage()
Dim imgSrc : imgSrc = "animage.jpg"
GetImage = imgSrc
End Function