在渲染文档的结果之前设置一个变量值
Set a variable value before the result of the rendered document
我觉得不可能,不过想问一下,经典ASP有没有办法在调用后设置变量值?
一个更清楚的例子:
<img src="<%=imgSrc%>" alt="An image" />
<% imgSrc="animage.jpg" %>
或另一个但只是为了解释:
<img src="<%=imgSrc%>" alt="An image" />
<% ASP BEFORE RENDER
imgSrc="animage.jpg"
%>
任何提示都会很好;)
我认为没有办法做到这一点。然而,这是一个非常糟糕的做法。你应该总是在顶部声明你的变量并在你使用之前给它们赋值。
ASP 引擎以线性方式处理 ASP 文件。
在上面的例子中
<img src="<%=imgSrc%>" alt="An Image" />`
已经写入缓冲区,因此之后发生的任何事情都不会影响该行的结果。
唯一的例外是 Sub Procedure (尽管 Sub Procedure 中定义的值不一定 returned 到正在处理的行) 和函数调用可以是定义在任何地方(顶部底部等),它们的内容将在行写入缓冲区之前被处理,所以像
<img src="<%= GetImage(...) %>" alt="An Image" />`
会起作用。
要对此进行扩展,您应该使用 Function
来保证该值包含在正在处理的行中 Sub
不能这样做,因为它没有 return 任何东西(从技术上讲,您可以使用 ByRef
来自 Sub
的 return 值,但即使这样也不适用于这种情况,因为必须先调用 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
我觉得不可能,不过想问一下,经典ASP有没有办法在调用后设置变量值? 一个更清楚的例子:
<img src="<%=imgSrc%>" alt="An image" />
<% imgSrc="animage.jpg" %>
或另一个但只是为了解释:
<img src="<%=imgSrc%>" alt="An image" />
<% ASP BEFORE RENDER
imgSrc="animage.jpg"
%>
任何提示都会很好;)
我认为没有办法做到这一点。然而,这是一个非常糟糕的做法。你应该总是在顶部声明你的变量并在你使用之前给它们赋值。
ASP 引擎以线性方式处理 ASP 文件。
在上面的例子中
<img src="<%=imgSrc%>" alt="An Image" />`
已经写入缓冲区,因此之后发生的任何事情都不会影响该行的结果。
唯一的例外是 Sub Procedure (尽管 Sub Procedure 中定义的值不一定 returned 到正在处理的行) 和函数调用可以是定义在任何地方(顶部底部等),它们的内容将在行写入缓冲区之前被处理,所以像
<img src="<%= GetImage(...) %>" alt="An Image" />`
会起作用。
要对此进行扩展,您应该使用 Function
来保证该值包含在正在处理的行中 Sub
不能这样做,因为它没有 return 任何东西(从技术上讲,您可以使用 ByRef
来自 Sub
的 return 值,但即使这样也不适用于这种情况,因为必须先调用 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