在经典ASP中,从一个页面提交值无法从Windows 2008 Server 64位中的另一个页面上的Request.Form获取

时间:2013-06-26 06:36:12

标签: asp-classic

在Classic ASP中,从一个页面提交值无法从Windows 2008 Server 64 Bit中的另一个页面上的Request.Form中获取,它会产生HTTP 500错误。但是,我能够在浏览器中查看正常的Response.Write引用文本。 我是ASP Classic的新手。

Index Page ::这是索引页面,其值将遍历到另一个页面。

<HTML>
<HEAD>
</HEAD>
<BODY>
<Form Method="POST" Action="ValidateUser.asp" Name="IndexPage" Id="IndexPage" target="ValidateUser">
<CENTER><H1><%Response.Write ("Welcome to PuneDiary..")%></H1>
<BR>
<BR>
<table>
<tr>
<td colspan="2" align="center">Login</td>
</tr>
<tr>
<td>User Name : </td><td><input type="text" name="txtuname" value="<%=txtuname%>"/></td>
</tr>
<tr>
<td>Password : </td><td><input type="password" name="txtpass" value="<%=txtpass%>"/></td>

</tr>
<tr>
<td></td>
<td align="Right">
<input type="Submit" Value="Submit"/>
</td>
</tr>
</table>
</CENTER>

</Form>
</BODY>
</HTML>

--------------------------------------------------------------------

Validate User Page :: This is the page which takes input from the Index Page.

ValidateUser.asp

<!DOCTYPE html>
<HTML>
<HEAD>
<script language="vbscript" runat="server"/>
</HEAD>
<BODY>
The Data to be displayed is:<BR>
<%
Call ValidateUser()

Public Sub ValidateUser()

Dim Uname,Pass

UName = Request.Form("txtuname")
Pass = Request.Form("txtpass")

Response.Write (UName & "<BR>")
Response.Write (Pass)

End Sub

%>

</BODY>
</HTML>

3 个答案:

答案 0 :(得分:1)

因为您使用的是Windows 2008服务器,所以它附带了IIS 7.0及更高版本。 默认情况下,在IIS 7.0和IIS 7.5上未安装经典ASP,您需要进行必要的设置。 请通过以下链接

http://www.iis.net/learn/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/classic-asp-not-installed-by-default-on-iis

答案 1 :(得分:0)

您在程序结束时缺少“End Sub”。像这样使用Sub毫无意义。

你可以这样做:

Dim Uname,Pass

UName = Request.Form("txtuname")
Pass = Request.Form("txtpass")

Response.Write (UName & "<BR>")
Response.Write (Pass)

答案 2 :(得分:-1)

我认为您需要丢失<script language="vbscript" runat="server"/>行。经典ASP中没有“runat”属性,这可能导致IIS尝试将页面加载为ASPX文件,其中VB脚本代码完全不兼容并抛出HTTP 500错误 - 这对于无论友好错误消息或向浏览器发送错误(或任何其他IIS设置,确实)都会收到500错误。

这至少是我的理论。尝试删除该行,看看会发生什么。