【问题标题】:Unable to use Response.Write in VBScript无法在 VBScript 中使用 Response.Write
【发布时间】:2016-02-10 19:44:24
【问题描述】:

我正在支持一个旧的 Classic ASP 应用程序,并且我读到我们在 <% %> 中编写的代码是 VBScript 并且 <% Response.Write "VBScript" %> 工作正常,但是当我以以下格式编写时,Response.Write 不工作

<SCRIPT LANGUAGE="VBScript">
Response.Write "VBScript"
</SCRIPT>

Response.Write 也没有在按钮单击事件中执行

 <SCRIPT LANGUAGE="VBScript" >

    function B3_OnClick()

     FORM1.T3.style.backgroundColor = "white"
     FORM1.T4.style.backgroundColor = "white"
     FORM1.T3.readOnly ="false"
     FORM1.T4.readOnly ="false"
     FORM1.style.backgroundColor = "white"
     Response.Write("Hello World")

    End function 

   </SCRIPT>

谁能解释一下为什么?在那种情况下,是否有任何替代品 Response.Write ..?提前致谢

【问题讨论】:

标签: vbscript asp-classic


【解决方案1】:

这是因为您在&lt;script&gt; 标记中缺少runat="Server" 属性。

<SCRIPT LANGUAGE="VBScript" runat="Server">
Response.Write "VBScript"
</SCRIPT>

请记住,通过经典 ASP 访问的 VBScript 发生在响应发送到客户端之前。对于诸如单击客户端上的按钮以影响服务器端代码的操作,它必须往返于服务器。如果您想让服务器端代码影响客户端代码,您可以在向客户端返回服务器响应之前注入代码。

<SCRIPT LANGUAGE="VBScript" >

 function B3_OnClick()

  FORM1.T3.style.backgroundColor = "white"
  FORM1.T4.style.backgroundColor = "white"
  FORM1.T3.readOnly ="false"
  FORM1.T4.readOnly ="false"
  FORM1.style.backgroundColor = "white"
  MsgBox "<% Response.Write("Hello World") %>"

 End function 

</SCRIPT>

有用的链接

【讨论】:

  • @Lankymart....谢谢兄弟的回复。我用过&lt;SCRIPT LANGUAGE="VBScript" runat = "server"&gt;,我写了按钮点击事件。但是在点击按钮Response.Write 之后仍然没有工作..你能说我哪里出错了。
  • 我通过添加runat = "server"&gt;在按钮点击事件中删除了MsgBox并仅使用Response.Write("Hello World")
  • @METALHEAD 问题是您尝试使用与“客户端”代码相同的“服务器端”代码。就经典 ASP 页面的生命周期而言,它转到 -&gt; Request -&gt; Server processes response -&gt; Response Sent,但您想在发送 Request 之前与它进行交互,这是无法完成的。您可以做的是影响Response,因此此处的客户端代码可以将&lt;% Response.Write("Hello World") %&gt; 注入其中,当客户端脚本在返回响应并单击按钮后运行时,这实际上为您提供MsgBox "Hello World"
  • @METALHEAD 如果您仍然难以理解,请在 Internet 浏览器中查看“页面源代码”,看看 &lt;% Response.Write("Hello world") %&gt; 变成了什么,如果没有 MsgBox "...",您可能会得到一个 VBScript 语法错误。 This diagram 完美诠释。
猜你喜欢
  • 2012-12-30
  • 1970-01-01
  • 2013-05-09
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多