【发布时间】:2016-12-13 14:54:30
【问题描述】:
我刚刚开发了一个平台,可以在使用如下所示的表单提交 ID 号后立即打印单个 ASP 文档:
<form action="http://localhost/teg/f1.asp" method="POST">
<input type="number" name="number" placeholder="Please Enter ID" />
<button type="submit">Print</button>
</form>
在这种情况下,它正在打印一个名为 f1.asp 的文档。但是,我也有 f2.asp,所以我没有为两个单独的字段编写两次表单,而是决定编写一次表单并包含一个下拉列表,让用户选择要打印的内容,但为此我想我需要另一个页面我称之为重定向。表单变化如下:
<form action="http://localhost/teg/redirect.asp" method="POST" id="new">
<input type="number" name="number" placeholder="Please Enter ID" />
<button type="submit">Print</button>
</form>
<label> Type </label>
<select name="list" form="new">
<option value="1">f1</option>
<option value="2">f2</option>
</select>
重定向的 ASP 页面看起来:
<html>
<body>
<%
Dim list
list = request.form("list")
If list=1 Then response.redirect("f1.asp") Else If list=2 Then response.redirect("f2.asp") End If
%>
最后,当使用下拉列表单击打印时,它会完美重定向,但 ID 号字段中的“数字”值未达到用户选择的文档类型,因此无法正确显示文档。相反,会出现以下数据库引擎错误:“80040e10”。任何帮助,将不胜感激。
【问题讨论】:
-
您在重定向时丢失了
number表单发布参数。在重定向页面中,将Request.Form("number")存储在一个变量中,然后将该变量传递给重定向Response.Redirect "fi.asp?" & yourvar。另一种可行的方法是Server.Transfer,它不会进行硬重定向,并允许您使用表单发布参数。
标签: forms redirect iis vbscript asp-classic