有没有办法确定是否提交了带有ID /名称X的表单而没有检查Request.Form
对象?
我问的原因是因为我有一些公共代码(在每个页面加载上执行),它检查登录/注销表单是否已经提交,这与一些文件上传页面冲突(因为它需要使用{{1 - 使用Request.binaryRead
后无法使用的内容。
人们通常如何处理这个问题?
同样的问题,但没有好的答案。 Access form post Data without request.Form
答案 0 :(得分:3)
HTML表单元素的enctype属性会影响请求的Content-Type
标题,以便您确定提交的表单类型。
因此,您只需要检查HTTP_CONTENT_TYPE
服务器变量。
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
'a POST request was made
If InStr(1, Request.ServerVariables("HTTP_CONTENT_TYPE"), "multipart", vbTextCompare) = 1 Then
'Content-Type header starts with multipart
'possible file upload form (<form method=post enctype=multipart/form-data ...)
'using Request.BinaryRead is OK
Else
'ordinary HTML form
'using Request.Form is OK
End If
End If