Active Server Pages(ASP),也称为Classic ASP或ASP Classic,是Microsoft第一个用于动态生成的Web页面的服务器端脚本引擎。 ASP.NET的引入导致使用术语Classic ASP作为原始技术。
我刚刚开发了一个平台,可以在使用如下所示的表格提交ID号后立即打印单个ASP文档: ... 我刚刚开发了一个平台,可以在使用如下所示的表格提交 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 号字段中的“number”值未达到用户选择的文档类型,因此文档无法正确显示。相反,会出现以下数据库引擎错误:“80040e10”。任何帮助,将不胜感激。 请务必记住,HTTP 是无状态的,只有通过 Cookie 等技术,经典 ASP 才能跨 HTTP 请求将值存储在 Session 对象中。 目前,由于 Response.Redirect(),发送新请求时,Request.Form("number") 的值会丢失。有几种方法可以解决这个问题,我在这里重点介绍三种。 1.通过重定向将值作为查询字符串传递 最简单的方法是传递使重定向的页面正常工作所需的值。 <% 'Assign our form values to local variables. Dim list: list = Request.Form("list") & "" Dim id: id = Request.Form("number") & "" 'Check the value contain data and they are valid numeric values. If Len(list) > 0 And IsNumeric(list) Then list = CLng(list) Else list = 0 If Len(id) > 0 And IsNumeric(id) Then id = CLng(id) Else id = 0 '***** Only process if we have valid values to build the redirect. ***** Dim url If list > 0 And id > 0 Then 'We have valid values build our URL that we will use in 'the redirect call. url = "f" & list & ".asp?id=" & id Else 'Something not right with request go back to the form page. 'Setting this will send the page back to the form page when the 'redirect is called. url = "formpage.asp" End If 'Make the redirect request. Call Response.Redirect(url) %> 然后在重定向页面中使用 id 调用 Request.QueryString("id") 查询字符串值。 2.使用Server.Transfer()方法 在某些情况下你可以使用这种方法来简化代码。简而言之,它不是将其重定向,而是将请求的页面“缝合”到当前请求的底部,从而允许表单参数仍然可以访问,因为从技术上来说,就互联网浏览器而言,它仍然是相同的请求。 <% Dim list: list = Request.Form("list") & "" Dim id: id = Request.Form("number") & "" If Len(list) > 0 And IsNumeric(list) Then list = CLng(list) Else list = 0 If Len(id) > 0 And IsNumeric(id) Then id = CLng(id) Else id = 0 If list > 0 And id > 0 Then Call Server.Transfer("f" & list & ".asp") Else 'Handle invalid request here End If %> 您将能够在传输的页面中使用 Request 对象中的任何值,例如 .Form 和 QueryString,而不会产生错误,因为就服务器而言,它们仍然是同一页面。 3.将值存储在 Session 对象中 如果您在 IIS 中将 Enable Session State 设置为 True,您可以在 Session 对象内跨请求存储值(经典 ASP 使用会话 Cookie 来维护服务器内存中的会话状态)。 <% Dim list: list = Request.Form("list") & "" Dim id: id = Request.Form("number") & "" If Len(list) > 0 And IsNumeric(list) Then list = CLng(list) Else list = 0 If Len(id) > 0 And IsNumeric(id) Then id = CLng(id) Else id = 0 If list > 0 Then 'Store the value we want to persist in the Session. Session("PrintId") = id Call Response.Redirect("f" & list & ".asp") Else 'Handle invalid request here. End If %> 然后要将值返回到重定向页面内,请使用 varname = Session("PrintId")。 虽然已经很晚了,但稍微简单一点。无需进行重定向,只需使用操作 URL 和所有数据填充新表单,然后在验证后使用 JS 提交触发提交。缺点是 JS 可能会被破坏,但随后会做一个 catch,然后,好吧,替代选项。之所以迟回复,是因为我一直在寻找类似的东西,直到我意识到重定向是不必要的。 您的表格关闭得太早了: <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> <---- THIS <label> Type </label> <select name="list" form="new"> <option value="1">f1</option> <option value="2">f2</option> </select> </form> <---- SHOULD BE HERE 其他答案都可以;然而,这回答了你的问题 为什么“你的”代码不起作用。
我正在尝试找出位于硬盘目录中的tables.DBF的名称。 随后,我需要知道它们的列的名称,但甚至连表的名称我也不知道...
我正在使用经典的asp。我必须要桌子。第一个表称为“sorutip”,包含每个组的图块。名为“Questions41”的第二个表有问题。我...
如何在经典 ASP/VB 中运行多个插入查询
我在我网站的 web.config 文件中定义了这个重写规则: 我在我网站的 web.config 文件中定义了此重写规则: <rule name="RedirectWwwToNonWww" enabled="true" stopProcessing="false"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" /> </conditions> <action type="Redirect" url="https://{C:2}{REQUEST_URI}" redirectType="Permanent" /> </rule> 规则将重定向如下: 来自:www.example.com/test 致:example.com/test 该规则工作正常,但是,我想更改规则,以便所有子域重定向到主站点 - 例如 来自:this.example.com/test 致:example.com/test 或者 来自:something.example.com/test 致:example.com/test 我正在努力研究如何更改正则表达式来实现这一目标。 我尝试过这种模式: <add input="{HTTP_HOST}" pattern="^([^.]+)\.(.*)$" /> 其工作原理如下: 来自:something.example.com/test.html 致:example.com/test.html 但是,当没有子域时,它不会执行我的要求,因为我最终得到: 来自:example.com/test.html 致:com/test.html 如何修改规则,以便子域重定向到主站点,但如果没有子域,则规则不会触发? 我提供一个思路,就是可以用多个条件来匹配,然后设置为logicalGrouping="MatchAny",只要满足其中一个条件,就会进行重定向。您可以使用此示例作为参考: <rule name="RedirectWwwToNonWww" enabled="true" stopProcessing="false"> <match url="(.*)" /> <conditions logicalGrouping="MatchAny" trackAllCaptures="false"> <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" /> <add input="{HTTP_HOST}" pattern="^([^.]+)\.(.*)$" /> </conditions> <action type="Redirect" url="https://{C:2}{REQUEST_URI}" redirectType="Permanent" /> </rule>
如何解决“vbScript网站中回收IIS应用程序池错误”?
这个应用每天至少需要回收3次,目前这是一个很大的问题。这不是一个大规模的逻辑应用,主要用于上传和下载
我在数据库字段中有一个标签列表。有些或大多数出现多次。 我想列出不同的标签名称,并将每个不同标签出现的次数放在括号中。这是我的代码...
IIS 中使用本地主机 401.3 错误的 ASP 页面没有权限
我刚刚安装了 IIS,这样我就可以在浏览器中查看 asp 文件,但是当我将地址放入浏览器中时:http://localhost/index.asp 我收到错误。 该错误表明: HTTP 错误 401....
我正在使用asp classic和sql server,我想更改我的sql语句以防止注入 我的sql语句 这是我的sql语句,运行正常 %>
我必须在我的经典 ASP 应用程序中设置 requireSSL 标志。 是否可以使用 HTTP 响应标头配置在 IIS 中设置它? 我已经在 IIS 中配置了“X-Frame-Options”,所以我...
我正在尝试通过 AJAX 将 JSON 发布到经典 ASP 页面,该页面检索值、检查数据库并将 JSON 返回到原始页面。 我可以通过 AJAX 发布 JSON。我可以从 ASP 返回 JSON。 ...
您好,我希望每天上午 9 点运行以下代码。基本上,代码将读取 txt 文件并从每一行中读取。它将处理并插入到 Mysql 表中。我该如何实现这个目标?我...
经典的asp application_OnEnd 和session_OnEnd 事件不起作用
我仍然需要使用经典的 asp,并且我遇到了现有应用程序的 Application_OnEnd 和 Session_OnEnd 事件问题 - 即它们不起作用。 OnStart 事件正常工作。我会...
服务器发送事件 (SSE) 在 IIS 上的经典 Asp 中不起作用
我想知道是否有人遇到过同样的问题:服务器发送的 eventd (SSE) 无法像以前那样在 IIS(版本 10)上的 Classic Asp 中工作。现代浏览器似乎已经出现了这个问题
我使用以下代码来获取今天的日期。我如何更改此代码以获得昨天的日期? <% ' NewDate ddate = DatePart("d",Date) mdate = DatePart("m",Date) ydate = DatePart("yyyy"...
我的客户将 MP4 上传到 Web 根目录后面的文件夹以供内部使用。他们希望直接从网页为某些用户播放这些内容,而不是下载。这可能吗? 我可以...
如何解决“请求的 URL 被拒绝。请咨询您的管理员。”错误?
我有一个 ASP 应用程序。单击特定链接时,会执行一些 VB 脚本并显示 ASP 页面,但我得到的屏幕显示: 信息不可用。 要求...
如何输入在MySql数据库中运行的查询结果,并将结果上传到同一数据库的不同表中
我查看了类似问题的建议,但没有任何效果对我有用,或者与我遇到的问题相同。 我正在 MySql 数据库中运行此查询。我需要一种转换 q 的方法...
使用经典的ASP和MySql数据库。 我想解析一个包含标签列表的字段,以逗号分隔,并将这些结果输入到另一个表中。 所以如果我有茶、咖啡、面包、我...
我有一个用经典 ASP 编写的旧 Web 应用程序,它曾经在 IIS6 服务器上运行没有问题,然后长话短说,我将它移到运行 SunOne ASP 的 Linux 服务器上,它也运行得很好(经过