我在 ASP 经典中设置了一个表单,它会在提交后重新加载(动作自我)
但是这次它显示的是以前提交的结果,那么如何检查是否已经进行了 POST 提交呢?
就像在 PHP 中一样:
if($_POST['submit']) {
show results...
}
我在 ASP 经典中设置了一个表单,它会在提交后重新加载(动作自我)
但是这次它显示的是以前提交的结果,那么如何检查是否已经进行了 POST 提交呢?
就像在 PHP 中一样:
if($_POST['submit']) {
show results...
}
你有几个选择:
方法1 - 检查请求方法:
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
'Show Results...
End If
方法 2 - 在表单中添加一个带有值的隐藏字段,然后检查该值是否已发布:
If Request.form("HiddenValue") = "1" Then
'Show Results...
End If
方法 3 - 检查 request.form 集合是否包含项目:
If Request.Form.Count > 0 Then
'Show Results...
End If
方法 4 - 发布到查询字符串(即action
to<form>
集合?post=yes
)
If Request.QueryString("post") = "yes" Then
'Show Results...
End If
选哪一个?
我的首选选项是方法 4——因为它在地址栏中很容易看到正在发生的事情——如果出于某种原因我想避免在 url 中显示这种详细程度,我倾向于使用选项 3,因为它很容易实现,不需要对源表单进行任何更改并且是可靠的。至于其他两种方法: