我在ASP classic中设置了一个表单,它会在提交后重新加载(action self)
但是这次它显示了之前提交的结果,那么我该如何检查是否已提交POST?
与PHP一样:
if($_POST['submit']) {
show results...
}
答案 0 :(得分:26)
您有几种选择:
方法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
设置为<form>
至?post=yes
)
If Request.QueryString("post") = "yes" Then
'Show Results...
End If
选择哪一个?
我首选的选项是方法4 - 因为它在地址栏中很容易看到发生了什么 - 如果由于某种原因我想避免在网址中显示这种级别的细节,我倾向于使用选项3,因为它很容易实施,不需要对源表格和很可靠。 至于其他两种方法: