0

将表单值从标准 html 表单传递到 asp 页面是可行的,但尝试手动传递它们却不行。这是 ASP 经典的一些奇怪之处吗?为了概述这种情况,我有以下标准表格:

<form name="login" id="login" method="post" action="login_process.asp">
<input name="userName" type="text" size="30" maxlength="100" />
<input name="password" type="password" size="30" maxlength="100" />
<input name="Submit" type="submit" class="btn" value="Login" />
</form>

在接收端(login_process.asp),我有这个:

if Request.Form("Username") <> "" and Request.Form("Password") <> "" then
' do stuff here

现在奇怪的是,这种形式已经存在多年并且确实有效。但是,如果我尝试手动将值传递给 login_process.asp,则这些值永远不会成功:

www.zzz.com/login_process.asp?username=some_user&password=some_password

我向 login_process.asp 添加了一些检查,以查看是否可以在处理这些变量之前从提交中提取变量:

myUsername = request.form("Username")
myPassword = request.form("Password")
response.write "user=" & myUsername
response.write "pass=" & myPassword

我得到的只是

user=pass=

所以很明显数据没有通过。但为什么?我在看什么?传递表单数据是基本的东西,那么有什么用呢?

任何见解表示赞赏!

4

2 回答 2

3

如果您在查询字符串上传递它们,您将不再使用该表单,因此Request.Form将不起作用。您需要改用Request.QueryString

更多信息在这里

于 2012-11-08T19:20:04.097 回答
1

我们可以使用“Request.Form”将表单字段数据获取到其他页面。为此,请尝试以下代码:

<form name="login" id="login" method="post" action="login_process.asp">
<input name="userName" type="text" size="30" maxlength="100" />
<input name="password" type="password" size="30" maxlength="100" />
<input name="Submit" type="submit" class="btn" value="Login" />
</form>

我们在 login.process.asp 页面中获取的表单数据是这样的:

<%  Response.Write(Request.Form("userName"))   %>

它将显示用户名值

于 2016-12-14T07:27:47.727 回答